From b071f9dc7dbe386717d62165cc910359d73f58db Mon Sep 17 00:00:00 2001 From: 1technophile <1technophile@users.noreply.github.com> Date: Mon, 15 Jan 2024 19:33:32 +0000 Subject: [PATCH] deploy: fc146e11a85504c8e9afe5b014c7d6a3cfa6eeff --- 404.html | 10 +++++----- api/api.html | 12 ++++++------ assets/js/15.7e2b8af1.js | 1 - assets/js/15.9f2cf9cd.js | 1 + assets/js/{17.32259d08.js => 17.3a365a19.js} | 2 +- assets/js/{26.442e33f2.js => 26.2b43099c.js} | 2 +- assets/js/{app.ad443221.js => app.a75a7a56.js} | 4 ++-- commonConfig.js | 4 ++-- index.html | 16 ++++++++-------- usecases/iot.html | 12 ++++++------ usecases/research.html | 12 ++++++------ usecases/smarthome.html | 12 ++++++------ 12 files changed, 44 insertions(+), 44 deletions(-) delete mode 100644 assets/js/15.7e2b8af1.js create mode 100644 assets/js/15.9f2cf9cd.js rename assets/js/{17.32259d08.js => 17.3a365a19.js} (99%) rename assets/js/{26.442e33f2.js => 26.2b43099c.js} (98%) rename assets/js/{app.ad443221.js => app.a75a7a56.js} (90%) diff --git a/404.html b/404.html index d3c960b..3160456 100644 --- a/404.html +++ b/404.html @@ -3,27 +3,27 @@ - Theengs + Manufacturer agnostic BLE sensors applications and MQTT gateways - + - + -

404

How did we get here?
+ - + diff --git a/api/api.html b/api/api.html index 34dc0c8..f644272 100644 --- a/api/api.html +++ b/api/api.html @@ -3,25 +3,25 @@ - Theengs IoT Data Decoding API | Theengs + Theengs IoT Data Decoding API | Manufacturer agnostic BLE sensors applications and MQTT gateways - + - + -
+ diff --git a/assets/js/15.7e2b8af1.js b/assets/js/15.7e2b8af1.js deleted file mode 100644 index ba48711..0000000 --- a/assets/js/15.7e2b8af1.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{296:function(t,e,r){t.exports=r.p+"assets/img/Theengs-ecosystem.de33b4b6.jpg"},297:function(t,e,r){t.exports=r.p+"assets/img/Theengs-Bridge-ble-gateway.f8771854.png"},298:function(t,e,r){t.exports=r.p+"assets/img/Theengs-Plug-ble-gateway.a2b2bf27.png"},299:function(t,e,r){t.exports=r.p+"assets/img/Theengs-app-home-reduced-1280.7d1c466e.png"},300:function(t,e,r){t.exports=r.p+"assets/img/Theengs-openmqttgateway.78699123.jpg"},301:function(t,e,r){t.exports=r.p+"assets/img/Theengs-gateway-raspberry-pi.9459beaf.jpg"},316:function(t,e,r){"use strict";r.r(e);var a=r(14),n=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey},scopedSlots:t._u([{key:"footer",fn:function(){return[e("p",[e("a",{attrs:{href:"https://github.com/theengs/home/blob/main/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[t._v("GPLv3 Licensed"),e("OutboundLink")],1),t._v(" | Copyright © 2023-present Theengs")])]},proxy:!0}])},[e("p",[e("img",{attrs:{src:r(296),alt:"Theengs ecosystem"}})]),t._v(" "),e("h1",{attrs:{id:"applications-and-mqtt-gateways"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#applications-and-mqtt-gateways"}},[t._v("#")]),t._v(" Applications and MQTT gateways")]),t._v(" "),e("p",[e("strong",[t._v("Theengs")]),t._v(" is available with the hardware below. They can work independently or together, following your requirements.")]),t._v(" "),e("h2",{attrs:{id:"features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[t._v("#")]),t._v(" Features")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Product")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Platform")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Retrieve and decode broadcasts")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("MQTT integration")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Home Assistant convention discovery")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Presence detection")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Display")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Can connect with raw data")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs Bridge"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("ESP32")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs Plug"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("ESP32")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"https://app.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs App"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("iOS/Android")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption",target:"_blank",rel:"noopener noreferrer"}},[t._v("OpenMQTTGateway"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("ESP32")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"https://gateway.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs Gateway"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("PC/Mac/Servers")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")])])])]),t._v(" "),e("h2",{attrs:{id:"on-our-bridge"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#on-our-bridge"}},[t._v("#")]),t._v(" On our bridge")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs bridge"),e("OutboundLink")],1),t._v(" is a powerfull BLE to MQTT gateway for over "),e("a",{attrs:{href:"https://decoder.theengs.io/devices/devices.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("80 sensors"),e("OutboundLink")],1),t._v(". Equipped with an Ethernet port, and external antenna, ensuring an enhanced range for your BLE sensors. It supports also WiFi connectivity.")]),t._v(" "),e("p",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna"}},[e("img",{attrs:{src:r(297)}})])]),t._v(" "),e("h2",{attrs:{id:"on-our-smartplug"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#on-our-smartplug"}},[t._v("#")]),t._v(" On our smartplug")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs plug"),e("OutboundLink")],1),t._v(" is a versatile device that can serve as a BLE to MQTT gateway for over "),e("a",{attrs:{href:"https://decoder.theengs.io/devices/devices.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("80 sensors"),e("OutboundLink")],1),t._v(", as well as a smart plug with power consumption measurement and presence detection features.")]),t._v(" "),e("p",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption"}},[e("img",{attrs:{src:r(298)}})])]),t._v(" "),e("h2",{attrs:{id:"on-a-smartphone-or-tablet"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#on-a-smartphone-or-tablet"}},[t._v("#")]),t._v(" On a smartphone or tablet")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://app.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Mobile/Tablet Android and iOS/iPadOS application"),e("OutboundLink")],1),t._v(" enables to read the sensors data directly.")]),t._v(" "),e("p",[e("img",{attrs:{src:r(299),alt:"Theengs app"}})]),t._v(" "),e("p",[t._v("It can act also as a BLEtoMQTT gateway.")]),t._v(" "),e("h2",{attrs:{id:"on-a-microcontroller"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#on-a-microcontroller"}},[t._v("#")]),t._v(" On a microcontroller")]),t._v(" "),e("p",[t._v("Theengs is used by "),e("a",{attrs:{href:"https://docs.openmqttgateway.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("OpenMQTTGateway"),e("OutboundLink")],1),t._v(", it can be installed "),e("a",{attrs:{href:"https://docs.openmqttgateway.com/upload/web-install.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("easily"),e("OutboundLink")],1),t._v(" on an ESP32 to act as a Bluetooth to MQTT gateway.")]),t._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:r(300)}})]),t._v(" "),e("h2",{attrs:{id:"on-a-computer"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#on-a-computer"}},[t._v("#")]),t._v(" On a computer")]),t._v(" "),e("p",[t._v("Alternatively Theengs can be used on computers and servers as a "),e("a",{attrs:{href:"https://gateway.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("python BLEtoMQTT gateway"),e("OutboundLink")],1),t._v(" for Raspberry Pi, Unix, or Windows,")]),t._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:r(301)}})]),t._v(" "),e("h2",{attrs:{id:"integrations"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#integrations"}},[t._v("#")]),t._v(" Integrations")]),t._v(" "),e("p",[t._v("Theengs products can be integrated with smart home and IoT controllers supporting MQTT:")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://www.openhab.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("OpenHAB"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.home-assistant.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Home Assistant"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.domoticz.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("Domoticz"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.jeedom.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("Jeedom"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://nodered.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("Node Red"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://fhem.de",target:"_blank",rel:"noopener noreferrer"}},[t._v("FHEM"),e("OutboundLink")],1)])]),t._v(" "),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),e("p",[t._v("All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.")])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/15.9f2cf9cd.js b/assets/js/15.9f2cf9cd.js new file mode 100644 index 0000000..43d2ddf --- /dev/null +++ b/assets/js/15.9f2cf9cd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{296:function(t,e,r){t.exports=r.p+"assets/img/Theengs-ecosystem.de33b4b6.jpg"},297:function(t,e,r){t.exports=r.p+"assets/img/Theengs-Bridge-ble-gateway.f8771854.png"},298:function(t,e,r){t.exports=r.p+"assets/img/Theengs-Plug-ble-gateway.a2b2bf27.png"},299:function(t,e,r){t.exports=r.p+"assets/img/Theengs-app-home-reduced-1280.7d1c466e.png"},300:function(t,e,r){t.exports=r.p+"assets/img/Theengs-openmqttgateway.78699123.jpg"},301:function(t,e,r){t.exports=r.p+"assets/img/Theengs-gateway-raspberry-pi.9459beaf.jpg"},316:function(t,e,r){"use strict";r.r(e);var a=r(14),n=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey},scopedSlots:t._u([{key:"footer",fn:function(){return[e("p",[e("a",{attrs:{href:"https://github.com/theengs/home/blob/main/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[t._v("GPLv3 Licensed"),e("OutboundLink")],1),t._v(" | Copyright © 2024 Theengs - A Thing Story LLC")])]},proxy:!0}])},[e("p",[e("img",{attrs:{src:r(296),alt:"Theengs ecosystem"}})]),t._v(" "),e("h1",{attrs:{id:"applications-and-mqtt-gateways"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#applications-and-mqtt-gateways"}},[t._v("#")]),t._v(" Applications and MQTT gateways")]),t._v(" "),e("p",[e("strong",[t._v("Theengs")]),t._v(" is available with the hardware below. They can work independently or together, following your requirements.")]),t._v(" "),e("h2",{attrs:{id:"features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[t._v("#")]),t._v(" Features")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Product")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Platform")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Retrieve and decode broadcasts")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("MQTT integration")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Home Assistant convention discovery")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Presence detection")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Display")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Can connect with raw data")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs Bridge"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("ESP32")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs Plug"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("ESP32")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"https://app.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs App"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("iOS/Android")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption",target:"_blank",rel:"noopener noreferrer"}},[t._v("OpenMQTTGateway"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("ESP32")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"https://gateway.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs Gateway"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("PC/Mac/Servers")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("☑️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("-")])])])]),t._v(" "),e("h2",{attrs:{id:"on-our-bridge"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#on-our-bridge"}},[t._v("#")]),t._v(" On our bridge")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs bridge"),e("OutboundLink")],1),t._v(" is a powerfull BLE to MQTT gateway for over "),e("a",{attrs:{href:"https://decoder.theengs.io/devices/devices.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("80 sensors"),e("OutboundLink")],1),t._v(". Equipped with an Ethernet port, and external antenna, ensuring an enhanced range for your BLE sensors. It supports also WiFi connectivity.")]),t._v(" "),e("p",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna"}},[e("img",{attrs:{src:r(297)}})])]),t._v(" "),e("h2",{attrs:{id:"on-our-smartplug"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#on-our-smartplug"}},[t._v("#")]),t._v(" On our smartplug")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption",target:"_blank",rel:"noopener noreferrer"}},[t._v("Theengs plug"),e("OutboundLink")],1),t._v(" is a versatile device that can serve as a BLE to MQTT gateway for over "),e("a",{attrs:{href:"https://decoder.theengs.io/devices/devices.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("80 sensors"),e("OutboundLink")],1),t._v(", as well as a smart plug with power consumption measurement and presence detection features.")]),t._v(" "),e("p",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption"}},[e("img",{attrs:{src:r(298)}})])]),t._v(" "),e("h2",{attrs:{id:"on-a-smartphone-or-tablet"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#on-a-smartphone-or-tablet"}},[t._v("#")]),t._v(" On a smartphone or tablet")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://app.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Mobile/Tablet Android and iOS/iPadOS application"),e("OutboundLink")],1),t._v(" enables to read the sensors data directly.")]),t._v(" "),e("p",[e("img",{attrs:{src:r(299),alt:"Theengs app"}})]),t._v(" "),e("p",[t._v("It can act also as a BLEtoMQTT gateway.")]),t._v(" "),e("h2",{attrs:{id:"on-a-microcontroller"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#on-a-microcontroller"}},[t._v("#")]),t._v(" On a microcontroller")]),t._v(" "),e("p",[t._v("Theengs is used by "),e("a",{attrs:{href:"https://docs.openmqttgateway.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("OpenMQTTGateway"),e("OutboundLink")],1),t._v(", it can be installed "),e("a",{attrs:{href:"https://docs.openmqttgateway.com/upload/web-install.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("easily"),e("OutboundLink")],1),t._v(" on an ESP32 to act as a Bluetooth to MQTT gateway.")]),t._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:r(300)}})]),t._v(" "),e("h2",{attrs:{id:"on-a-computer"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#on-a-computer"}},[t._v("#")]),t._v(" On a computer")]),t._v(" "),e("p",[t._v("Alternatively Theengs can be used on computers and servers as a "),e("a",{attrs:{href:"https://gateway.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("python BLEtoMQTT gateway"),e("OutboundLink")],1),t._v(" for Raspberry Pi, Unix, or Windows,")]),t._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:r(301)}})]),t._v(" "),e("h2",{attrs:{id:"integrations"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#integrations"}},[t._v("#")]),t._v(" Integrations")]),t._v(" "),e("p",[t._v("Theengs products can be integrated with smart home and IoT controllers supporting MQTT:")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://www.openhab.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("OpenHAB"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.home-assistant.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Home Assistant"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.domoticz.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("Domoticz"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.jeedom.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("Jeedom"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://nodered.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("Node Red"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://fhem.de",target:"_blank",rel:"noopener noreferrer"}},[t._v("FHEM"),e("OutboundLink")],1)])]),t._v(" "),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),e("p",[t._v("All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.")])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/17.32259d08.js b/assets/js/17.3a365a19.js similarity index 99% rename from assets/js/17.32259d08.js rename to assets/js/17.3a365a19.js index c00ab2b..efa66ee 100644 --- a/assets/js/17.32259d08.js +++ b/assets/js/17.3a365a19.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{302:function(A,e,t){A.exports=t.p+"assets/img/OpenMQTTgateway_OpenHAB_Control.60df234a.png"},303:function(A,e,t){A.exports=t.p+"assets/img/OpenMQTTGateway-home-assistant-chart.580d5e05.png"},304:function(A,e,t){A.exports=t.p+"assets/media/theengs-temperature-too-high.618fbb7c.mp4"},305:function(A,e,t){A.exports=t.p+"assets/img/OpenMQTTGateway-BLE-tracker-Home-Assistant.4246afef.png"},306:function(A,e){A.exports="data:image/png;base64,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"},320:function(A,e,t){"use strict";t.r(e);var o=t(14),r=Object(o.a)({},(function(){var A=this,e=A._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":A.$parent.slotKey}},[e("p",[A._v("Theengs is a powerful technology platform that allows seamless integration between various smart home devices, providing enhanced functionality and convenience. Here, we'll explore how Theengs can be used to improve energy efficiency, enhance security, automate routine tasks, and more.")]),A._v(" "),e("p",[A._v("Whether you're a homeowner or a tech enthusiast, this page is the perfect resource to explore the exciting world of Theengs and its applications for smart homes.")]),A._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[A._v("What you need")]),A._v(" "),e("p",[A._v("A "),e("a",{attrs:{href:"https://decoder.theengs.io/devices/devices.html",target:"_blank",rel:"noopener noreferrer"}},[A._v("BLE sensor"),e("OutboundLink")],1),A._v(" depending on your use cases + "),e("a",{attrs:{href:"https://docs.openmqttgateway.com",target:"_blank",rel:"noopener noreferrer"}},[A._v("OpenMQTTGateway"),e("OutboundLink")],1),A._v(" OR "),e("a",{attrs:{href:"https://gateway.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[A._v("Theengs Gateway"),e("OutboundLink")],1),A._v(", an MQTT broker, and a Controller.")]),A._v(" "),e("p",[A._v("If you want to access real-time data from the sensors without a controller and a broker, you can also use the "),e("a",{attrs:{href:"https://app.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[A._v("Theengs App"),e("OutboundLink")],1)])]),A._v(" "),e("h3",{attrs:{id:"monitor-your-favorite-plant-with-a-mi-flora-ble-sensor-to-know-when-it-needs-water"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#monitor-your-favorite-plant-with-a-mi-flora-ble-sensor-to-know-when-it-needs-water"}},[A._v("#")]),A._v(" Monitor your favorite plant with a Mi Flora BLE sensor to know when it needs water")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:t(302)}})]),A._v(" "),e("h3",{attrs:{id:"trigger-a-fan-depending-on-the-temperature-and-humidity-thanks-to-a-cgd1-ble-sensor"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#trigger-a-fan-depending-on-the-temperature-and-humidity-thanks-to-a-cgd1-ble-sensor"}},[A._v("#")]),A._v(" Trigger a fan depending on the temperature and humidity thanks to a CGD1 BLE sensor")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:t(303)}})]),A._v(" "),e("h3",{attrs:{id:"follow-your-meat-temperature-when-cooking-with-an-inkbird-ibbq"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#follow-your-meat-temperature-when-cooking-with-an-inkbird-ibbq"}},[A._v("#")]),A._v(" Follow your meat temperature when cooking with an Inkbird IBBQ")]),A._v(" "),e("h3",{attrs:{id:"alert-yourself-by-a-controller-notification-if-the-temperature-of-a-fridge-or-freezer-is-too-high"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#alert-yourself-by-a-controller-notification-if-the-temperature-of-a-fridge-or-freezer-is-too-high"}},[A._v("#")]),A._v(" Alert yourself by a controller notification if the temperature of a fridge or freezer is too high")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("video",{attrs:{width:"560",height:"240",controls:""}},[e("source",{attrs:{src:t(304),type:"video/mp4"}}),A._v("\n Your browser does not support the video tag.\n")])]),A._v(" "),e("h3",{attrs:{id:"detect-a-beacon-smartwatch-to-trigger-a-special-scenario-when-you-come-home"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#detect-a-beacon-smartwatch-to-trigger-a-special-scenario-when-you-come-home"}},[A._v("#")]),A._v(" Detect a beacon/smartwatch to trigger a special scenario when you come home")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:t(305)}})]),A._v(" "),e("h3",{attrs:{id:"lose-weight-with-the-help-of-a-complete-log-system"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#lose-weight-with-the-help-of-a-complete-log-system"}},[A._v("#")]),A._v(" Lose weight with the help of a complete log system")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/noUROhtf0E0",frameborder:"0",allow:"autoplay; encrypted-media",allowfullscreen:""}})]),A._v(" "),e("h3",{attrs:{id:"detect-opened-doors-or-windows-and-alert-yourself-when-leaving"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#detect-opened-doors-or-windows-and-alert-yourself-when-leaving"}},[A._v("#")]),A._v(" Detect opened doors or windows and alert yourself when leaving")]),A._v(" "),e("h3",{attrs:{id:"monitor-vehicle-tire-pressure"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#monitor-vehicle-tire-pressure"}},[A._v("#")]),A._v(" Monitor vehicle tire pressure")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:t(306)}})])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{302:function(A,e,t){A.exports=t.p+"assets/img/OpenMQTTgateway_OpenHAB_Control.60df234a.png"},303:function(A,e,t){A.exports=t.p+"assets/img/OpenMQTTGateway-home-assistant-chart.580d5e05.png"},304:function(A,e,t){A.exports=t.p+"assets/media/theengs-temperature-too-high.618fbb7c.mp4"},305:function(A,e,t){A.exports=t.p+"assets/img/OpenMQTTGateway-BLE-tracker-Home-Assistant.4246afef.png"},306:function(A,e){A.exports="data:image/png;base64,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"},319:function(A,e,t){"use strict";t.r(e);var o=t(14),r=Object(o.a)({},(function(){var A=this,e=A._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":A.$parent.slotKey}},[e("p",[A._v("Theengs is a powerful technology platform that allows seamless integration between various smart home devices, providing enhanced functionality and convenience. Here, we'll explore how Theengs can be used to improve energy efficiency, enhance security, automate routine tasks, and more.")]),A._v(" "),e("p",[A._v("Whether you're a homeowner or a tech enthusiast, this page is the perfect resource to explore the exciting world of Theengs and its applications for smart homes.")]),A._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[A._v("What you need")]),A._v(" "),e("p",[A._v("A "),e("a",{attrs:{href:"https://decoder.theengs.io/devices/devices.html",target:"_blank",rel:"noopener noreferrer"}},[A._v("BLE sensor"),e("OutboundLink")],1),A._v(" depending on your use cases + "),e("a",{attrs:{href:"https://docs.openmqttgateway.com",target:"_blank",rel:"noopener noreferrer"}},[A._v("OpenMQTTGateway"),e("OutboundLink")],1),A._v(" OR "),e("a",{attrs:{href:"https://gateway.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[A._v("Theengs Gateway"),e("OutboundLink")],1),A._v(", an MQTT broker, and a Controller.")]),A._v(" "),e("p",[A._v("If you want to access real-time data from the sensors without a controller and a broker, you can also use the "),e("a",{attrs:{href:"https://app.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[A._v("Theengs App"),e("OutboundLink")],1)])]),A._v(" "),e("h3",{attrs:{id:"monitor-your-favorite-plant-with-a-mi-flora-ble-sensor-to-know-when-it-needs-water"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#monitor-your-favorite-plant-with-a-mi-flora-ble-sensor-to-know-when-it-needs-water"}},[A._v("#")]),A._v(" Monitor your favorite plant with a Mi Flora BLE sensor to know when it needs water")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:t(302)}})]),A._v(" "),e("h3",{attrs:{id:"trigger-a-fan-depending-on-the-temperature-and-humidity-thanks-to-a-cgd1-ble-sensor"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#trigger-a-fan-depending-on-the-temperature-and-humidity-thanks-to-a-cgd1-ble-sensor"}},[A._v("#")]),A._v(" Trigger a fan depending on the temperature and humidity thanks to a CGD1 BLE sensor")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:t(303)}})]),A._v(" "),e("h3",{attrs:{id:"follow-your-meat-temperature-when-cooking-with-an-inkbird-ibbq"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#follow-your-meat-temperature-when-cooking-with-an-inkbird-ibbq"}},[A._v("#")]),A._v(" Follow your meat temperature when cooking with an Inkbird IBBQ")]),A._v(" "),e("h3",{attrs:{id:"alert-yourself-by-a-controller-notification-if-the-temperature-of-a-fridge-or-freezer-is-too-high"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#alert-yourself-by-a-controller-notification-if-the-temperature-of-a-fridge-or-freezer-is-too-high"}},[A._v("#")]),A._v(" Alert yourself by a controller notification if the temperature of a fridge or freezer is too high")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("video",{attrs:{width:"560",height:"240",controls:""}},[e("source",{attrs:{src:t(304),type:"video/mp4"}}),A._v("\n Your browser does not support the video tag.\n")])]),A._v(" "),e("h3",{attrs:{id:"detect-a-beacon-smartwatch-to-trigger-a-special-scenario-when-you-come-home"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#detect-a-beacon-smartwatch-to-trigger-a-special-scenario-when-you-come-home"}},[A._v("#")]),A._v(" Detect a beacon/smartwatch to trigger a special scenario when you come home")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:t(305)}})]),A._v(" "),e("h3",{attrs:{id:"lose-weight-with-the-help-of-a-complete-log-system"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#lose-weight-with-the-help-of-a-complete-log-system"}},[A._v("#")]),A._v(" Lose weight with the help of a complete log system")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/noUROhtf0E0",frameborder:"0",allow:"autoplay; encrypted-media",allowfullscreen:""}})]),A._v(" "),e("h3",{attrs:{id:"detect-opened-doors-or-windows-and-alert-yourself-when-leaving"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#detect-opened-doors-or-windows-and-alert-yourself-when-leaving"}},[A._v("#")]),A._v(" Detect opened doors or windows and alert yourself when leaving")]),A._v(" "),e("h3",{attrs:{id:"monitor-vehicle-tire-pressure"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#monitor-vehicle-tire-pressure"}},[A._v("#")]),A._v(" Monitor vehicle tire pressure")]),A._v(" "),e("p",{attrs:{align:"center"}},[e("img",{attrs:{src:t(306)}})])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/26.442e33f2.js b/assets/js/26.2b43099c.js similarity index 98% rename from assets/js/26.442e33f2.js rename to assets/js/26.2b43099c.js index 98cd5d5..d010656 100644 --- a/assets/js/26.442e33f2.js +++ b/assets/js/26.2b43099c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{319:function(e,t,a){"use strict";a.r(t);var n=a(14),r=Object(n.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("Theengs ecosystem can be used for analytics, research, or study use cases. Its flexibility enables a great choice of component combinations and usages, with the capability to measure temperature, humidity, moisture, luminance, weight, pressure, fine particles, and more. The possibilities of scientific exploration are numerous.")]),e._v(" "),t("p",[e._v("Because Theengs uses MQTT and has access to a wide range of connectors, it is easy to integrate with scientific and analytic technology stacks.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("What you need")]),e._v(" "),t("p",[e._v("A "),t("a",{attrs:{href:"https://decoder.theengs.io/devices/devices.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("BLE sensor"),t("OutboundLink")],1),e._v(" depending on your use cases + "),t("a",{attrs:{href:"https://docs.openmqttgateway.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenMQTTGateway"),t("OutboundLink")],1),e._v(" OR "),t("a",{attrs:{href:"https://gateway.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Theengs Gateway"),t("OutboundLink")],1),e._v(", an MQTT broker, "),t("a",{attrs:{href:"https://nodered.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Node Red"),t("OutboundLink")],1),e._v(", a database like "),t("a",{attrs:{href:"https://www.influxdata.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("InfluxDB"),t("OutboundLink")],1),e._v(" , and an observability platform "),t("a",{attrs:{href:"https://grafana.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Grafana"),t("OutboundLink")],1),e._v(".\nAlternatively, many software offer "),t("a",{attrs:{href:"https://github.com/hobbyquaker/awesome-mqtt",target:"_blank",rel:"noopener noreferrer"}},[e._v("MQTT connectors"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("If you want to access real-time data directly from the sensors without a controller and broker, you can also use the "),t("a",{attrs:{href:"https://app.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Theengs App"),t("OutboundLink")],1)])]),e._v(" "),t("h3",{attrs:{id:"environmental-monitoring"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#environmental-monitoring"}},[e._v("#")]),e._v(" Environmental Monitoring")]),e._v(" "),t("p",[e._v("BLE sensors can monitor environmental conditions such as temperature, humidity, and air quality in research labs, test buildings, and other university facilities. Researchers can collect data over time to identify trends and patterns and use this information for their studies.")]),e._v(" "),t("h3",{attrs:{id:"motion-and-vibration-sensing"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#motion-and-vibration-sensing"}},[e._v("#")]),e._v(" Motion and Vibration Sensing")]),e._v(" "),t("p",[e._v("BLE sensors can detect motion and vibration in various research applications, such as monitoring the movement of laboratory equipment, measuring the performance of mechanical systems, or studying the behavior of living organisms.")]),e._v(" "),t("h3",{attrs:{id:"healthcare-and-biomedical-research"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#healthcare-and-biomedical-research"}},[e._v("#")]),e._v(" Healthcare and Biomedical Research")]),e._v(" "),t("p",[e._v("BLE sensors can be used in healthcare and biomedical research to collect data on vital signs, such as heart rate, blood pressure, and respiratory rate. This information can be used to monitor patients' health, identify potential health risks, and track the effectiveness of treatments.")]),e._v(" "),t("h3",{attrs:{id:"energy-management"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#energy-management"}},[e._v("#")]),e._v(" Energy Management")]),e._v(" "),t("p",[e._v("BLE sensors can be used to monitor energy consumption in university test facilities, enabling researchers to analyze the impact of factors such as isolation, AC systems, and house configuration. By collecting and analyzing data over time, researchers can identify areas for energy efficiency improvements and make informed decisions about energy management and sustainability initiatives.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{320:function(e,t,a){"use strict";a.r(t);var n=a(14),r=Object(n.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("Theengs ecosystem can be used for analytics, research, or study use cases. Its flexibility enables a great choice of component combinations and usages, with the capability to measure temperature, humidity, moisture, luminance, weight, pressure, fine particles, and more. The possibilities of scientific exploration are numerous.")]),e._v(" "),t("p",[e._v("Because Theengs uses MQTT and has access to a wide range of connectors, it is easy to integrate with scientific and analytic technology stacks.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("What you need")]),e._v(" "),t("p",[e._v("A "),t("a",{attrs:{href:"https://decoder.theengs.io/devices/devices.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("BLE sensor"),t("OutboundLink")],1),e._v(" depending on your use cases + "),t("a",{attrs:{href:"https://docs.openmqttgateway.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenMQTTGateway"),t("OutboundLink")],1),e._v(" OR "),t("a",{attrs:{href:"https://gateway.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Theengs Gateway"),t("OutboundLink")],1),e._v(", an MQTT broker, "),t("a",{attrs:{href:"https://nodered.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Node Red"),t("OutboundLink")],1),e._v(", a database like "),t("a",{attrs:{href:"https://www.influxdata.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("InfluxDB"),t("OutboundLink")],1),e._v(" , and an observability platform "),t("a",{attrs:{href:"https://grafana.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Grafana"),t("OutboundLink")],1),e._v(".\nAlternatively, many software offer "),t("a",{attrs:{href:"https://github.com/hobbyquaker/awesome-mqtt",target:"_blank",rel:"noopener noreferrer"}},[e._v("MQTT connectors"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("If you want to access real-time data directly from the sensors without a controller and broker, you can also use the "),t("a",{attrs:{href:"https://app.theengs.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Theengs App"),t("OutboundLink")],1)])]),e._v(" "),t("h3",{attrs:{id:"environmental-monitoring"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#environmental-monitoring"}},[e._v("#")]),e._v(" Environmental Monitoring")]),e._v(" "),t("p",[e._v("BLE sensors can monitor environmental conditions such as temperature, humidity, and air quality in research labs, test buildings, and other university facilities. Researchers can collect data over time to identify trends and patterns and use this information for their studies.")]),e._v(" "),t("h3",{attrs:{id:"motion-and-vibration-sensing"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#motion-and-vibration-sensing"}},[e._v("#")]),e._v(" Motion and Vibration Sensing")]),e._v(" "),t("p",[e._v("BLE sensors can detect motion and vibration in various research applications, such as monitoring the movement of laboratory equipment, measuring the performance of mechanical systems, or studying the behavior of living organisms.")]),e._v(" "),t("h3",{attrs:{id:"healthcare-and-biomedical-research"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#healthcare-and-biomedical-research"}},[e._v("#")]),e._v(" Healthcare and Biomedical Research")]),e._v(" "),t("p",[e._v("BLE sensors can be used in healthcare and biomedical research to collect data on vital signs, such as heart rate, blood pressure, and respiratory rate. This information can be used to monitor patients' health, identify potential health risks, and track the effectiveness of treatments.")]),e._v(" "),t("h3",{attrs:{id:"energy-management"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#energy-management"}},[e._v("#")]),e._v(" Energy Management")]),e._v(" "),t("p",[e._v("BLE sensors can be used to monitor energy consumption in university test facilities, enabling researchers to analyze the impact of factors such as isolation, AC systems, and house configuration. By collecting and analyzing data over time, researchers can identify areas for energy efficiency improvements and make informed decisions about energy management and sustainability initiatives.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/app.ad443221.js b/assets/js/app.a75a7a56.js similarity index 90% rename from assets/js/app.ad443221.js rename to assets/js/app.a75a7a56.js index f4f6de5..0f06681 100644 --- a/assets/js/app.ad443221.js +++ b/assets/js/app.a75a7a56.js @@ -1,4 +1,4 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var r,a,s=e[0],c=e[1],u=e[2],f=0,p=[];f
'};function o(t,e,n){return tn?n:t}function i(t){return 100*(-1+t)}n.configure=function(t){var e,n;for(e in t)void 0!==(n=t[e])&&t.hasOwnProperty(e)&&(r[e]=n);return this},n.status=null,n.set=function(t){var e=n.isStarted();t=o(t,r.minimum,1),n.status=1===t?null:t;var c=n.render(!e),u=c.querySelector(r.barSelector),l=r.speed,f=r.easing;return c.offsetWidth,a((function(e){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,function(t,e,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+i(t)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+i(t)+"%,0)"}:{"margin-left":i(t)+"%"}).transition="all "+e+"ms "+n,o}(t,l,f)),1===t?(s(c,{transition:"none",opacity:1}),c.offsetWidth,setTimeout((function(){s(c,{transition:"all "+l+"ms linear",opacity:0}),setTimeout((function(){n.remove(),e()}),l)}),l)):setTimeout(e,l)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var t=function(){setTimeout((function(){n.status&&(n.trickle(),t())}),r.trickleSpeed)};return r.trickle&&t(),this},n.done=function(t){return t||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(t){var e=n.status;return e?("number"!=typeof t&&(t=(1-e)*o(Math.random()*e,.1,.95)),e=o(e+t,0,.994),n.set(e)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},t=0,e=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===e&&n.start(),t++,e++,r.always((function(){0==--e?(t=0,n.done()):n.set((t-e)/t)})),this):this},n.render=function(t){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var e=document.createElement("div");e.id="nprogress",e.innerHTML=r.template;var o,a=e.querySelector(r.barSelector),c=t?"-100":i(n.status||0),l=document.querySelector(r.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+c+"%,0,0)"}),r.showSpinner||(o=e.querySelector(r.spinnerSelector))&&p(o),l!=document.body&&u(l,"nprogress-custom-parent"),l.appendChild(e),e},n.remove=function(){l(document.documentElement,"nprogress-busy"),l(document.querySelector(r.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&p(t)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var a=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),s=function(){var t=["Webkit","O","Moz","ms"],e={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()})),e[n]||(e[n]=function(e){var n=document.body.style;if(e in n)return e;for(var r,o=t.length,i=e.charAt(0).toUpperCase()+e.slice(1);o--;)if((r=t[o]+i)in n)return r;return e}(n))}function r(t,e,r){e=n(e),t.style[e]=r}return function(t,e){var n,o,i=arguments;if(2==i.length)for(n in e)void 0!==(o=e[n])&&e.hasOwnProperty(n)&&r(t,n,o);else r(t,i[1],i[2])}}();function c(t,e){return("string"==typeof t?t:f(t)).indexOf(" "+e+" ")>=0}function u(t,e){var n=f(t),r=n+e;c(n,e)||(t.className=r.substring(1))}function l(t,e){var n,r=f(t);c(t,e)&&(n=r.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function f(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function p(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return n})?r.call(e,n,e,t):r)||(t.exports=o)},function(t,e,n){"use strict";var r=n(0),o=n(45).f,i=n(12),a=n(92),s=n(32),c=n(60),u=n(120);t.exports=function(t,e){var n,l,f,p,d,h=t.target,v=t.global,m=t.stat;if(n=v?r:m?r[h]||s(h,{}):(r[h]||{}).prototype)for(l in e){if(p=e[l],f=t.dontCallGetSet?(d=o(n,l))&&d.value:n[l],!u(v?l:h+(m?".":"#")+l,t.forced)&&void 0!==f){if(typeof p==typeof f)continue;c(p,f)}(t.sham||f&&f.sham)&&i(p,"sham",!0),a(n,l,p,t)}}},function(t,e,n){"use strict";var r=n(25),o=Function.prototype.call;t.exports=r?o.bind(o):function(){return o.apply(o,arguments)}},function(t,e,n){"use strict";var r=n(3);t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},function(t,e,n){"use strict";t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){"use strict";var r=n(46),o=n(47);t.exports=function(t){return r(o(t))}},function(t,e,n){"use strict";var r=n(0),o=n(1),i=function(t){return o(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t]):r[t]&&r[t][e]}},function(t,e,n){"use strict";var r=n(1),o=n(102),i=TypeError;t.exports=function(t){if(r(t))return t;throw new i(o(t)+" is not a function")}},function(t,e,n){"use strict";var r=n(0),o=n(55),i=n(8),a=n(57),s=n(53),c=n(52),u=r.Symbol,l=o("wks"),f=c?u.for||u:u&&u.withoutSetter||a;t.exports=function(t){return i(l,t)||(l[t]=s&&i(u,t)?u[t]:f("Symbol."+t)),l[t]}},function(t,e,n){"use strict";var r=n(0),o=n(32),i=r["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,e,n){"use strict";var r=n(0),o=Object.defineProperty;t.exports=function(t,e){try{o(r,t,{value:e,configurable:!0,writable:!0})}catch(n){r[t]=e}return e}},function(t,e,n){"use strict";var r=n(47),o=Object;t.exports=function(t){return o(r(t))}},function(t,e,n){"use strict";var r=n(7),o=String,i=TypeError;t.exports=function(t){if(r(t))return t;throw new i(o(t)+" is not an object")}},function(t,e,n){"use strict";var r=n(117);t.exports=function(t){return r(t.length)}},function(t,e,n){var r=n(144),o=n(10),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return o(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},function(t,e,n){var r=n(9)(n(6),"Map");t.exports=r},function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},function(t,e,n){var r=n(164),o=n(171),i=n(173),a=n(174),s=n(175);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=9007199254740991}},function(t,e,n){var r=n(4),o=n(43),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!o(t))||(a.test(t)||!i.test(t)||null!=e&&t in Object(e))}},function(t,e,n){var r=n(11),o=n(10);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==r(t)}},function(t,e){t.exports=function(t){return t}},function(t,e,n){"use strict";var r=n(5),o=n(24),i=n(98),a=n(26),s=n(27),c=n(49),u=n(8),l=n(58),f=Object.getOwnPropertyDescriptor;e.f=r?f:function(t,e){if(t=s(t),e=c(e),l)try{return f(t,e)}catch(t){}if(u(t,e))return a(!o(i.f,t,e),t[e])}},function(t,e,n){"use strict";var r=n(2),o=n(3),i=n(16),a=Object,s=r("".split);t.exports=o((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"===i(t)?s(t,""):a(t)}:a},function(t,e,n){"use strict";var r=n(48),o=TypeError;t.exports=function(t){if(r(t))throw new o("Can't call method on "+t);return t}},function(t,e,n){"use strict";t.exports=function(t){return null==t}},function(t,e,n){"use strict";var r=n(99),o=n(50);t.exports=function(t){var e=r(t,"string");return o(e)?e:e+""}},function(t,e,n){"use strict";var r=n(28),o=n(1),i=n(51),a=n(52),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=r("Symbol");return o(e)&&i(e.prototype,s(t))}},function(t,e,n){"use strict";var r=n(2);t.exports=r({}.isPrototypeOf)},function(t,e,n){"use strict";var r=n(53);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,e,n){"use strict";var r=n(54),o=n(3),i=n(0).String;t.exports=!!Object.getOwnPropertySymbols&&!o((function(){var t=Symbol("symbol detection");return!i(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},function(t,e,n){"use strict";var r,o,i=n(0),a=n(100),s=i.process,c=i.Deno,u=s&&s.versions||c&&c.version,l=u&&u.v8;l&&(o=(r=l.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),t.exports=o},function(t,e,n){"use strict";var r=n(56),o=n(31);(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.35.0",mode:r?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.35.0/LICENSE",source:"https://github.com/zloirock/core-js"})},function(t,e,n){"use strict";t.exports=!1},function(t,e,n){"use strict";var r=n(2),o=0,i=Math.random(),a=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++o+i,36)}},function(t,e,n){"use strict";var r=n(5),o=n(3),i=n(104);t.exports=!r&&!o((function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,e,n){"use strict";t.exports={}},function(t,e,n){"use strict";var r=n(8),o=n(111),i=n(45),a=n(15);t.exports=function(t,e,n){for(var s=o(e),c=a.f,u=i.f,l=0;ll))return!1;var p=c.get(t),d=c.get(e);if(p&&d)return p==e&&d==t;var h=-1,v=!0,m=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++h-1&&t%1==0&&t=0&&Math.floor(e)===e&&isFinite(t)}function v(t){return a(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function m(t){return null==t?"":Array.isArray(t)||p(t)&&t.toString===f?JSON.stringify(t,y,2):String(t)}function y(t,e){return e&&e.__v_isRef?e.value:e}function g(t){var e=parseFloat(t);return isNaN(e)?t:e}function b(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(r,1)}}var x=Object.prototype.hasOwnProperty;function O(t,e){return x.call(t,e)}function $(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var C=/-(\w)/g,S=$((function(t){return t.replace(C,(function(t,e){return e?e.toUpperCase():""}))})),k=$((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),j=/\B([A-Z])/g,E=$((function(t){return t.replace(j,"-$1").toLowerCase()}));var T=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function P(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function A(t,e){for(var n in e)t[n]=e[n];return t}function L(t){for(var e={},n=0;n0,Z=G&&G.indexOf("edge/")>0;G&&G.indexOf("android");var tt=G&&/iphone|ipad|ipod|ios/.test(G);G&&/chrome\/\d+/.test(G),G&&/phantomjs/.test(G);var et,nt=G&&G.match(/firefox\/(\d+)/),rt={}.watch,ot=!1;if(Y)try{var it={};Object.defineProperty(it,"passive",{get:function(){ot=!0}}),window.addEventListener("test-passive",null,it)}catch(t){}var at=function(){return void 0===et&&(et=!Y&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),et},st=Y&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ct(t){return"function"==typeof t&&/native code/.test(t.toString())}var ut,lt="undefined"!=typeof Symbol&&ct(Symbol)&&"undefined"!=typeof Reflect&&ct(Reflect.ownKeys);ut="undefined"!=typeof Set&&ct(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ft=null;function pt(t){void 0===t&&(t=null),t||ft&&ft._scope.off(),ft=t,t&&t._scope.on()}var dt=function(){function t(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),ht=function(t){void 0===t&&(t="");var e=new dt;return e.text=t,e.isComment=!0,e};function vt(t){return new dt(void 0,void 0,void 0,String(t))}function mt(t){var e=new dt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}"function"==typeof SuppressedError&&SuppressedError;var yt=0,gt=[],bt=function(){function t(){this._pending=!1,this.id=yt++,this.subs=[]}return t.prototype.addSub=function(t){this.subs.push(t)},t.prototype.removeSub=function(t){this.subs[this.subs.indexOf(t)]=null,this._pending||(this._pending=!0,gt.push(this))},t.prototype.depend=function(e){t.target&&t.target.addDep(this)},t.prototype.notify=function(t){var e=this.subs.filter((function(t){return t}));for(var n=0,r=e.length;n0&&(Gt((u=t(u,"".concat(n||"","_").concat(r)))[0])&&Gt(f)&&(p[l]=vt(f.text+u[0].text),u.shift()),p.push.apply(p,u)):c(u)?Gt(f)?p[l]=vt(f.text+u):""!==u&&p.push(vt(u)):Gt(u)&&Gt(f)?p[l]=vt(f.text+u.text):(s(e._isVList)&&a(u.tag)&&i(u.key)&&a(n)&&(u.key="__vlist".concat(n,"_").concat(r,"__")),p.push(u)));return p}(t):void 0}function Gt(t){return a(t)&&a(t.text)&&!1===t.isComment}function Jt(t,e){var n,r,i,s,c=null;if(o(t)||"string"==typeof t)for(c=new Array(t.length),n=0,r=t.length;n0,s=e?!!e.$stable:!a,c=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(s&&o&&o!==r&&c===o.$key&&!a&&!o.$hasNormal)return o;for(var u in i={},e)e[u]&&"$"!==u[0]&&(i[u]=me(t,n,u,e[u]))}else i={};for(var l in n)l in i||(i[l]=ye(n,l));return e&&Object.isExtensible(e)&&(e._normalized=i),W(i,"$stable",s),W(i,"$key",c),W(i,"$hasNormal",a),i}function me(t,e,n,r){var i=function(){var e=ft;pt(t);var n=arguments.length?r.apply(null,arguments):r({}),i=(n=n&&"object"==typeof n&&!o(n)?[n]:Yt(n))&&n[0];return pt(e),n&&(!i||1===n.length&&i.isComment&&!he(i))?void 0:n};return r.proxy&&Object.defineProperty(e,n,{get:i,enumerable:!0,configurable:!0}),i}function ye(t,e){return function(){return t[e]}}function ge(t){return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy={};W(e,"_v_attr_proxy",!0),be(e,t.$attrs,r,t,"$attrs")}return t._attrsProxy},get listeners(){t._listenersProxy||be(t._listenersProxy={},t.$listeners,r,t,"$listeners");return t._listenersProxy},get slots(){return function(t){t._slotsProxy||we(t._slotsProxy={},t.$scopedSlots);return t._slotsProxy}(t)},emit:T(t.$emit,t),expose:function(e){e&&Object.keys(e).forEach((function(n){return Bt(t,e,n)}))}}}function be(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0):(i=!0,_e(t,a,r,o));for(var a in t)a in e||(i=!0,delete t[a]);return i}function _e(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}function we(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}var xe=null;function Oe(t,e){return(t.__esModule||lt&&"Module"===t[Symbol.toStringTag])&&(t=t.default),l(t)?e.extend(t):t}function $e(t){if(o(t))for(var e=0;edocument.createEvent("Event").timeStamp&&(un=function(){return ln.now()})}var fn=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return-1;return t.id-e.id};function pn(){var t,e;for(cn=un(),an=!0,en.sort(fn),sn=0;snsn&&en[n].id>t.id;)n--;en.splice(n+1,0,t)}else en.push(t);on||(on=!0,Ue(pn))}}function hn(t,e){if(t){for(var n=Object.create(null),r=lt?Reflect.ownKeys(t):Object.keys(t),o=0;o-1)if(i&&!O(o,"default"))a=!1;else if(""===a||a===E(t)){var c=In(String,o.type);(c<0||s-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!d(t)&&t.test(e)}function Jn(t,e){var n=t.cache,r=t.keys,o=t._vnode,i=t.$vnode;for(var a in n){var s=n[a];if(s){var c=s.name;c&&!e(c)&&Qn(n,a,r,o)}}i.componentOptions.children=void 0}function Qn(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,w(n,e)}Kn.prototype._init=function(t){var e=this;e._uid=Hn++,e._isVue=!0,e.__v_skip=!0,e._scope=new zt(!0),e._scope.parent=void 0,e._scope._vm=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Tn(Wn(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._provided=n?n._provided:Object.create(null),t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Ye(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,o=n&&n.context;t.$slots=pe(e._renderChildren,o),t.$scopedSlots=n?ve(t.$parent,n.data.scopedSlots,t.$slots):r,t._c=function(e,n,r,o){return Ce(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return Ce(t,e,n,r,o,!0)};var i=n&&n.data;At(t,"$attrs",i&&i.attrs||r,null,!0),At(t,"$listeners",e._parentListeners||r,null,!0)}(e),tn(e,"beforeCreate",void 0,!1),function(t){var e=hn(t.$options.inject,t);e&&(jt(!1),Object.keys(e).forEach((function(n){At(t,n,e[n])})),jt(!0))}(e),Un(e),function(t){var e=t.$options.provide;if(e){var n=u(e)?e.call(t):e;if(!l(n))return;for(var r=Vt(t),o=lt?Reflect.ownKeys(n):Object.keys(n),i=0;i1?P(n):n;for(var r=P(arguments,1),o='event handler for "'.concat(t,'"'),i=0,a=n.length;iparseInt(this.max)&&Qn(t,e[0],e,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Qn(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){Jn(t,(function(t){return Gn(e,t)}))})),this.$watch("exclude",(function(e){Jn(t,(function(t){return!Gn(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=$e(t),n=e&&e.componentOptions;if(n){var r=Yn(n),o=this.include,i=this.exclude;if(o&&(!r||!Gn(o,r))||i&&r&&Gn(i,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;a[c]?(e.componentInstance=a[c].componentInstance,w(s,c),s.push(c)):(this.vnodeToCache=e,this.keyToCache=c),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return V}};Object.defineProperty(t,"config",e),t.util={warn:On,extend:A,mergeOptions:Tn,defineReactive:At},t.set=Lt,t.delete=Mt,t.nextTick=Ue,t.observable=function(t){return Pt(t),t},t.options=Object.create(null),F.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,A(t.options.components,tr),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=P(arguments,1);return n.unshift(this),u(t.install)?t.install.apply(t,n):u(t)&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Tn(this.options,t),this}}(t),Xn(t),function(t){F.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&p(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&u(n)&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(Kn),Object.defineProperty(Kn.prototype,"$isServer",{get:at}),Object.defineProperty(Kn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Kn,"FunctionalRenderContext",{value:vn}),Kn.version="2.7.16";var er=b("style,class"),nr=b("input,textarea,option,select,progress"),rr=b("contenteditable,draggable,spellcheck"),or=b("events,caret,typing,plaintext-only"),ir=b("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),ar="http://www.w3.org/1999/xlink",sr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},cr=function(t){return sr(t)?t.slice(6,t.length):""},ur=function(t){return null==t||!1===t};function lr(t){for(var e=t.data,n=t,r=t;a(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=fr(r.data,e));for(;a(n=n.parent);)n&&n.data&&(e=fr(e,n.data));return function(t,e){if(a(t)||a(e))return pr(t,dr(e));return""}(e.staticClass,e.class)}function fr(t,e){return{staticClass:pr(t.staticClass,e.staticClass),class:a(t.class)?[t.class,e.class]:e.class}}function pr(t,e){return t?e?t+" "+e:t:e||""}function dr(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r-1?Dr(t,e,n):ir(e)?ur(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):rr(e)?t.setAttribute(e,function(t,e){return ur(e)||"false"===e?"false":"contenteditable"===t&&or(e)?e:"true"}(e,n)):sr(e)?ur(n)?t.removeAttributeNS(ar,cr(e)):t.setAttributeNS(ar,e,n):Dr(t,e,n)}function Dr(t,e,n){if(ur(n))t.removeAttribute(e);else{if(J&&!Q&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var Nr={create:Rr,update:Rr};function Ur(t,e){var n=e.elm,r=e.data,o=t.data;if(!(i(r.staticClass)&&i(r.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var s=lr(e),c=n._transitionClasses;a(c)&&(s=pr(s,dr(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var Br,Fr={create:Ur,update:Ur};function zr(t,e,n){var r=Br;return function o(){var i=e.apply(null,arguments);null!==i&&Hr(t,o,n,r)}}var Vr=Pe&&!(nt&&Number(nt[1])<=53);function qr(t,e,n,r){if(Vr){var o=cn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}Br.addEventListener(t,e,ot?{capture:n,passive:r}:n)}function Hr(t,e,n,r){(r||Br).removeEventListener(t,e._wrapper||e,n)}function Wr(t,e){if(!i(t.data.on)||!i(e.data.on)){var n=e.data.on||{},r=t.data.on||{};Br=e.elm||t.elm,function(t){if(a(t.__r)){var e=J?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}a(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(n),Wt(n,r,qr,Hr,zr,e.context),Br=void 0}}var Kr,Xr={create:Wr,update:Wr,destroy:function(t){return Wr(t,$r)}};function Yr(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var n,r,o=e.elm,c=t.data.domProps||{},u=e.data.domProps||{};for(n in(a(u.__ob__)||s(u._v_attr_proxy))&&(u=e.data.domProps=A({},u)),c)n in u||(o[n]="");for(n in u){if(r=u[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===c[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var l=i(r)?"":String(r);Gr(o,l)&&(o.value=l)}else if("innerHTML"===n&&mr(o.tagName)&&i(o.innerHTML)){(Kr=Kr||document.createElement("div")).innerHTML="".concat(r,"");for(var f=Kr.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;f.firstChild;)o.appendChild(f.firstChild)}else if(r!==c[n])try{o[n]=r}catch(t){}}}}function Gr(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(a(r)){if(r.number)return g(n)!==g(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var Jr={create:Yr,update:Yr},Qr=$((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function Zr(t){var e=to(t.style);return t.staticStyle?A(t.staticStyle,e):e}function to(t){return Array.isArray(t)?L(t):"string"==typeof t?Qr(t):t}var eo,no=/^--/,ro=/\s*!important$/,oo=function(t,e,n){if(no.test(e))t.style.setProperty(e,n);else if(ro.test(n))t.style.setProperty(E(e),n.replace(ro,""),"important");else{var r=ao(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(uo).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function fo(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(uo).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function po(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&A(e,ho(t.name||"v")),A(e,t),e}return"string"==typeof t?ho(t):void 0}}var ho=$((function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}})),vo=Y&&!Q,mo="transition",yo="transitionend",go="animation",bo="animationend";vo&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(mo="WebkitTransition",yo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(go="WebkitAnimation",bo="webkitAnimationEnd"));var _o=Y?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function wo(t){_o((function(){_o(t)}))}function xo(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),lo(t,e))}function Oo(t,e){t._transitionClasses&&w(t._transitionClasses,e),fo(t,e)}function $o(t,e,n){var r=So(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s="transition"===o?yo:bo,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c0&&(n="transition",l=a,f=i.length):"animation"===e?u>0&&(n="animation",l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?"transition":"animation":null)?"transition"===n?i.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:"transition"===n&&Co.test(r[mo+"Property"])}}function ko(t,e){for(;t.length1}function Lo(t,e){!0!==e.data.show&&Eo(e)}var Mo=function(t){var e,n,r={},u=t.modules,l=t.nodeOps;for(e=0;eh?_(t,i(n[y+1])?null:n[y+1].elm,n,d,y,r):d>y&&x(e,f,h)}(f,v,y,n,u):a(y)?(a(t.text)&&l.setTextContent(f,""),_(f,null,y,0,y.length-1,n)):a(v)?x(v,0,v.length-1):a(t.text)&&l.setTextContent(f,""):t.text!==e.text&&l.setTextContent(f,e.text),a(h)&&a(d=h.hook)&&a(d=d.postpatch)&&d(t,e)}}}function S(t,e,n){if(s(n)&&a(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,a.selected!==i&&(a.selected=i);else if(D(Uo(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function No(t,e){return e.every((function(e){return!D(e,t)}))}function Uo(t){return"_value"in t?t._value:t.value}function Bo(t){t.target.composing=!0}function Fo(t){t.target.composing&&(t.target.composing=!1,zo(t.target,"input"))}function zo(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Vo(t){return!t.componentInstance||t.data&&t.data.transition?t:Vo(t.componentInstance._vnode)}var qo={model:Ro,show:{bind:function(t,e,n){var r=e.value,o=(n=Vo(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,Eo(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=Vo(n)).data&&n.data.transition?(n.data.show=!0,r?Eo(n,(function(){t.style.display=t.__vOriginalDisplay})):To(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}}},Ho={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Wo(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Wo($e(e.children)):t}function Ko(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var r in o)e[S(r)]=o[r];return e}function Xo(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Yo=function(t){return t.tag||he(t)},Go=function(t){return"show"===t.name},Jo={name:"transition",props:Ho,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Yo)).length){0;var r=this.mode;0;var o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var i=Wo(o);if(!i)return o;if(this._leaving)return Xo(t,o);var a="__transition-".concat(this._uid,"-");i.key=null==i.key?i.isComment?a+"comment":a+i.tag:c(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=Ko(this),u=this._vnode,l=Wo(u);if(i.data.directives&&i.data.directives.some(Go)&&(i.data.show=!0),l&&l.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(i,l)&&!he(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=A({},s);if("out-in"===r)return this._leaving=!0,Kt(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Xo(t,o);if("in-out"===r){if(he(i))return u;var p,d=function(){p()};Kt(s,"afterEnter",d),Kt(s,"enterCancelled",d),Kt(f,"delayLeave",(function(t){p=t}))}}return o}}},Qo=A({tag:String,moveClass:String},Ho);function Zo(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function ti(t){t.data.newPos=t.elm.getBoundingClientRect()}function ei(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate(".concat(r,"px,").concat(o,"px)"),i.transitionDuration="0s"}}delete Qo.mode;var ni={Transition:Jo,TransitionGroup:{props:Qo,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Je(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=Ko(this),s=0;s-1?gr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:gr[t]=/HTMLUnknownElement/.test(e.toString())},A(Kn.options.directives,qo),A(Kn.options.components,ni),Kn.prototype.__patch__=Y?Mo:M,Kn.prototype.$mount=function(t,e){return function(t,e,n){var r;t.$el=e,t.$options.render||(t.$options.render=ht),tn(t,"beforeMount"),r=function(){t._update(t._render(),n)},new He(t,r,M,{before:function(){t._isMounted&&!t._isDestroyed&&tn(t,"beforeUpdate")}},!0),n=!1;var o=t._preWatchers;if(o)for(var i=0;i=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}(o.path||""),u=e&&e.path||"/",l=c.path?Oi(c.path,u,n||o.append):u,f=function(t,e,n){void 0===e&&(e={});var r,o=n||li;try{r=o(t||"")}catch(t){r={}}for(var i in e){var a=e[i];r[i]=Array.isArray(a)?a.map(ui):ui(a)}return r}(c.query,o.query,r&&r.options.parseQuery),p=o.hash||c.hash;return p&&"#"!==p.charAt(0)&&(p="#"+p),{_normalized:!0,path:l,query:f,hash:p}}var qi,Hi=function(){},Wi={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),i=o.location,a=o.route,s=o.href,c={},u=n.options.linkActiveClass,l=n.options.linkExactActiveClass,f=null==u?"router-link-active":u,p=null==l?"router-link-exact-active":l,d=null==this.activeClass?f:this.activeClass,h=null==this.exactActiveClass?p:this.exactActiveClass,v=a.redirectedFrom?di(null,Vi(a.redirectedFrom),null,n):a;c[h]=gi(r,v,this.exactPath),c[d]=this.exact||this.exactPath?c[h]:function(t,e){return 0===t.path.replace(pi,"/").indexOf(e.path.replace(pi,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(t.query,e.query)}(r,v);var m=c[h]?this.ariaCurrentValue:null,y=function(t){Ki(t)&&(e.replace?n.replace(i,Hi):n.push(i,Hi))},g={click:Ki};Array.isArray(this.event)?this.event.forEach((function(t){g[t]=y})):g[this.event]=y;var b={class:c},_=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:s,route:a,navigate:y,isActive:c[d],isExactActive:c[h]});if(_){if(1===_.length)return _[0];if(_.length>1||!_.length)return 0===_.length?t():t("span",{},_)}if("a"===this.tag)b.on=g,b.attrs={href:s,"aria-current":m};else{var w=function t(e){var n;if(e)for(var r=0;r-1&&(s.params[p]=n.params[p]);return s.path=zi(l.path,s.params),c(l,s,a)}if(s.path){s.params={};for(var d=0;d-1}function $a(t,e){return Oa(t)&&t._isRouter&&(null==e||t.type===e)}function Ca(t,e,n){var r=function(o){o>=t.length?n():t[o]?e(t[o],(function(){r(o+1)})):r(o+1)};r(0)}function Sa(t){return function(e,n,r){var o=!1,i=0,a=null;ka(t,(function(t,e,n,s){if("function"==typeof t&&void 0===t.cid){o=!0,i++;var c,u=Ta((function(e){var o;((o=e).__esModule||Ea&&"Module"===o[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:qi.extend(e),n.components[s]=e,--i<=0&&r()})),l=Ta((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=Oa(t)?t:new Error(e),r(a))}));try{c=t(u,l)}catch(t){l(t)}if(c)if("function"==typeof c.then)c.then(u,l);else{var f=c.component;f&&"function"==typeof f.then&&f.then(u,l)}}})),o||r()}}function ka(t,e){return ja(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function ja(t){return Array.prototype.concat.apply([],t)}var Ea="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function Ta(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var Pa=function(t,e){this.router=t,this.base=function(t){if(!t)if(Xi){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";"/"!==t.charAt(0)&&(t="/"+t);return t.replace(/\/$/,"")}(e),this.current=vi,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function Aa(t,e,n,r){var o=ka(t,(function(t,r,o,i){var a=function(t,e){"function"!=typeof t&&(t=qi.extend(t));return t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map((function(t){return n(t,r,o,i)})):n(a,r,o,i)}));return ja(r?o.reverse():o)}function La(t,e){if(e)return function(){return t.apply(e,arguments)}}Pa.prototype.listen=function(t){this.cb=t},Pa.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},Pa.prototype.onError=function(t){this.errorCbs.push(t)},Pa.prototype.transitionTo=function(t,e,n){var r,o=this;try{r=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var i=this.current;this.confirmTransition(r,(function(){o.updateRoute(r),e&&e(r),o.ensureURL(),o.router.afterHooks.forEach((function(t){t&&t(r,i)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(t){t(r)})))}),(function(t){n&&n(t),t&&!o.ready&&($a(t,ga.redirected)&&i===vi||(o.ready=!0,o.readyErrorCbs.forEach((function(e){e(t)}))))}))},Pa.prototype.confirmTransition=function(t,e,n){var r=this,o=this.current;this.pending=t;var i,a,s=function(t){!$a(t)&&Oa(t)&&(r.errorCbs.length?r.errorCbs.forEach((function(e){e(t)})):console.error(t)),n&&n(t)},c=t.matched.length-1,u=o.matched.length-1;if(gi(t,o)&&c===u&&t.matched[c]===o.matched[u])return this.ensureURL(),t.hash&&aa(this.router,o,t,!1),s(((a=wa(i=o,t,ga.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",a));var l=function(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,r=va&&n;r&&this.listeners.push(ia());var o=function(){var n=t.current,o=Ra(t.base);t.current===vi&&o===t._startLocation||t.transitionTo(o,(function(t){r&&aa(e,t,n,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){ma($i(r.base+t.fullPath)),aa(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){ya($i(r.base+t.fullPath)),aa(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(Ra(this.base)!==this.current.fullPath){var e=$i(this.base+this.current.fullPath);t?ma(e):ya(e)}},e.prototype.getCurrentLocation=function(){return Ra(this.base)},e}(Pa);function Ra(t){var e=window.location.pathname,n=e.toLowerCase(),r=t.toLowerCase();return!t||n!==r&&0!==n.indexOf($i(r+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var Ia=function(t){function e(e,n,r){t.call(this,e,n),r&&function(t){var e=Ra(t);if(!/^\/#/.test(e))return window.location.replace($i(t+"/#"+e)),!0}(this.base)||Da()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,n=va&&e;n&&this.listeners.push(ia());var r=function(){var e=t.current;Da()&&t.transitionTo(Na(),(function(r){n&&aa(t.router,r,e,!0),va||Fa(r.fullPath)}))},o=va?"popstate":"hashchange";window.addEventListener(o,r),this.listeners.push((function(){window.removeEventListener(o,r)}))}},e.prototype.push=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){Ba(t.fullPath),aa(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){Fa(t.fullPath),aa(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Na()!==e&&(t?Ba(e):Fa(e))},e.prototype.getCurrentLocation=function(){return Na()},e}(Pa);function Da(){var t=Na();return"/"===t.charAt(0)||(Fa("/"+t),!1)}function Na(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function Ua(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function Ba(t){va?ma(Ua(t)):window.location.hash=t}function Fa(t){va?ya(Ua(t)):window.location.replace(Ua(t))}var za=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var t=e.current;e.index=n,e.updateRoute(r),e.router.afterHooks.forEach((function(e){e&&e(r,t)}))}),(function(t){$a(t,ga.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(Pa),Va=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Ji(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!va&&!1!==t.fallback,this.fallback&&(e="hash"),Xi||(e="abstract"),this.mode=e,e){case"history":this.history=new Ma(this,t.base);break;case"hash":this.history=new Ia(this,t.base,this.fallback);break;case"abstract":this.history=new za(this,t.base);break;default:0}},qa={currentRoute:{configurable:!0}};Va.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},qa.currentRoute.get=function(){return this.history&&this.history.current},Va.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof Ma||n instanceof Ia){var r=function(t){n.setupListeners(),function(t){var r=n.current,o=e.options.scrollBehavior;va&&o&&"fullPath"in t&&aa(e,t,r,!1)}(t)};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Va.prototype.beforeEach=function(t){return Wa(this.beforeHooks,t)},Va.prototype.beforeResolve=function(t){return Wa(this.resolveHooks,t)},Va.prototype.afterEach=function(t){return Wa(this.afterHooks,t)},Va.prototype.onReady=function(t,e){this.history.onReady(t,e)},Va.prototype.onError=function(t){this.history.onError(t)},Va.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},Va.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},Va.prototype.go=function(t){this.history.go(t)},Va.prototype.back=function(){this.go(-1)},Va.prototype.forward=function(){this.go(1)},Va.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Va.prototype.resolve=function(t,e,n){var r=Vi(t,e=e||this.history.current,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:function(t,e,n){var r="hash"===n?"#"+e:e;return t?$i(t+"/"+r):r}(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},Va.prototype.getRoutes=function(){return this.matcher.getRoutes()},Va.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==vi&&this.history.transitionTo(this.history.getCurrentLocation())},Va.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==vi&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Va.prototype,qa);var Ha=Va;function Wa(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}Va.install=function t(e){if(!t.installed||qi!==e){t.installed=!0,qi=e;var n=function(t){return void 0!==t},r=function(t,e){var r=t.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(t,e)};e.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",wi),e.component("RouterLink",Wi);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Va.version="3.6.5",Va.isNavigationFailure=$a,Va.NavigationFailureType=ga,Va.START_LOCATION=vi,Xi&&window.Vue&&window.Vue.use(Va);n(97);n(90),n(127);var Ka={"components/AlgoliaSearchBox":()=>Promise.all([n.e(0),n.e(13)]).then(n.bind(null,310)),"components/DropdownLink":()=>Promise.all([n.e(0),n.e(14)]).then(n.bind(null,256)),"components/DropdownTransition":()=>Promise.all([n.e(0),n.e(21)]).then(n.bind(null,244)),"components/Home":()=>Promise.all([n.e(0),n.e(18)]).then(n.bind(null,282)),"components/NavLink":()=>n.e(23).then(n.bind(null,243)),"components/NavLinks":()=>Promise.all([n.e(0),n.e(12)]).then(n.bind(null,267)),"components/Navbar":()=>Promise.all([n.e(0),n.e(1)]).then(n.bind(null,307)),"components/Page":()=>Promise.all([n.e(0),n.e(11)]).then(n.bind(null,283)),"components/PageEdit":()=>Promise.all([n.e(0),n.e(19)]).then(n.bind(null,269)),"components/PageNav":()=>Promise.all([n.e(0),n.e(16)]).then(n.bind(null,270)),"components/Sidebar":()=>Promise.all([n.e(0),n.e(10)]).then(n.bind(null,284)),"components/SidebarButton":()=>Promise.all([n.e(0),n.e(22)]).then(n.bind(null,285)),"components/SidebarGroup":()=>Promise.all([n.e(0),n.e(3)]).then(n.bind(null,268)),"components/SidebarLink":()=>Promise.all([n.e(0),n.e(20)]).then(n.bind(null,257)),"components/SidebarLinks":()=>Promise.all([n.e(0),n.e(3)]).then(n.bind(null,255)),"global-components/Badge":()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,315)),"global-components/CodeBlock":()=>Promise.all([n.e(0),n.e(5)]).then(n.bind(null,311)),"global-components/CodeGroup":()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,312)),"layouts/404":()=>n.e(7).then(n.bind(null,313)),"layouts/Layout":()=>Promise.all([n.e(0),n.e(1),n.e(2)]).then(n.bind(null,314)),NotFound:()=>n.e(7).then(n.bind(null,313)),Layout:()=>Promise.all([n.e(0),n.e(1),n.e(2)]).then(n.bind(null,314))},Xa={"v-5817cb56":()=>n.e(15).then(n.bind(null,316)),"v-052b1fb6":()=>n.e(24).then(n.bind(null,317)),"v-1285978a":()=>n.e(25).then(n.bind(null,318)),"v-607220c5":()=>n.e(26).then(n.bind(null,319)),"v-5fe31847":()=>n.e(17).then(n.bind(null,320))};function Ya(t){const e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}const Ga=/-(\w)/g,Ja=Ya(t=>t.replace(Ga,(t,e)=>e?e.toUpperCase():"")),Qa=/\B([A-Z])/g,Za=Ya(t=>t.replace(Qa,"-$1").toLowerCase()),ts=Ya(t=>t.charAt(0).toUpperCase()+t.slice(1));function es(t,e){if(!e)return;if(t(e))return t(e);return e.includes("-")?t(ts(Ja(e))):t(ts(e))||t(Za(e))}const ns=Object.assign({},Ka,Xa),rs=t=>ns[t],os=t=>Xa[t],is=t=>Ka[t],as=t=>Kn.component(t);function ss(t){return es(os,t)}function cs(t){return es(is,t)}function us(t){return es(rs,t)}function ls(t){return es(as,t)}function fs(...t){return Promise.all(t.filter(t=>t).map(async t=>{if(!ls(t)&&us(t)){const e=await us(t)();Kn.component(t,e.default)}}))}function ps(t,e){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[t]=e)}var ds=n(86),hs=n.n(ds),vs=n(87),ms=n.n(vs),ys={created(){if(this.siteMeta=this.$site.headTags.filter(([t])=>"meta"===t).map(([t,e])=>e),this.$ssrContext){const e=this.getMergedMetaTags();this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.pageMeta=(t=e)?t.map(t=>{let e="{e+=` ${n}="${ms()(t[n])}"`}),e+">"}).join("\n "):"",this.$ssrContext.canonicalLink=bs(this.$canonicalUrl)}var t},mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],this.updateMeta(),this.updateCanonicalLink()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const t=this.getMergedMetaTags();this.currentMetaTags=_s(t,this.currentMetaTags)},getMergedMetaTags(){const t=this.$page.frontmatter.meta||[];return hs()([{name:"description",content:this.$description}],t,this.siteMeta,ws)},updateCanonicalLink(){gs(),this.$canonicalUrl&&document.head.insertAdjacentHTML("beforeend",bs(this.$canonicalUrl))}},watch:{$page(){this.updateMeta(),this.updateCanonicalLink()}},beforeDestroy(){_s(null,this.currentMetaTags),gs()}};function gs(){const t=document.querySelector("link[rel='canonical']");t&&t.remove()}function bs(t=""){return t?``:""}function _s(t,e){if(e&&[...e].filter(t=>t.parentNode===document.head).forEach(t=>document.head.removeChild(t)),t)return t.map(t=>{const e=document.createElement("meta");return Object.keys(t).forEach(n=>{e.setAttribute(n,t[n])}),document.head.appendChild(e),e})}function ws(t){for(const e of["name","property","itemprop"])if(t.hasOwnProperty(e))return t[e]+e;return JSON.stringify(t)}var xs=n(88),Os={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(xs)()((function(){this.setActiveHash()}),300),setActiveHash(){const t=[].slice.call(document.querySelectorAll(".sidebar-link")),e=[].slice.call(document.querySelectorAll(".header-anchor")).filter(e=>t.some(t=>t.hash===e.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),r=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),o=window.innerHeight+n;for(let t=0;t=i.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},$s=n(89),Cs=n.n($s),Ss={mounted(){Cs.a.polyfill()}},ks=n(22),js=n.n(ks),Es=[ys,Os,Ss,{mounted(){js.a.configure({showSpinner:!1}),this.$router.beforeEach((t,e,n)=>{t.path===e.path||Kn.component(t.name)||js.a.start(),n()}),this.$router.afterEach(()=>{js.a.done(),this.isSidebarOpen=!1})}}],Ts={name:"GlobalLayout",computed:{layout(){const t=this.getLayout();return ps("layout",t),Kn.component(t)}},methods:{getLayout(){if(this.$page.path){const t=this.$page.frontmatter.layout;return t&&(this.$vuepress.getLayoutAsyncComponent(t)||this.$vuepress.getVueComponent(t))?t:"Layout"}return"NotFound"}}},Ps=n(14),As=Object(Ps.a)(Ts,(function(){return(0,this._self._c)(this.layout,{tag:"component"})}),[],!1,null,null,null).exports;!function(t,e,n){switch(e){case"components":t[e]||(t[e]={}),Object.assign(t[e],n);break;case"mixins":t[e]||(t[e]=[]),t[e].push(...n);break;default:throw new Error("Unknown option name.")}}(As,"mixins",Es);const Ls=[{name:"v-5817cb56",path:"/",component:As,beforeEnter:(t,e,n)=>{fs("Layout","v-5817cb56").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-052b1fb6",path:"/api/api.html",component:As,beforeEnter:(t,e,n)=>{fs("Layout","v-052b1fb6").then(n)}},{name:"v-1285978a",path:"/usecases/iot.html",component:As,beforeEnter:(t,e,n)=>{fs("Layout","v-1285978a").then(n)}},{name:"v-607220c5",path:"/usecases/research.html",component:As,beforeEnter:(t,e,n)=>{fs("Layout","v-607220c5").then(n)}},{name:"v-5fe31847",path:"/usecases/smarthome.html",component:As,beforeEnter:(t,e,n)=>{fs("Layout","v-5fe31847").then(n)}},{path:"*",component:As}],Ms={title:"Theengs",description:"Manufacturer agnostic open source set of solutions to read BLE sensors",base:"/",headTags:[["link",{rel:"apple-touch-icon",sizes:"180x180",href:".apple-touch-icon.png"}],["link",{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon-32x32.png"}],["link",{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon-16x16.png"}],["link",{rel:"manifest",href:"/manifest.json"}],["meta",{name:"theme-color",content:"#3eaf7c"}],["meta",{name:"apple-mobile-web-app-capable",content:"yes"}],["meta",{name:"apple-mobile-web-app-status-bar-style",content:"black"}],["link",{rel:"mask-icon",href:"/icons/safari-pinned-tab.svg",color:"#3eaf7c"}],["meta",{name:"msapplication-TileImage",content:"/favicon-144x144.png"}],["meta",{name:"msapplication-TileColor",content:"#000000"}]],pages:[{title:"Theengs BLE sensors applications and MQTT gateways",frontmatter:{home:!0,heroText:null,title:"Theengs BLE sensors applications and MQTT gateways",heroImage:"logo-Theengs.png",tagline:"Manufacturer agnostic BLE sensors applications and gateways",features:[{title:"Interoperability",details:"From Home Assistant to ThingsBoard, Theengs is compatible with most of the IOT platforms and SmarHome controllers."},{title:"Expandability",details:"Theengs can read broadcasted data from many sensors, and it is easy to add one, thanks to the use of a JSON based decoder."},{title:"Open source",details:"Theengs is GPLv3 licensed so you can propose new features easily and have access to how the tools are built."},{title:"Local and cloud compatible",details:"Theengs can run localy or connected to a cloud service. Your choice, not somebody else one."},{title:"Powerfull decoder",details:"Theengs applications use one library to decode the sensors. Adding a device to the library makes it available for the whole ecosystem."},{title:"Compact",details:"Theengs heart is developped in C++ and weight less than 1MB enabling to embed it into a wide range of boards from microcontrollers to computers."}]},regularPath:"/",relativePath:"README.md",key:"v-5817cb56",path:"/",headers:[{level:2,title:"Features",slug:"features"},{level:2,title:"On our bridge",slug:"on-our-bridge"},{level:2,title:"On our smartplug",slug:"on-our-smartplug"},{level:2,title:"On a smartphone or tablet",slug:"on-a-smartphone-or-tablet"},{level:2,title:"On a microcontroller",slug:"on-a-microcontroller"},{level:2,title:"On a computer",slug:"on-a-computer"},{level:2,title:"Integrations",slug:"integrations"}],lastUpdated:"1/13/2024, 4:49:59 PM",lastUpdatedTimestamp:1705164599e3},{title:"Theengs IoT Data Decoding API",frontmatter:{},regularPath:"/api/api.html",relativePath:"api/api.md",key:"v-052b1fb6",path:"/api/api.html",headers:[{level:2,title:"Overview",slug:"overview"},{level:2,title:"Why Choose Theengs IoT Data Decoding API?",slug:"why-choose-theengs-iot-data-decoding-api"},{level:2,title:"Sample API Usage",slug:"sample-api-usage"},{level:2,title:"Try it",slug:"try-it"},{level:2,title:"Getting Started",slug:"getting-started"}],lastUpdated:"1/13/2024, 4:49:59 PM",lastUpdatedTimestamp:1705164599e3},{title:"Environmental Monitoring",frontmatter:{},regularPath:"/usecases/iot.html",relativePath:"usecases/iot.md",key:"v-1285978a",path:"/usecases/iot.html",headers:[{level:2,title:"Environmental Monitoring",slug:"environmental-monitoring"},{level:2,title:"Health and Wellbeing",slug:"health-and-wellbeing"},{level:2,title:"Smart Home Automation",slug:"smart-home-automation"},{level:2,title:"Industrial Applications",slug:"industrial-applications"},{level:2,title:"Energy Management",slug:"energy-management"}],lastUpdated:"1/13/2024, 4:49:59 PM",lastUpdatedTimestamp:1705164599e3},{frontmatter:{},regularPath:"/usecases/research.html",relativePath:"usecases/research.md",key:"v-607220c5",path:"/usecases/research.html",headers:[{level:3,title:"Environmental Monitoring",slug:"environmental-monitoring"},{level:3,title:"Motion and Vibration Sensing",slug:"motion-and-vibration-sensing"},{level:3,title:"Healthcare and Biomedical Research",slug:"healthcare-and-biomedical-research"},{level:3,title:"Energy Management",slug:"energy-management"}],lastUpdated:"1/13/2024, 4:49:59 PM",lastUpdatedTimestamp:1705164599e3},{frontmatter:{},regularPath:"/usecases/smarthome.html",relativePath:"usecases/smarthome.md",key:"v-5fe31847",path:"/usecases/smarthome.html",headers:[{level:3,title:"Monitor your favorite plant with a Mi Flora BLE sensor to know when it needs water",slug:"monitor-your-favorite-plant-with-a-mi-flora-ble-sensor-to-know-when-it-needs-water"},{level:3,title:"Trigger a fan depending on the temperature and humidity thanks to a CGD1 BLE sensor",slug:"trigger-a-fan-depending-on-the-temperature-and-humidity-thanks-to-a-cgd1-ble-sensor"},{level:3,title:"Follow your meat temperature when cooking with an Inkbird IBBQ",slug:"follow-your-meat-temperature-when-cooking-with-an-inkbird-ibbq"},{level:3,title:"Alert yourself by a controller notification if the temperature of a fridge or freezer is too high",slug:"alert-yourself-by-a-controller-notification-if-the-temperature-of-a-fridge-or-freezer-is-too-high"},{level:3,title:"Detect a beacon/smartwatch to trigger a special scenario when you come home",slug:"detect-a-beacon-smartwatch-to-trigger-a-special-scenario-when-you-come-home"},{level:3,title:"Lose weight with the help of a complete log system",slug:"lose-weight-with-the-help-of-a-complete-log-system"},{level:3,title:"Detect opened doors or windows and alert yourself when leaving",slug:"detect-opened-doors-or-windows-and-alert-yourself-when-leaving"},{level:3,title:"Monitor vehicle tire pressure",slug:"monitor-vehicle-tire-pressure"}],lastUpdated:"1/13/2024, 4:49:59 PM",lastUpdatedTimestamp:1705164599e3}],themeConfig:{repo:"theengs",smoothScroll:!0,search:!1,docsDir:"docs",docsBranch:"development",lastUpdated:"Last Updated",editLinks:!0,nav:[{text:"Home",link:"https://www.theengs.io",target:"_self",rel:""},{text:"Use cases",items:[{text:"Smart Home",link:"https://www.theengs.io/usecases/smarthome.html",target:"_self",rel:""},{text:"IoT",link:"https://www.theengs.io/usecases/iot.html",target:"_self",rel:""},{text:"Research",link:"https://www.theengs.io/usecases/research.html",target:"_self",rel:""}]},{text:"Solutions",items:[{text:"Hardware",items:[{text:"Theengs Plug",link:"https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption",target:"_self",rel:""},{text:"Theengs Bridge",link:"https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna",target:"_self",rel:""}]},{text:"Software",items:[{text:"Mobile App",link:"https://app.theengs.io",target:"_self",rel:""},{text:"OpenMQTTGateway",link:"https://docs.openmqttgateway.com",target:"_self",rel:""},{text:"Gateway",link:"https://gateway.theengs.io",target:"_self",rel:""}]},{text:"Core",items:[{text:"Decoder",link:"https://decoder.theengs.io",target:"_self",rel:""},{text:"Web Parser",link:"https://parser.theengs.io",target:"_self",rel:""}]}]},{text:"Compatible devices",link:"https://decoder.theengs.io/devices/devices.html",target:"_self",rel:""},{text:"Community",link:"https://community.openmqttgateway.com",target:"_self",rel:""},{text:"Shop",link:"https://shop.theengs.io/",target:"_self",rel:""},{text:"Sponsor 🤍",link:"https://github.com/sponsors/theengs",target:"_self",rel:""}]}};n(235);Kn.component("Badge",()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,315))),Kn.component("CodeBlock",()=>Promise.all([n.e(0),n.e(5)]).then(n.bind(null,311))),Kn.component("CodeGroup",()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,312)));n(236);function Rs(t){const e=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{x:n.left-e.left,y:n.top-e.top}}n(237);var Is=[{},({Vue:t})=>{t.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},({Vue:t,router:e})=>{e.options.scrollBehavior=(e,n,r)=>{if(r)return window.scrollTo({top:r.y,behavior:"smooth"});if(e.hash){if(t.$vuepress.$get("disableScrollBehavior"))return!1;const n=document.querySelector(e.hash);return!!n&&window.scrollTo({top:Rs(n).y,behavior:"smooth"})}return window.scrollTo({top:0,behavior:"smooth"})}},{}],Ds=[];class Ns extends class{constructor(){this.store=new Kn({data:{state:{}}})}$get(t){return this.store.state[t]}$set(t,e){Kn.set(this.store.state,t,e)}$emit(...t){this.store.$emit(...t)}$on(...t){this.store.$on(...t)}}{}Object.assign(Ns.prototype,{getPageAsyncComponent:ss,getLayoutAsyncComponent:cs,getAsyncComponent:us,getVueComponent:ls});var Us={install(t){const e=new Ns;t.$vuepress=e,t.prototype.$vuepress=e}};function Bs(t,e){const n=e.toLowerCase();return t.options.routes.some(t=>t.path.toLowerCase()===n)}var Fs={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(t){const e=this.pageKey||this.$parent.$page.key;return ps("pageKey",e),Kn.component(e)||Kn.component(e,ss(e)),Kn.component(e)?t(e):t("")}},zs={functional:!0,props:{slotKey:String,required:!0},render:(t,{props:e,slots:n})=>t("div",{class:["content__"+e.slotKey]},n()[e.slotKey])},Vs={computed:{openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText||"(opens new window)"}}},qs=(n(238),n(239),Object(Ps.a)(Vs,(function(){var t=this._self._c;return t("span",[t("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[t("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),this._v(" "),t("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})]),this._v(" "),t("span",{staticClass:"sr-only"},[this._v(this._s(this.openInNewWindowTitle))])])}),[],!1,null,null,null).exports),Hs={functional:!0,render(t,{parent:e,children:n}){if(e._isMounted)return n;e.$once("hook:mounted",()=>{e.$forceUpdate()})}};Kn.config.productionTip=!1,Kn.use(Ha),Kn.use(Us),Kn.mixin(function(t,e,n=Kn){!function(t){t.locales&&Object.keys(t.locales).forEach(e=>{t.locales[e].path=e});Object.freeze(t)}(e),n.$vuepress.$set("siteData",e);const r=new(t(n.$vuepress.$get("siteData"))),o=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(r)),i={};return Object.keys(o).reduce((t,e)=>(e.startsWith("$")&&(t[e]=o[e].get),t),i),{computed:i}}(t=>class{setPage(t){this.__page=t}get $site(){return t}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:t={}}=this.$site;let e,n;for(const r in t)"/"===r?n=t[r]:0===this.$page.path.indexOf(r)&&(e=t[r]);return e||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $canonicalUrl(){const{canonicalUrl:t}=this.$page.frontmatter;return"string"==typeof t&&t}get $title(){const t=this.$page,{metaTitle:e}=this.$page.frontmatter;if("string"==typeof e)return e;const n=this.$siteTitle,r=t.frontmatter.home?null:t.frontmatter.title||t.title;return n?r?r+" | "+n:n:r||"VuePress"}get $description(){const t=function(t){if(t){const e=t.filter(t=>"description"===t.name)[0];if(e)return e.content}}(this.$page.frontmatter.meta);return t||(this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||"")}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(t,e){for(let n=0;nn||(t.hash?!Kn.$vuepress.$get("disableScrollBehavior")&&{selector:decodeURIComponent(t.hash)}:{x:0,y:0})});!function(t){t.beforeEach((e,n,r)=>{if(Bs(t,e.path))r();else if(/(\/|\.html)$/.test(e.path))if(/\/$/.test(e.path)){const n=e.path.replace(/\/$/,"")+".html";Bs(t,n)?r(n):r()}else r();else{const n=e.path+"/",o=e.path+".html";Bs(t,o)?r(o):Bs(t,n)?r(n):r()}})}(n);const r={};try{await Promise.all(Is.filter(t=>"function"==typeof t).map(e=>e({Vue:Kn,options:r,router:n,siteData:Ms,isServer:t})))}catch(t){console.error(t)}return{app:new Kn(Object.assign(r,{router:n,render:t=>t("div",{attrs:{id:"app"}},[t("RouterView",{ref:"layout"}),t("div",{class:"global-ui"},Ds.map(e=>t(e)))])})),router:n}}(!1).then(({app:t,router:e})=>{e.onReady(()=>{t.$mount("#app")})})}]); \ No newline at end of file +var r=Object.freeze({}),o=Array.isArray;function i(t){return null==t}function a(t){return null!=t}function s(t){return!0===t}function c(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function u(t){return"function"==typeof t}function l(t){return null!==t&&"object"==typeof t}var f=Object.prototype.toString;function p(t){return"[object Object]"===f.call(t)}function d(t){return"[object RegExp]"===f.call(t)}function h(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function v(t){return a(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function m(t){return null==t?"":Array.isArray(t)||p(t)&&t.toString===f?JSON.stringify(t,y,2):String(t)}function y(t,e){return e&&e.__v_isRef?e.value:e}function g(t){var e=parseFloat(t);return isNaN(e)?t:e}function b(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(r,1)}}var x=Object.prototype.hasOwnProperty;function O(t,e){return x.call(t,e)}function $(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var C=/-(\w)/g,S=$((function(t){return t.replace(C,(function(t,e){return e?e.toUpperCase():""}))})),k=$((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),j=/\B([A-Z])/g,E=$((function(t){return t.replace(j,"-$1").toLowerCase()}));var T=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function P(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function A(t,e){for(var n in e)t[n]=e[n];return t}function L(t){for(var e={},n=0;n0,Z=G&&G.indexOf("edge/")>0;G&&G.indexOf("android");var tt=G&&/iphone|ipad|ipod|ios/.test(G);G&&/chrome\/\d+/.test(G),G&&/phantomjs/.test(G);var et,nt=G&&G.match(/firefox\/(\d+)/),rt={}.watch,ot=!1;if(Y)try{var it={};Object.defineProperty(it,"passive",{get:function(){ot=!0}}),window.addEventListener("test-passive",null,it)}catch(t){}var at=function(){return void 0===et&&(et=!Y&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),et},st=Y&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ct(t){return"function"==typeof t&&/native code/.test(t.toString())}var ut,lt="undefined"!=typeof Symbol&&ct(Symbol)&&"undefined"!=typeof Reflect&&ct(Reflect.ownKeys);ut="undefined"!=typeof Set&&ct(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ft=null;function pt(t){void 0===t&&(t=null),t||ft&&ft._scope.off(),ft=t,t&&t._scope.on()}var dt=function(){function t(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),ht=function(t){void 0===t&&(t="");var e=new dt;return e.text=t,e.isComment=!0,e};function vt(t){return new dt(void 0,void 0,void 0,String(t))}function mt(t){var e=new dt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}"function"==typeof SuppressedError&&SuppressedError;var yt=0,gt=[],bt=function(){function t(){this._pending=!1,this.id=yt++,this.subs=[]}return t.prototype.addSub=function(t){this.subs.push(t)},t.prototype.removeSub=function(t){this.subs[this.subs.indexOf(t)]=null,this._pending||(this._pending=!0,gt.push(this))},t.prototype.depend=function(e){t.target&&t.target.addDep(this)},t.prototype.notify=function(t){var e=this.subs.filter((function(t){return t}));for(var n=0,r=e.length;n0&&(Gt((u=t(u,"".concat(n||"","_").concat(r)))[0])&&Gt(f)&&(p[l]=vt(f.text+u[0].text),u.shift()),p.push.apply(p,u)):c(u)?Gt(f)?p[l]=vt(f.text+u):""!==u&&p.push(vt(u)):Gt(u)&&Gt(f)?p[l]=vt(f.text+u.text):(s(e._isVList)&&a(u.tag)&&i(u.key)&&a(n)&&(u.key="__vlist".concat(n,"_").concat(r,"__")),p.push(u)));return p}(t):void 0}function Gt(t){return a(t)&&a(t.text)&&!1===t.isComment}function Jt(t,e){var n,r,i,s,c=null;if(o(t)||"string"==typeof t)for(c=new Array(t.length),n=0,r=t.length;n0,s=e?!!e.$stable:!a,c=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(s&&o&&o!==r&&c===o.$key&&!a&&!o.$hasNormal)return o;for(var u in i={},e)e[u]&&"$"!==u[0]&&(i[u]=me(t,n,u,e[u]))}else i={};for(var l in n)l in i||(i[l]=ye(n,l));return e&&Object.isExtensible(e)&&(e._normalized=i),W(i,"$stable",s),W(i,"$key",c),W(i,"$hasNormal",a),i}function me(t,e,n,r){var i=function(){var e=ft;pt(t);var n=arguments.length?r.apply(null,arguments):r({}),i=(n=n&&"object"==typeof n&&!o(n)?[n]:Yt(n))&&n[0];return pt(e),n&&(!i||1===n.length&&i.isComment&&!he(i))?void 0:n};return r.proxy&&Object.defineProperty(e,n,{get:i,enumerable:!0,configurable:!0}),i}function ye(t,e){return function(){return t[e]}}function ge(t){return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy={};W(e,"_v_attr_proxy",!0),be(e,t.$attrs,r,t,"$attrs")}return t._attrsProxy},get listeners(){t._listenersProxy||be(t._listenersProxy={},t.$listeners,r,t,"$listeners");return t._listenersProxy},get slots(){return function(t){t._slotsProxy||we(t._slotsProxy={},t.$scopedSlots);return t._slotsProxy}(t)},emit:T(t.$emit,t),expose:function(e){e&&Object.keys(e).forEach((function(n){return Bt(t,e,n)}))}}}function be(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0):(i=!0,_e(t,a,r,o));for(var a in t)a in e||(i=!0,delete t[a]);return i}function _e(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}function we(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}var xe=null;function Oe(t,e){return(t.__esModule||lt&&"Module"===t[Symbol.toStringTag])&&(t=t.default),l(t)?e.extend(t):t}function $e(t){if(o(t))for(var e=0;edocument.createEvent("Event").timeStamp&&(un=function(){return ln.now()})}var fn=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return-1;return t.id-e.id};function pn(){var t,e;for(cn=un(),an=!0,en.sort(fn),sn=0;snsn&&en[n].id>t.id;)n--;en.splice(n+1,0,t)}else en.push(t);on||(on=!0,Ue(pn))}}function hn(t,e){if(t){for(var n=Object.create(null),r=lt?Reflect.ownKeys(t):Object.keys(t),o=0;o-1)if(i&&!O(o,"default"))a=!1;else if(""===a||a===E(t)){var c=In(String,o.type);(c<0||s-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!d(t)&&t.test(e)}function Jn(t,e){var n=t.cache,r=t.keys,o=t._vnode,i=t.$vnode;for(var a in n){var s=n[a];if(s){var c=s.name;c&&!e(c)&&Qn(n,a,r,o)}}i.componentOptions.children=void 0}function Qn(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,w(n,e)}Kn.prototype._init=function(t){var e=this;e._uid=qn++,e._isVue=!0,e.__v_skip=!0,e._scope=new zt(!0),e._scope.parent=void 0,e._scope._vm=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Tn(Wn(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._provided=n?n._provided:Object.create(null),t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Ye(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,o=n&&n.context;t.$slots=pe(e._renderChildren,o),t.$scopedSlots=n?ve(t.$parent,n.data.scopedSlots,t.$slots):r,t._c=function(e,n,r,o){return Ce(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return Ce(t,e,n,r,o,!0)};var i=n&&n.data;At(t,"$attrs",i&&i.attrs||r,null,!0),At(t,"$listeners",e._parentListeners||r,null,!0)}(e),tn(e,"beforeCreate",void 0,!1),function(t){var e=hn(t.$options.inject,t);e&&(jt(!1),Object.keys(e).forEach((function(n){At(t,n,e[n])})),jt(!0))}(e),Un(e),function(t){var e=t.$options.provide;if(e){var n=u(e)?e.call(t):e;if(!l(n))return;for(var r=Vt(t),o=lt?Reflect.ownKeys(n):Object.keys(n),i=0;i1?P(n):n;for(var r=P(arguments,1),o='event handler for "'.concat(t,'"'),i=0,a=n.length;iparseInt(this.max)&&Qn(t,e[0],e,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Qn(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){Jn(t,(function(t){return Gn(e,t)}))})),this.$watch("exclude",(function(e){Jn(t,(function(t){return!Gn(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=$e(t),n=e&&e.componentOptions;if(n){var r=Yn(n),o=this.include,i=this.exclude;if(o&&(!r||!Gn(o,r))||i&&r&&Gn(i,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;a[c]?(e.componentInstance=a[c].componentInstance,w(s,c),s.push(c)):(this.vnodeToCache=e,this.keyToCache=c),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return V}};Object.defineProperty(t,"config",e),t.util={warn:On,extend:A,mergeOptions:Tn,defineReactive:At},t.set=Lt,t.delete=Mt,t.nextTick=Ue,t.observable=function(t){return Pt(t),t},t.options=Object.create(null),F.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,A(t.options.components,tr),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=P(arguments,1);return n.unshift(this),u(t.install)?t.install.apply(t,n):u(t)&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Tn(this.options,t),this}}(t),Xn(t),function(t){F.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&p(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&u(n)&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(Kn),Object.defineProperty(Kn.prototype,"$isServer",{get:at}),Object.defineProperty(Kn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Kn,"FunctionalRenderContext",{value:vn}),Kn.version="2.7.16";var er=b("style,class"),nr=b("input,textarea,option,select,progress"),rr=b("contenteditable,draggable,spellcheck"),or=b("events,caret,typing,plaintext-only"),ir=b("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),ar="http://www.w3.org/1999/xlink",sr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},cr=function(t){return sr(t)?t.slice(6,t.length):""},ur=function(t){return null==t||!1===t};function lr(t){for(var e=t.data,n=t,r=t;a(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=fr(r.data,e));for(;a(n=n.parent);)n&&n.data&&(e=fr(e,n.data));return function(t,e){if(a(t)||a(e))return pr(t,dr(e));return""}(e.staticClass,e.class)}function fr(t,e){return{staticClass:pr(t.staticClass,e.staticClass),class:a(t.class)?[t.class,e.class]:e.class}}function pr(t,e){return t?e?t+" "+e:t:e||""}function dr(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r-1?Dr(t,e,n):ir(e)?ur(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):rr(e)?t.setAttribute(e,function(t,e){return ur(e)||"false"===e?"false":"contenteditable"===t&&or(e)?e:"true"}(e,n)):sr(e)?ur(n)?t.removeAttributeNS(ar,cr(e)):t.setAttributeNS(ar,e,n):Dr(t,e,n)}function Dr(t,e,n){if(ur(n))t.removeAttribute(e);else{if(J&&!Q&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var Nr={create:Rr,update:Rr};function Ur(t,e){var n=e.elm,r=e.data,o=t.data;if(!(i(r.staticClass)&&i(r.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var s=lr(e),c=n._transitionClasses;a(c)&&(s=pr(s,dr(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var Br,Fr={create:Ur,update:Ur};function zr(t,e,n){var r=Br;return function o(){var i=e.apply(null,arguments);null!==i&&qr(t,o,n,r)}}var Vr=Pe&&!(nt&&Number(nt[1])<=53);function Hr(t,e,n,r){if(Vr){var o=cn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}Br.addEventListener(t,e,ot?{capture:n,passive:r}:n)}function qr(t,e,n,r){(r||Br).removeEventListener(t,e._wrapper||e,n)}function Wr(t,e){if(!i(t.data.on)||!i(e.data.on)){var n=e.data.on||{},r=t.data.on||{};Br=e.elm||t.elm,function(t){if(a(t.__r)){var e=J?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}a(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(n),Wt(n,r,Hr,qr,zr,e.context),Br=void 0}}var Kr,Xr={create:Wr,update:Wr,destroy:function(t){return Wr(t,$r)}};function Yr(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var n,r,o=e.elm,c=t.data.domProps||{},u=e.data.domProps||{};for(n in(a(u.__ob__)||s(u._v_attr_proxy))&&(u=e.data.domProps=A({},u)),c)n in u||(o[n]="");for(n in u){if(r=u[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===c[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var l=i(r)?"":String(r);Gr(o,l)&&(o.value=l)}else if("innerHTML"===n&&mr(o.tagName)&&i(o.innerHTML)){(Kr=Kr||document.createElement("div")).innerHTML="".concat(r,"");for(var f=Kr.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;f.firstChild;)o.appendChild(f.firstChild)}else if(r!==c[n])try{o[n]=r}catch(t){}}}}function Gr(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(a(r)){if(r.number)return g(n)!==g(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var Jr={create:Yr,update:Yr},Qr=$((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function Zr(t){var e=to(t.style);return t.staticStyle?A(t.staticStyle,e):e}function to(t){return Array.isArray(t)?L(t):"string"==typeof t?Qr(t):t}var eo,no=/^--/,ro=/\s*!important$/,oo=function(t,e,n){if(no.test(e))t.style.setProperty(e,n);else if(ro.test(n))t.style.setProperty(E(e),n.replace(ro,""),"important");else{var r=ao(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(uo).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function fo(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(uo).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function po(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&A(e,ho(t.name||"v")),A(e,t),e}return"string"==typeof t?ho(t):void 0}}var ho=$((function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}})),vo=Y&&!Q,mo="transition",yo="transitionend",go="animation",bo="animationend";vo&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(mo="WebkitTransition",yo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(go="WebkitAnimation",bo="webkitAnimationEnd"));var _o=Y?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function wo(t){_o((function(){_o(t)}))}function xo(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),lo(t,e))}function Oo(t,e){t._transitionClasses&&w(t._transitionClasses,e),fo(t,e)}function $o(t,e,n){var r=So(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s="transition"===o?yo:bo,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c0&&(n="transition",l=a,f=i.length):"animation"===e?u>0&&(n="animation",l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?"transition":"animation":null)?"transition"===n?i.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:"transition"===n&&Co.test(r[mo+"Property"])}}function ko(t,e){for(;t.length1}function Lo(t,e){!0!==e.data.show&&Eo(e)}var Mo=function(t){var e,n,r={},u=t.modules,l=t.nodeOps;for(e=0;eh?_(t,i(n[y+1])?null:n[y+1].elm,n,d,y,r):d>y&&x(e,f,h)}(f,v,y,n,u):a(y)?(a(t.text)&&l.setTextContent(f,""),_(f,null,y,0,y.length-1,n)):a(v)?x(v,0,v.length-1):a(t.text)&&l.setTextContent(f,""):t.text!==e.text&&l.setTextContent(f,e.text),a(h)&&a(d=h.hook)&&a(d=d.postpatch)&&d(t,e)}}}function S(t,e,n){if(s(n)&&a(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,a.selected!==i&&(a.selected=i);else if(D(Uo(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function No(t,e){return e.every((function(e){return!D(e,t)}))}function Uo(t){return"_value"in t?t._value:t.value}function Bo(t){t.target.composing=!0}function Fo(t){t.target.composing&&(t.target.composing=!1,zo(t.target,"input"))}function zo(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Vo(t){return!t.componentInstance||t.data&&t.data.transition?t:Vo(t.componentInstance._vnode)}var Ho={model:Ro,show:{bind:function(t,e,n){var r=e.value,o=(n=Vo(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,Eo(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=Vo(n)).data&&n.data.transition?(n.data.show=!0,r?Eo(n,(function(){t.style.display=t.__vOriginalDisplay})):To(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}}},qo={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Wo(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Wo($e(e.children)):t}function Ko(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var r in o)e[S(r)]=o[r];return e}function Xo(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Yo=function(t){return t.tag||he(t)},Go=function(t){return"show"===t.name},Jo={name:"transition",props:qo,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Yo)).length){0;var r=this.mode;0;var o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var i=Wo(o);if(!i)return o;if(this._leaving)return Xo(t,o);var a="__transition-".concat(this._uid,"-");i.key=null==i.key?i.isComment?a+"comment":a+i.tag:c(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=Ko(this),u=this._vnode,l=Wo(u);if(i.data.directives&&i.data.directives.some(Go)&&(i.data.show=!0),l&&l.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(i,l)&&!he(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=A({},s);if("out-in"===r)return this._leaving=!0,Kt(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Xo(t,o);if("in-out"===r){if(he(i))return u;var p,d=function(){p()};Kt(s,"afterEnter",d),Kt(s,"enterCancelled",d),Kt(f,"delayLeave",(function(t){p=t}))}}return o}}},Qo=A({tag:String,moveClass:String},qo);function Zo(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function ti(t){t.data.newPos=t.elm.getBoundingClientRect()}function ei(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate(".concat(r,"px,").concat(o,"px)"),i.transitionDuration="0s"}}delete Qo.mode;var ni={Transition:Jo,TransitionGroup:{props:Qo,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Je(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=Ko(this),s=0;s-1?gr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:gr[t]=/HTMLUnknownElement/.test(e.toString())},A(Kn.options.directives,Ho),A(Kn.options.components,ni),Kn.prototype.__patch__=Y?Mo:M,Kn.prototype.$mount=function(t,e){return function(t,e,n){var r;t.$el=e,t.$options.render||(t.$options.render=ht),tn(t,"beforeMount"),r=function(){t._update(t._render(),n)},new qe(t,r,M,{before:function(){t._isMounted&&!t._isDestroyed&&tn(t,"beforeUpdate")}},!0),n=!1;var o=t._preWatchers;if(o)for(var i=0;i=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}(o.path||""),u=e&&e.path||"/",l=c.path?Oi(c.path,u,n||o.append):u,f=function(t,e,n){void 0===e&&(e={});var r,o=n||li;try{r=o(t||"")}catch(t){r={}}for(var i in e){var a=e[i];r[i]=Array.isArray(a)?a.map(ui):ui(a)}return r}(c.query,o.query,r&&r.options.parseQuery),p=o.hash||c.hash;return p&&"#"!==p.charAt(0)&&(p="#"+p),{_normalized:!0,path:l,query:f,hash:p}}var Hi,qi=function(){},Wi={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),i=o.location,a=o.route,s=o.href,c={},u=n.options.linkActiveClass,l=n.options.linkExactActiveClass,f=null==u?"router-link-active":u,p=null==l?"router-link-exact-active":l,d=null==this.activeClass?f:this.activeClass,h=null==this.exactActiveClass?p:this.exactActiveClass,v=a.redirectedFrom?di(null,Vi(a.redirectedFrom),null,n):a;c[h]=gi(r,v,this.exactPath),c[d]=this.exact||this.exactPath?c[h]:function(t,e){return 0===t.path.replace(pi,"/").indexOf(e.path.replace(pi,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(t.query,e.query)}(r,v);var m=c[h]?this.ariaCurrentValue:null,y=function(t){Ki(t)&&(e.replace?n.replace(i,qi):n.push(i,qi))},g={click:Ki};Array.isArray(this.event)?this.event.forEach((function(t){g[t]=y})):g[this.event]=y;var b={class:c},_=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:s,route:a,navigate:y,isActive:c[d],isExactActive:c[h]});if(_){if(1===_.length)return _[0];if(_.length>1||!_.length)return 0===_.length?t():t("span",{},_)}if("a"===this.tag)b.on=g,b.attrs={href:s,"aria-current":m};else{var w=function t(e){var n;if(e)for(var r=0;r-1&&(s.params[p]=n.params[p]);return s.path=zi(l.path,s.params),c(l,s,a)}if(s.path){s.params={};for(var d=0;d-1}function $a(t,e){return Oa(t)&&t._isRouter&&(null==e||t.type===e)}function Ca(t,e,n){var r=function(o){o>=t.length?n():t[o]?e(t[o],(function(){r(o+1)})):r(o+1)};r(0)}function Sa(t){return function(e,n,r){var o=!1,i=0,a=null;ka(t,(function(t,e,n,s){if("function"==typeof t&&void 0===t.cid){o=!0,i++;var c,u=Ta((function(e){var o;((o=e).__esModule||Ea&&"Module"===o[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:Hi.extend(e),n.components[s]=e,--i<=0&&r()})),l=Ta((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=Oa(t)?t:new Error(e),r(a))}));try{c=t(u,l)}catch(t){l(t)}if(c)if("function"==typeof c.then)c.then(u,l);else{var f=c.component;f&&"function"==typeof f.then&&f.then(u,l)}}})),o||r()}}function ka(t,e){return ja(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function ja(t){return Array.prototype.concat.apply([],t)}var Ea="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function Ta(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var Pa=function(t,e){this.router=t,this.base=function(t){if(!t)if(Xi){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";"/"!==t.charAt(0)&&(t="/"+t);return t.replace(/\/$/,"")}(e),this.current=vi,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function Aa(t,e,n,r){var o=ka(t,(function(t,r,o,i){var a=function(t,e){"function"!=typeof t&&(t=Hi.extend(t));return t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map((function(t){return n(t,r,o,i)})):n(a,r,o,i)}));return ja(r?o.reverse():o)}function La(t,e){if(e)return function(){return t.apply(e,arguments)}}Pa.prototype.listen=function(t){this.cb=t},Pa.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},Pa.prototype.onError=function(t){this.errorCbs.push(t)},Pa.prototype.transitionTo=function(t,e,n){var r,o=this;try{r=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var i=this.current;this.confirmTransition(r,(function(){o.updateRoute(r),e&&e(r),o.ensureURL(),o.router.afterHooks.forEach((function(t){t&&t(r,i)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(t){t(r)})))}),(function(t){n&&n(t),t&&!o.ready&&($a(t,ga.redirected)&&i===vi||(o.ready=!0,o.readyErrorCbs.forEach((function(e){e(t)}))))}))},Pa.prototype.confirmTransition=function(t,e,n){var r=this,o=this.current;this.pending=t;var i,a,s=function(t){!$a(t)&&Oa(t)&&(r.errorCbs.length?r.errorCbs.forEach((function(e){e(t)})):console.error(t)),n&&n(t)},c=t.matched.length-1,u=o.matched.length-1;if(gi(t,o)&&c===u&&t.matched[c]===o.matched[u])return this.ensureURL(),t.hash&&aa(this.router,o,t,!1),s(((a=wa(i=o,t,ga.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",a));var l=function(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,r=va&&n;r&&this.listeners.push(ia());var o=function(){var n=t.current,o=Ra(t.base);t.current===vi&&o===t._startLocation||t.transitionTo(o,(function(t){r&&aa(e,t,n,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){ma($i(r.base+t.fullPath)),aa(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){ya($i(r.base+t.fullPath)),aa(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(Ra(this.base)!==this.current.fullPath){var e=$i(this.base+this.current.fullPath);t?ma(e):ya(e)}},e.prototype.getCurrentLocation=function(){return Ra(this.base)},e}(Pa);function Ra(t){var e=window.location.pathname,n=e.toLowerCase(),r=t.toLowerCase();return!t||n!==r&&0!==n.indexOf($i(r+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var Ia=function(t){function e(e,n,r){t.call(this,e,n),r&&function(t){var e=Ra(t);if(!/^\/#/.test(e))return window.location.replace($i(t+"/#"+e)),!0}(this.base)||Da()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,n=va&&e;n&&this.listeners.push(ia());var r=function(){var e=t.current;Da()&&t.transitionTo(Na(),(function(r){n&&aa(t.router,r,e,!0),va||Fa(r.fullPath)}))},o=va?"popstate":"hashchange";window.addEventListener(o,r),this.listeners.push((function(){window.removeEventListener(o,r)}))}},e.prototype.push=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){Ba(t.fullPath),aa(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){Fa(t.fullPath),aa(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Na()!==e&&(t?Ba(e):Fa(e))},e.prototype.getCurrentLocation=function(){return Na()},e}(Pa);function Da(){var t=Na();return"/"===t.charAt(0)||(Fa("/"+t),!1)}function Na(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function Ua(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function Ba(t){va?ma(Ua(t)):window.location.hash=t}function Fa(t){va?ya(Ua(t)):window.location.replace(Ua(t))}var za=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var t=e.current;e.index=n,e.updateRoute(r),e.router.afterHooks.forEach((function(e){e&&e(r,t)}))}),(function(t){$a(t,ga.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(Pa),Va=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Ji(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!va&&!1!==t.fallback,this.fallback&&(e="hash"),Xi||(e="abstract"),this.mode=e,e){case"history":this.history=new Ma(this,t.base);break;case"hash":this.history=new Ia(this,t.base,this.fallback);break;case"abstract":this.history=new za(this,t.base);break;default:0}},Ha={currentRoute:{configurable:!0}};Va.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Ha.currentRoute.get=function(){return this.history&&this.history.current},Va.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof Ma||n instanceof Ia){var r=function(t){n.setupListeners(),function(t){var r=n.current,o=e.options.scrollBehavior;va&&o&&"fullPath"in t&&aa(e,t,r,!1)}(t)};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Va.prototype.beforeEach=function(t){return Wa(this.beforeHooks,t)},Va.prototype.beforeResolve=function(t){return Wa(this.resolveHooks,t)},Va.prototype.afterEach=function(t){return Wa(this.afterHooks,t)},Va.prototype.onReady=function(t,e){this.history.onReady(t,e)},Va.prototype.onError=function(t){this.history.onError(t)},Va.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},Va.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},Va.prototype.go=function(t){this.history.go(t)},Va.prototype.back=function(){this.go(-1)},Va.prototype.forward=function(){this.go(1)},Va.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Va.prototype.resolve=function(t,e,n){var r=Vi(t,e=e||this.history.current,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:function(t,e,n){var r="hash"===n?"#"+e:e;return t?$i(t+"/"+r):r}(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},Va.prototype.getRoutes=function(){return this.matcher.getRoutes()},Va.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==vi&&this.history.transitionTo(this.history.getCurrentLocation())},Va.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==vi&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Va.prototype,Ha);var qa=Va;function Wa(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}Va.install=function t(e){if(!t.installed||Hi!==e){t.installed=!0,Hi=e;var n=function(t){return void 0!==t},r=function(t,e){var r=t.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(t,e)};e.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",wi),e.component("RouterLink",Wi);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Va.version="3.6.5",Va.isNavigationFailure=$a,Va.NavigationFailureType=ga,Va.START_LOCATION=vi,Xi&&window.Vue&&window.Vue.use(Va);n(97);n(90),n(127);var Ka={"components/AlgoliaSearchBox":()=>Promise.all([n.e(0),n.e(13)]).then(n.bind(null,310)),"components/DropdownLink":()=>Promise.all([n.e(0),n.e(14)]).then(n.bind(null,256)),"components/DropdownTransition":()=>Promise.all([n.e(0),n.e(21)]).then(n.bind(null,244)),"components/Home":()=>Promise.all([n.e(0),n.e(18)]).then(n.bind(null,282)),"components/NavLink":()=>n.e(23).then(n.bind(null,243)),"components/NavLinks":()=>Promise.all([n.e(0),n.e(12)]).then(n.bind(null,267)),"components/Navbar":()=>Promise.all([n.e(0),n.e(1)]).then(n.bind(null,307)),"components/Page":()=>Promise.all([n.e(0),n.e(11)]).then(n.bind(null,283)),"components/PageEdit":()=>Promise.all([n.e(0),n.e(19)]).then(n.bind(null,269)),"components/PageNav":()=>Promise.all([n.e(0),n.e(16)]).then(n.bind(null,270)),"components/Sidebar":()=>Promise.all([n.e(0),n.e(10)]).then(n.bind(null,284)),"components/SidebarButton":()=>Promise.all([n.e(0),n.e(22)]).then(n.bind(null,285)),"components/SidebarGroup":()=>Promise.all([n.e(0),n.e(3)]).then(n.bind(null,268)),"components/SidebarLink":()=>Promise.all([n.e(0),n.e(20)]).then(n.bind(null,257)),"components/SidebarLinks":()=>Promise.all([n.e(0),n.e(3)]).then(n.bind(null,255)),"global-components/Badge":()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,315)),"global-components/CodeBlock":()=>Promise.all([n.e(0),n.e(5)]).then(n.bind(null,311)),"global-components/CodeGroup":()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,312)),"layouts/404":()=>n.e(7).then(n.bind(null,313)),"layouts/Layout":()=>Promise.all([n.e(0),n.e(1),n.e(2)]).then(n.bind(null,314)),NotFound:()=>n.e(7).then(n.bind(null,313)),Layout:()=>Promise.all([n.e(0),n.e(1),n.e(2)]).then(n.bind(null,314))},Xa={"v-5817cb56":()=>n.e(15).then(n.bind(null,316)),"v-052b1fb6":()=>n.e(24).then(n.bind(null,317)),"v-1285978a":()=>n.e(25).then(n.bind(null,318)),"v-5fe31847":()=>n.e(17).then(n.bind(null,319)),"v-607220c5":()=>n.e(26).then(n.bind(null,320))};function Ya(t){const e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}const Ga=/-(\w)/g,Ja=Ya(t=>t.replace(Ga,(t,e)=>e?e.toUpperCase():"")),Qa=/\B([A-Z])/g,Za=Ya(t=>t.replace(Qa,"-$1").toLowerCase()),ts=Ya(t=>t.charAt(0).toUpperCase()+t.slice(1));function es(t,e){if(!e)return;if(t(e))return t(e);return e.includes("-")?t(ts(Ja(e))):t(ts(e))||t(Za(e))}const ns=Object.assign({},Ka,Xa),rs=t=>ns[t],os=t=>Xa[t],is=t=>Ka[t],as=t=>Kn.component(t);function ss(t){return es(os,t)}function cs(t){return es(is,t)}function us(t){return es(rs,t)}function ls(t){return es(as,t)}function fs(...t){return Promise.all(t.filter(t=>t).map(async t=>{if(!ls(t)&&us(t)){const e=await us(t)();Kn.component(t,e.default)}}))}function ps(t,e){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[t]=e)}var ds=n(86),hs=n.n(ds),vs=n(87),ms=n.n(vs),ys={created(){if(this.siteMeta=this.$site.headTags.filter(([t])=>"meta"===t).map(([t,e])=>e),this.$ssrContext){const e=this.getMergedMetaTags();this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.pageMeta=(t=e)?t.map(t=>{let e="{e+=` ${n}="${ms()(t[n])}"`}),e+">"}).join("\n "):"",this.$ssrContext.canonicalLink=bs(this.$canonicalUrl)}var t},mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],this.updateMeta(),this.updateCanonicalLink()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const t=this.getMergedMetaTags();this.currentMetaTags=_s(t,this.currentMetaTags)},getMergedMetaTags(){const t=this.$page.frontmatter.meta||[];return hs()([{name:"description",content:this.$description}],t,this.siteMeta,ws)},updateCanonicalLink(){gs(),this.$canonicalUrl&&document.head.insertAdjacentHTML("beforeend",bs(this.$canonicalUrl))}},watch:{$page(){this.updateMeta(),this.updateCanonicalLink()}},beforeDestroy(){_s(null,this.currentMetaTags),gs()}};function gs(){const t=document.querySelector("link[rel='canonical']");t&&t.remove()}function bs(t=""){return t?``:""}function _s(t,e){if(e&&[...e].filter(t=>t.parentNode===document.head).forEach(t=>document.head.removeChild(t)),t)return t.map(t=>{const e=document.createElement("meta");return Object.keys(t).forEach(n=>{e.setAttribute(n,t[n])}),document.head.appendChild(e),e})}function ws(t){for(const e of["name","property","itemprop"])if(t.hasOwnProperty(e))return t[e]+e;return JSON.stringify(t)}var xs=n(88),Os={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(xs)()((function(){this.setActiveHash()}),300),setActiveHash(){const t=[].slice.call(document.querySelectorAll(".sidebar-link")),e=[].slice.call(document.querySelectorAll(".header-anchor")).filter(e=>t.some(t=>t.hash===e.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),r=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),o=window.innerHeight+n;for(let t=0;t=i.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},$s=n(89),Cs=n.n($s),Ss={mounted(){Cs.a.polyfill()}},ks=n(22),js=n.n(ks),Es=[ys,Os,Ss,{mounted(){js.a.configure({showSpinner:!1}),this.$router.beforeEach((t,e,n)=>{t.path===e.path||Kn.component(t.name)||js.a.start(),n()}),this.$router.afterEach(()=>{js.a.done(),this.isSidebarOpen=!1})}}],Ts={name:"GlobalLayout",computed:{layout(){const t=this.getLayout();return ps("layout",t),Kn.component(t)}},methods:{getLayout(){if(this.$page.path){const t=this.$page.frontmatter.layout;return t&&(this.$vuepress.getLayoutAsyncComponent(t)||this.$vuepress.getVueComponent(t))?t:"Layout"}return"NotFound"}}},Ps=n(14),As=Object(Ps.a)(Ts,(function(){return(0,this._self._c)(this.layout,{tag:"component"})}),[],!1,null,null,null).exports;!function(t,e,n){switch(e){case"components":t[e]||(t[e]={}),Object.assign(t[e],n);break;case"mixins":t[e]||(t[e]=[]),t[e].push(...n);break;default:throw new Error("Unknown option name.")}}(As,"mixins",Es);const Ls=[{name:"v-5817cb56",path:"/",component:As,beforeEnter:(t,e,n)=>{fs("Layout","v-5817cb56").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-052b1fb6",path:"/api/api.html",component:As,beforeEnter:(t,e,n)=>{fs("Layout","v-052b1fb6").then(n)}},{name:"v-1285978a",path:"/usecases/iot.html",component:As,beforeEnter:(t,e,n)=>{fs("Layout","v-1285978a").then(n)}},{name:"v-5fe31847",path:"/usecases/smarthome.html",component:As,beforeEnter:(t,e,n)=>{fs("Layout","v-5fe31847").then(n)}},{name:"v-607220c5",path:"/usecases/research.html",component:As,beforeEnter:(t,e,n)=>{fs("Layout","v-607220c5").then(n)}},{path:"*",component:As}],Ms={title:"Manufacturer agnostic BLE sensors applications and MQTT gateways",description:"Explore Theengs: the open-source platform that bridges hundreds of sensors and smart devices into one interface. Compatible with major IoT platforms and home automation systems like AWS, OpenHAB, Home Assistant, and Jeedom, Theengs simplifies your smart home experience. It supports MQTT protocol, enabling efficient integration and automation of devices. Theengs enhances interoperability of your your smart home or IoT ecosystem.",base:"/",headTags:[["link",{rel:"apple-touch-icon",sizes:"180x180",href:".apple-touch-icon.png"}],["link",{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon-32x32.png"}],["link",{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon-16x16.png"}],["link",{rel:"manifest",href:"/manifest.json"}],["meta",{name:"theme-color",content:"#3eaf7c"}],["meta",{name:"apple-mobile-web-app-capable",content:"yes"}],["meta",{name:"apple-mobile-web-app-status-bar-style",content:"black"}],["link",{rel:"mask-icon",href:"/icons/safari-pinned-tab.svg",color:"#3eaf7c"}],["meta",{name:"msapplication-TileImage",content:"/favicon-144x144.png"}],["meta",{name:"msapplication-TileColor",content:"#000000"}]],pages:[{title:"Manufacturer agnostic BLE sensors applications and MQTT gateways",frontmatter:{home:!0,heroText:"We Unite Sensors in One Open-Source Interface",title:"Manufacturer agnostic BLE sensors applications and MQTT gateways",heroImage:"logo-Theengs.png",tagline:null,features:[{title:"Interoperability",details:"Home Assistant to ThingsBoard, Theengs is compatible with most of the IOT platforms and SmarHome controllers."},{title:"Expandability",details:"Theengs can read broadcasted data from many sensors, and it is easy to add one, thanks to the use of a JSON based decoder."},{title:"Open source",details:"Theengs is GPLv3 licensed so you can propose new features easily and have access to how the tools are built."},{title:"Local and cloud compatible",details:"Theengs can run localy or connected to a cloud service. Your choice, not somebody else one."},{title:"Powerfull decoder",details:"Theengs applications use one library to decode the sensors. Adding a device to the library makes it available for the whole ecosystem."},{title:"Compact",details:"Theengs core is developped in C++ and weight less than 1MB enabling to embed it into a wide range of boards from microcontrollers to computers."}]},regularPath:"/",relativePath:"README.md",key:"v-5817cb56",path:"/",headers:[{level:2,title:"Features",slug:"features"},{level:2,title:"On our bridge",slug:"on-our-bridge"},{level:2,title:"On our smartplug",slug:"on-our-smartplug"},{level:2,title:"On a smartphone or tablet",slug:"on-a-smartphone-or-tablet"},{level:2,title:"On a microcontroller",slug:"on-a-microcontroller"},{level:2,title:"On a computer",slug:"on-a-computer"},{level:2,title:"Integrations",slug:"integrations"}],lastUpdated:"1/15/2024, 7:29:05 PM",lastUpdatedTimestamp:1705346945e3},{title:"Theengs IoT Data Decoding API",frontmatter:{},regularPath:"/api/api.html",relativePath:"api/api.md",key:"v-052b1fb6",path:"/api/api.html",headers:[{level:2,title:"Overview",slug:"overview"},{level:2,title:"Why Choose Theengs IoT Data Decoding API?",slug:"why-choose-theengs-iot-data-decoding-api"},{level:2,title:"Sample API Usage",slug:"sample-api-usage"},{level:2,title:"Try it",slug:"try-it"},{level:2,title:"Getting Started",slug:"getting-started"}],lastUpdated:"1/15/2024, 7:29:05 PM",lastUpdatedTimestamp:1705346945e3},{title:"Environmental Monitoring",frontmatter:{},regularPath:"/usecases/iot.html",relativePath:"usecases/iot.md",key:"v-1285978a",path:"/usecases/iot.html",headers:[{level:2,title:"Environmental Monitoring",slug:"environmental-monitoring"},{level:2,title:"Health and Wellbeing",slug:"health-and-wellbeing"},{level:2,title:"Smart Home Automation",slug:"smart-home-automation"},{level:2,title:"Industrial Applications",slug:"industrial-applications"},{level:2,title:"Energy Management",slug:"energy-management"}],lastUpdated:"1/15/2024, 7:29:05 PM",lastUpdatedTimestamp:1705346945e3},{frontmatter:{},regularPath:"/usecases/smarthome.html",relativePath:"usecases/smarthome.md",key:"v-5fe31847",path:"/usecases/smarthome.html",headers:[{level:3,title:"Monitor your favorite plant with a Mi Flora BLE sensor to know when it needs water",slug:"monitor-your-favorite-plant-with-a-mi-flora-ble-sensor-to-know-when-it-needs-water"},{level:3,title:"Trigger a fan depending on the temperature and humidity thanks to a CGD1 BLE sensor",slug:"trigger-a-fan-depending-on-the-temperature-and-humidity-thanks-to-a-cgd1-ble-sensor"},{level:3,title:"Follow your meat temperature when cooking with an Inkbird IBBQ",slug:"follow-your-meat-temperature-when-cooking-with-an-inkbird-ibbq"},{level:3,title:"Alert yourself by a controller notification if the temperature of a fridge or freezer is too high",slug:"alert-yourself-by-a-controller-notification-if-the-temperature-of-a-fridge-or-freezer-is-too-high"},{level:3,title:"Detect a beacon/smartwatch to trigger a special scenario when you come home",slug:"detect-a-beacon-smartwatch-to-trigger-a-special-scenario-when-you-come-home"},{level:3,title:"Lose weight with the help of a complete log system",slug:"lose-weight-with-the-help-of-a-complete-log-system"},{level:3,title:"Detect opened doors or windows and alert yourself when leaving",slug:"detect-opened-doors-or-windows-and-alert-yourself-when-leaving"},{level:3,title:"Monitor vehicle tire pressure",slug:"monitor-vehicle-tire-pressure"}],lastUpdated:"1/15/2024, 7:29:05 PM",lastUpdatedTimestamp:1705346945e3},{frontmatter:{},regularPath:"/usecases/research.html",relativePath:"usecases/research.md",key:"v-607220c5",path:"/usecases/research.html",headers:[{level:3,title:"Environmental Monitoring",slug:"environmental-monitoring"},{level:3,title:"Motion and Vibration Sensing",slug:"motion-and-vibration-sensing"},{level:3,title:"Healthcare and Biomedical Research",slug:"healthcare-and-biomedical-research"},{level:3,title:"Energy Management",slug:"energy-management"}],lastUpdated:"1/15/2024, 7:29:05 PM",lastUpdatedTimestamp:1705346945e3}],themeConfig:{repo:"theengs",smoothScroll:!0,search:!1,docsDir:"docs",docsBranch:"development",lastUpdated:"Last Updated",editLinks:!0,nav:[{text:"Home",link:"https://www.theengs.io",target:"_self",rel:""},{text:"Use cases",items:[{text:"Smart Home",link:"https://www.theengs.io/usecases/smarthome.html",target:"_self",rel:""},{text:"IoT",link:"https://www.theengs.io/usecases/iot.html",target:"_self",rel:""},{text:"Research",link:"https://www.theengs.io/usecases/research.html",target:"_self",rel:""}]},{text:"Solutions",items:[{text:"Hardware",items:[{text:"Theengs Plug",link:"https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption",target:"_self",rel:""},{text:"Theengs Bridge",link:"https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna",target:"_self",rel:""}]},{text:"Software",items:[{text:"Mobile App",link:"https://app.theengs.io",target:"_self",rel:""},{text:"OpenMQTTGateway",link:"https://docs.openmqttgateway.com",target:"_self",rel:""},{text:"Gateway",link:"https://gateway.theengs.io",target:"_self",rel:""}]},{text:"Core",items:[{text:"Decoder",link:"https://decoder.theengs.io",target:"_self",rel:""},{text:"Web Parser",link:"https://parser.theengs.io",target:"_self",rel:""}]}]},{text:"Compatible devices",link:"https://decoder.theengs.io/devices/devices.html",target:"_self",rel:""},{text:"Community",link:"https://community.openmqttgateway.com",target:"_self",rel:""},{text:"Shop",link:"https://shop.theengs.io/",target:"_self",rel:""},{text:"Sponsor 🤍",link:"https://github.com/sponsors/theengs",target:"_self",rel:""}]}};n(235);Kn.component("Badge",()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,315))),Kn.component("CodeBlock",()=>Promise.all([n.e(0),n.e(5)]).then(n.bind(null,311))),Kn.component("CodeGroup",()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,312)));n(236);function Rs(t){const e=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{x:n.left-e.left,y:n.top-e.top}}n(237);var Is=[{},({Vue:t})=>{t.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},({Vue:t,router:e})=>{e.options.scrollBehavior=(e,n,r)=>{if(r)return window.scrollTo({top:r.y,behavior:"smooth"});if(e.hash){if(t.$vuepress.$get("disableScrollBehavior"))return!1;const n=document.querySelector(e.hash);return!!n&&window.scrollTo({top:Rs(n).y,behavior:"smooth"})}return window.scrollTo({top:0,behavior:"smooth"})}},{}],Ds=[];class Ns extends class{constructor(){this.store=new Kn({data:{state:{}}})}$get(t){return this.store.state[t]}$set(t,e){Kn.set(this.store.state,t,e)}$emit(...t){this.store.$emit(...t)}$on(...t){this.store.$on(...t)}}{}Object.assign(Ns.prototype,{getPageAsyncComponent:ss,getLayoutAsyncComponent:cs,getAsyncComponent:us,getVueComponent:ls});var Us={install(t){const e=new Ns;t.$vuepress=e,t.prototype.$vuepress=e}};function Bs(t,e){const n=e.toLowerCase();return t.options.routes.some(t=>t.path.toLowerCase()===n)}var Fs={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(t){const e=this.pageKey||this.$parent.$page.key;return ps("pageKey",e),Kn.component(e)||Kn.component(e,ss(e)),Kn.component(e)?t(e):t("")}},zs={functional:!0,props:{slotKey:String,required:!0},render:(t,{props:e,slots:n})=>t("div",{class:["content__"+e.slotKey]},n()[e.slotKey])},Vs={computed:{openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText||"(opens new window)"}}},Hs=(n(238),n(239),Object(Ps.a)(Vs,(function(){var t=this._self._c;return t("span",[t("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[t("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),this._v(" "),t("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})]),this._v(" "),t("span",{staticClass:"sr-only"},[this._v(this._s(this.openInNewWindowTitle))])])}),[],!1,null,null,null).exports),qs={functional:!0,render(t,{parent:e,children:n}){if(e._isMounted)return n;e.$once("hook:mounted",()=>{e.$forceUpdate()})}};Kn.config.productionTip=!1,Kn.use(qa),Kn.use(Us),Kn.mixin(function(t,e,n=Kn){!function(t){t.locales&&Object.keys(t.locales).forEach(e=>{t.locales[e].path=e});Object.freeze(t)}(e),n.$vuepress.$set("siteData",e);const r=new(t(n.$vuepress.$get("siteData"))),o=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(r)),i={};return Object.keys(o).reduce((t,e)=>(e.startsWith("$")&&(t[e]=o[e].get),t),i),{computed:i}}(t=>class{setPage(t){this.__page=t}get $site(){return t}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:t={}}=this.$site;let e,n;for(const r in t)"/"===r?n=t[r]:0===this.$page.path.indexOf(r)&&(e=t[r]);return e||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $canonicalUrl(){const{canonicalUrl:t}=this.$page.frontmatter;return"string"==typeof t&&t}get $title(){const t=this.$page,{metaTitle:e}=this.$page.frontmatter;if("string"==typeof e)return e;const n=this.$siteTitle,r=t.frontmatter.home?null:t.frontmatter.title||t.title;return n?r?r+" | "+n:n:r||"VuePress"}get $description(){const t=function(t){if(t){const e=t.filter(t=>"description"===t.name)[0];if(e)return e.content}}(this.$page.frontmatter.meta);return t||(this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||"")}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(t,e){for(let n=0;nn||(t.hash?!Kn.$vuepress.$get("disableScrollBehavior")&&{selector:decodeURIComponent(t.hash)}:{x:0,y:0})});!function(t){t.beforeEach((e,n,r)=>{if(Bs(t,e.path))r();else if(/(\/|\.html)$/.test(e.path))if(/\/$/.test(e.path)){const n=e.path.replace(/\/$/,"")+".html";Bs(t,n)?r(n):r()}else r();else{const n=e.path+"/",o=e.path+".html";Bs(t,o)?r(o):Bs(t,n)?r(n):r()}})}(n);const r={};try{await Promise.all(Is.filter(t=>"function"==typeof t).map(e=>e({Vue:Kn,options:r,router:n,siteData:Ms,isServer:t})))}catch(t){console.error(t)}return{app:new Kn(Object.assign(r,{router:n,render:t=>t("div",{attrs:{id:"app"}},[t("RouterView",{ref:"layout"}),t("div",{class:"global-ui"},Ds.map(e=>t(e)))])})),router:n}}(!1).then(({app:t,router:e})=>{e.onReady(()=>{t.$mount("#app")})})}]); \ No newline at end of file diff --git a/commonConfig.js b/commonConfig.js index b926fc3..10c0f2c 100644 --- a/commonConfig.js +++ b/commonConfig.js @@ -3,8 +3,8 @@ module.exports = { markdown: { lineNumbers: true }, - title: 'Theengs', - description: 'Manufacturer agnostic open source set of solutions to read BLE sensors', + title: 'Manufacturer agnostic BLE sensors applications and MQTT gateways', + description: 'Explore Theengs: the open-source platform that bridges hundreds of sensors and smart devices into one interface. Compatible with major IoT platforms and home automation systems like AWS, OpenHAB, Home Assistant, and Jeedom, Theengs simplifies your smart home experience. It supports MQTT protocol, enabling efficient integration and automation of devices. Theengs enhances interoperability of your your smart home or IoT ecosystem.', head: [ ['link', { rel: "apple-touch-icon", sizes: "180x180", href: ".apple-touch-icon.png" }], ['link', { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicon-32x32.png" }], diff --git a/index.html b/index.html index 9c09b36..085e270 100644 --- a/index.html +++ b/index.html @@ -3,25 +3,25 @@ - Theengs + Manufacturer agnostic BLE sensors applications and MQTT gateways - + - + -
+ diff --git a/usecases/iot.html b/usecases/iot.html index 6fb082c..cc5c4fe 100644 --- a/usecases/iot.html +++ b/usecases/iot.html @@ -3,25 +3,25 @@ - Environmental Monitoring | Theengs + Environmental Monitoring | Manufacturer agnostic BLE sensors applications and MQTT gateways - + - + -
+ diff --git a/usecases/research.html b/usecases/research.html index ab9f598..adf388b 100644 --- a/usecases/research.html +++ b/usecases/research.html @@ -3,25 +3,25 @@ - Theengs + Manufacturer agnostic BLE sensors applications and MQTT gateways - + - + -
+ diff --git a/usecases/smarthome.html b/usecases/smarthome.html index ea8099d..9ad3fcf 100644 --- a/usecases/smarthome.html +++ b/usecases/smarthome.html @@ -3,25 +3,25 @@ - Theengs + Manufacturer agnostic BLE sensors applications and MQTT gateways - + - + -