bt-sensors-plugin-sk 1.2.0-beta.0.0.9 → 1.2.0-beta.0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BTSensor.js +14 -2
- package/README.md +13 -0
- package/bt-sensors-plugin-sk.json.bak +121 -0
- package/classLoader.js +38 -0
- package/index.js +51 -99
- package/package.json +2 -2
- package/public/159.js +1 -2
- package/public/239.js +14 -0
- package/public/540.js +1 -1
- package/public/778.js +2 -0
- package/public/main.js +1 -1
- package/public/remoteEntry.js +1 -1
- package/sensor_classes/ATC.js +1 -0
- package/sensor_classes/Aranet/AranetSensor.js +1 -0
- package/sensor_classes/GobiusCTankMeter.js +363 -0
- package/sensor_classes/GoveeH50xx.js +1 -1
- package/sensor_classes/GoveeH510x.js +1 -1
- package/sensor_classes/IBeacon.js +9 -2
- package/sensor_classes/Inkbird.js +1 -1
- package/sensor_classes/JBDBMS.js +1 -0
- package/sensor_classes/KilovaultHLXPlus.js +2 -0
- package/sensor_classes/LancolVoltageMeter.js +1 -0
- package/sensor_classes/MopekaTankSensor.js +7 -3
- package/sensor_classes/Renogy/RenogySensor.js +1 -1
- package/sensor_classes/RuuviTag.js +1 -0
- package/sensor_classes/ShellySBHT003C.js +2 -5
- package/sensor_classes/SwitchBotMeterPlus.js +2 -1
- package/sensor_classes/SwitchBotTH.js +2 -0
- package/sensor_classes/UltrasonicWindMeter.js +2 -0
- package/sensor_classes/Victron/VictronSensor.js +1 -0
- package/sensor_classes/VictronInverterRS.js +2 -2
- package/sensor_classes/XiaomiMiBeacon.js +2 -1
- package/src/components/PluginConfigurationPanel.js +140 -81
- package/.vscode/launch.json +0 -7
- package/public/30.js +0 -8
- package/public/893.js +0 -1
- package/testqueue.js +0 -64
- /package/public/{30.js.LICENSE.txt → 239.js.LICENSE.txt} +0 -0
- /package/public/{159.js.LICENSE.txt → 778.js.LICENSE.txt} +0 -0
package/public/540.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see 540.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkbt_sensors_plugin_sk=self.webpackChunkbt_sensors_plugin_sk||[]).push([[540],{
|
|
2
|
+
"use strict";(self.webpackChunkbt_sensors_plugin_sk=self.webpackChunkbt_sensors_plugin_sk||[]).push([[540],{15287:(e,r,t)=>{var n=t(45228),o="function"==typeof Symbol&&Symbol.for,u=o?Symbol.for("react.element"):60103,f=o?Symbol.for("react.portal"):60106,l=o?Symbol.for("react.fragment"):60107,c=o?Symbol.for("react.strict_mode"):60108,i=o?Symbol.for("react.profiler"):60114,a=o?Symbol.for("react.provider"):60109,s=o?Symbol.for("react.context"):60110,p=o?Symbol.for("react.forward_ref"):60112,y=o?Symbol.for("react.suspense"):60113,d=o?Symbol.for("react.memo"):60115,h=o?Symbol.for("react.lazy"):60116,v="function"==typeof Symbol&&Symbol.iterator;function m(e){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t<arguments.length;t++)r+="&args[]="+encodeURIComponent(arguments[t]);return"Minified React error #"+e+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_={};function S(e,r,t){this.props=e,this.context=r,this.refs=_,this.updater=t||b}function k(){}function g(e,r,t){this.props=e,this.context=r,this.refs=_,this.updater=t||b}S.prototype.isReactComponent={},S.prototype.setState=function(e,r){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(m(85));this.updater.enqueueSetState(this,e,r,"setState")},S.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},k.prototype=S.prototype;var w=g.prototype=new k;w.constructor=g,n(w,S.prototype),w.isPureReactComponent=!0;var $={current:null},C=Object.prototype.hasOwnProperty,E={key:!0,ref:!0,__self:!0,__source:!0};function R(e,r,t){var n,o={},f=null,l=null;if(null!=r)for(n in void 0!==r.ref&&(l=r.ref),void 0!==r.key&&(f=""+r.key),r)C.call(r,n)&&!E.hasOwnProperty(n)&&(o[n]=r[n]);var c=arguments.length-2;if(1===c)o.children=t;else if(1<c){for(var i=Array(c),a=0;a<c;a++)i[a]=arguments[a+2];o.children=i}if(e&&e.defaultProps)for(n in c=e.defaultProps)void 0===o[n]&&(o[n]=c[n]);return{$$typeof:u,type:e,key:f,ref:l,props:o,_owner:$.current}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===u}var P=/\/+/g,j=[];function O(e,r,t,n){if(j.length){var o=j.pop();return o.result=e,o.keyPrefix=r,o.func=t,o.context=n,o.count=0,o}return{result:e,keyPrefix:r,func:t,context:n,count:0}}function A(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>j.length&&j.push(e)}function I(e,r,t,n){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var l=!1;if(null===e)l=!0;else switch(o){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case u:case f:l=!0}}if(l)return t(n,e,""===r?"."+q(e,0):r),1;if(l=0,r=""===r?".":r+":",Array.isArray(e))for(var c=0;c<e.length;c++){var i=r+q(o=e[c],c);l+=I(o,i,t,n)}else if("function"==typeof(i=null===e||"object"!=typeof e?null:"function"==typeof(i=v&&e[v]||e["@@iterator"])?i:null))for(e=i.call(e),c=0;!(o=e.next()).done;)l+=I(o=o.value,i=r+q(o,c++),t,n);else if("object"===o)throw t=""+e,Error(m(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t,""));return l}function U(e,r,t){return null==e?0:I(e,"",r,t)}function q(e,r){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return r[e]}))}(e.key):r.toString(36)}function F(e,r){e.func.call(e.context,r,e.count++)}function L(e,r,t){var n=e.result,o=e.keyPrefix;e=e.func.call(e.context,r,e.count++),Array.isArray(e)?M(e,n,t,(function(e){return e})):null!=e&&(x(e)&&(e=function(e,r){return{$$typeof:u,type:e.type,key:r,ref:e.ref,props:e.props,_owner:e._owner}}(e,o+(!e.key||r&&r.key===e.key?"":(""+e.key).replace(P,"$&/")+"/")+t)),n.push(e))}function M(e,r,t,n,o){var u="";null!=t&&(u=(""+t).replace(P,"$&/")+"/"),U(e,L,r=O(r,u,n,o)),A(r)}var D={current:null};function V(){var e=D.current;if(null===e)throw Error(m(321));return e}var B={ReactCurrentDispatcher:D,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:$,IsSomeRendererActing:{current:!1},assign:n};r.Children={map:function(e,r,t){if(null==e)return e;var n=[];return M(e,n,null,r,t),n},forEach:function(e,r,t){if(null==e)return e;U(e,F,r=O(null,null,r,t)),A(r)},count:function(e){return U(e,(function(){return null}),null)},toArray:function(e){var r=[];return M(e,r,null,(function(e){return e})),r},only:function(e){if(!x(e))throw Error(m(143));return e}},r.Component=S,r.Fragment=l,r.Profiler=i,r.PureComponent=g,r.StrictMode=c,r.Suspense=y,r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=B,r.cloneElement=function(e,r,t){if(null==e)throw Error(m(267,e));var o=n({},e.props),f=e.key,l=e.ref,c=e._owner;if(null!=r){if(void 0!==r.ref&&(l=r.ref,c=$.current),void 0!==r.key&&(f=""+r.key),e.type&&e.type.defaultProps)var i=e.type.defaultProps;for(a in r)C.call(r,a)&&!E.hasOwnProperty(a)&&(o[a]=void 0===r[a]&&void 0!==i?i[a]:r[a])}var a=arguments.length-2;if(1===a)o.children=t;else if(1<a){i=Array(a);for(var s=0;s<a;s++)i[s]=arguments[s+2];o.children=i}return{$$typeof:u,type:e.type,key:f,ref:l,props:o,_owner:c}},r.createContext=function(e,r){return void 0===r&&(r=null),(e={$$typeof:s,_calculateChangedBits:r,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},r.createElement=R,r.createFactory=function(e){var r=R.bind(null,e);return r.type=e,r},r.createRef=function(){return{current:null}},r.forwardRef=function(e){return{$$typeof:p,render:e}},r.isValidElement=x,r.lazy=function(e){return{$$typeof:h,_ctor:e,_status:-1,_result:null}},r.memo=function(e,r){return{$$typeof:d,type:e,compare:void 0===r?null:r}},r.useCallback=function(e,r){return V().useCallback(e,r)},r.useContext=function(e,r){return V().useContext(e,r)},r.useDebugValue=function(){},r.useEffect=function(e,r){return V().useEffect(e,r)},r.useImperativeHandle=function(e,r,t){return V().useImperativeHandle(e,r,t)},r.useLayoutEffect=function(e,r){return V().useLayoutEffect(e,r)},r.useMemo=function(e,r){return V().useMemo(e,r)},r.useReducer=function(e,r,t){return V().useReducer(e,r,t)},r.useRef=function(e){return V().useRef(e)},r.useState=function(e){return V().useState(e)},r.version="16.14.0"},96540:(e,r,t)=>{e.exports=t(15287)}}]);
|
package/public/778.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see 778.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunkbt_sensors_plugin_sk=self.webpackChunkbt_sensors_plugin_sk||[]).push([[540,778],{15287:(e,r,t)=>{var n=t(45228),o="function"==typeof Symbol&&Symbol.for,u=o?Symbol.for("react.element"):60103,c=o?Symbol.for("react.portal"):60106,f=o?Symbol.for("react.fragment"):60107,l=o?Symbol.for("react.strict_mode"):60108,i=o?Symbol.for("react.profiler"):60114,a=o?Symbol.for("react.provider"):60109,s=o?Symbol.for("react.context"):60110,p=o?Symbol.for("react.forward_ref"):60112,y=o?Symbol.for("react.suspense"):60113,d=o?Symbol.for("react.memo"):60115,h=o?Symbol.for("react.lazy"):60116,b="function"==typeof Symbol&&Symbol.iterator;function v(e){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t<arguments.length;t++)r+="&args[]="+encodeURIComponent(arguments[t]);return"Minified React error #"+e+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_={};function g(e,r,t){this.props=e,this.context=r,this.refs=_,this.updater=t||m}function S(){}function k(e,r,t){this.props=e,this.context=r,this.refs=_,this.updater=t||m}g.prototype.isReactComponent={},g.prototype.setState=function(e,r){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(v(85));this.updater.enqueueSetState(this,e,r,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},S.prototype=g.prototype;var w=k.prototype=new S;w.constructor=k,n(w,g.prototype),w.isPureReactComponent=!0;var j={current:null},O=Object.prototype.hasOwnProperty,C={key:!0,ref:!0,__self:!0,__source:!0};function $(e,r,t){var n,o={},c=null,f=null;if(null!=r)for(n in void 0!==r.ref&&(f=r.ref),void 0!==r.key&&(c=""+r.key),r)O.call(r,n)&&!C.hasOwnProperty(n)&&(o[n]=r[n]);var l=arguments.length-2;if(1===l)o.children=t;else if(1<l){for(var i=Array(l),a=0;a<l;a++)i[a]=arguments[a+2];o.children=i}if(e&&e.defaultProps)for(n in l=e.defaultProps)void 0===o[n]&&(o[n]=l[n]);return{$$typeof:u,type:e,key:c,ref:f,props:o,_owner:j.current}}function E(e){return"object"==typeof e&&null!==e&&e.$$typeof===u}var P=/\/+/g,x=[];function R(e,r,t,n){if(x.length){var o=x.pop();return o.result=e,o.keyPrefix=r,o.func=t,o.context=n,o.count=0,o}return{result:e,keyPrefix:r,func:t,context:n,count:0}}function A(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>x.length&&x.push(e)}function I(e,r,t,n){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var f=!1;if(null===e)f=!0;else switch(o){case"string":case"number":f=!0;break;case"object":switch(e.$$typeof){case u:case c:f=!0}}if(f)return t(n,e,""===r?"."+U(e,0):r),1;if(f=0,r=""===r?".":r+":",Array.isArray(e))for(var l=0;l<e.length;l++){var i=r+U(o=e[l],l);f+=I(o,i,t,n)}else if("function"==typeof(i=null===e||"object"!=typeof e?null:"function"==typeof(i=b&&e[b]||e["@@iterator"])?i:null))for(e=i.call(e),l=0;!(o=e.next()).done;)f+=I(o=o.value,i=r+U(o,l++),t,n);else if("object"===o)throw t=""+e,Error(v(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t,""));return f}function q(e,r,t){return null==e?0:I(e,"",r,t)}function U(e,r){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return r[e]}))}(e.key):r.toString(36)}function F(e,r){e.func.call(e.context,r,e.count++)}function L(e,r,t){var n=e.result,o=e.keyPrefix;e=e.func.call(e.context,r,e.count++),Array.isArray(e)?M(e,n,t,(function(e){return e})):null!=e&&(E(e)&&(e=function(e,r){return{$$typeof:u,type:e.type,key:r,ref:e.ref,props:e.props,_owner:e._owner}}(e,o+(!e.key||r&&r.key===e.key?"":(""+e.key).replace(P,"$&/")+"/")+t)),n.push(e))}function M(e,r,t,n,o){var u="";null!=t&&(u=(""+t).replace(P,"$&/")+"/"),q(e,L,r=R(r,u,n,o)),A(r)}var N={current:null};function D(){var e=N.current;if(null===e)throw Error(v(321));return e}var T={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:j,IsSomeRendererActing:{current:!1},assign:n};r.Children={map:function(e,r,t){if(null==e)return e;var n=[];return M(e,n,null,r,t),n},forEach:function(e,r,t){if(null==e)return e;q(e,F,r=R(null,null,r,t)),A(r)},count:function(e){return q(e,(function(){return null}),null)},toArray:function(e){var r=[];return M(e,r,null,(function(e){return e})),r},only:function(e){if(!E(e))throw Error(v(143));return e}},r.Component=g,r.Fragment=f,r.Profiler=i,r.PureComponent=k,r.StrictMode=l,r.Suspense=y,r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T,r.cloneElement=function(e,r,t){if(null==e)throw Error(v(267,e));var o=n({},e.props),c=e.key,f=e.ref,l=e._owner;if(null!=r){if(void 0!==r.ref&&(f=r.ref,l=j.current),void 0!==r.key&&(c=""+r.key),e.type&&e.type.defaultProps)var i=e.type.defaultProps;for(a in r)O.call(r,a)&&!C.hasOwnProperty(a)&&(o[a]=void 0===r[a]&&void 0!==i?i[a]:r[a])}var a=arguments.length-2;if(1===a)o.children=t;else if(1<a){i=Array(a);for(var s=0;s<a;s++)i[s]=arguments[s+2];o.children=i}return{$$typeof:u,type:e.type,key:c,ref:f,props:o,_owner:l}},r.createContext=function(e,r){return void 0===r&&(r=null),(e={$$typeof:s,_calculateChangedBits:r,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},r.createElement=$,r.createFactory=function(e){var r=$.bind(null,e);return r.type=e,r},r.createRef=function(){return{current:null}},r.forwardRef=function(e){return{$$typeof:p,render:e}},r.isValidElement=E,r.lazy=function(e){return{$$typeof:h,_ctor:e,_status:-1,_result:null}},r.memo=function(e,r){return{$$typeof:d,type:e,compare:void 0===r?null:r}},r.useCallback=function(e,r){return D().useCallback(e,r)},r.useContext=function(e,r){return D().useContext(e,r)},r.useDebugValue=function(){},r.useEffect=function(e,r){return D().useEffect(e,r)},r.useImperativeHandle=function(e,r,t){return D().useImperativeHandle(e,r,t)},r.useLayoutEffect=function(e,r){return D().useLayoutEffect(e,r)},r.useMemo=function(e,r){return D().useMemo(e,r)},r.useReducer=function(e,r,t){return D().useReducer(e,r,t)},r.useRef=function(e){return D().useRef(e)},r.useState=function(e){return D().useState(e)},r.version="16.14.0"},45228:e=>{var r=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var r={},t=0;t<10;t++)r["_"+String.fromCharCode(t)]=t;if("0123456789"!==Object.getOwnPropertyNames(r).map((function(e){return r[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,o){for(var u,c,f=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l<arguments.length;l++){for(var i in u=Object(arguments[l]))t.call(u,i)&&(f[i]=u[i]);if(r){c=r(u);for(var a=0;a<c.length;a++)n.call(u,c[a])&&(f[c[a]]=u[c[a]])}}return f}},96540:(e,r,t)=>{e.exports=t(15287)}}]);
|
package/public/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var e,r,t={
|
|
1
|
+
(()=>{var e,r,t={49445:()=>{}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,o),a.exports}o.m=t,o.c=n,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>e+".js",o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="bt-sensors-plugin-sk:",o.l=(t,n,a,i)=>{if(e[t])e[t].push(n);else{var s,l;if(void 0!==a)for(var u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var p=u[c];if(p.getAttribute("src")==t||p.getAttribute("data-webpack")==r+a){s=p;break}}s||(l=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,o.nc&&s.setAttribute("nonce",o.nc),s.setAttribute("data-webpack",r+a),s.src=t),e[t]=[n];var d=(r,n)=>{s.onerror=s.onload=null,clearTimeout(f);var o=e[t];if(delete e[t],s.parentNode&&s.parentNode.removeChild(s),o&&o.forEach((e=>e(n))),r)return r(n)},f=setTimeout(d.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=d.bind(null,s.onerror),s.onload=d.bind(null,s.onload),l&&document.head.appendChild(s)}},(()=>{o.S={};var e={},r={};o.I=(t,n)=>{n||(n=[]);var a=r[t];if(a||(a=r[t]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[t])return e[t];o.o(o.S,t)||(o.S[t]={});var i=o.S[t],s="bt-sensors-plugin-sk",l=[];return"default"===t&&((e,r,t,n)=>{var a=i[e]=i[e]||{},l=a[r];(!l||!l.loaded&&(1!=!l.eager?n:s>l.from))&&(a[r]={get:()=>o.e(778).then((()=>()=>o(96540))),from:s,eager:!1})})("react","16.14.0"),e[t]=l.length?Promise.all(l).then((()=>e[t]=1)):1}}})(),(()=>{var e;o.g.importScripts&&(e=o.g.location+"");var r=o.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),(()=>{var e={792:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var a=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=a);var i=o.p+o.u(r),s=new Error;o.l(i,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var a=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;s.message="Loading chunk "+r+" failed.\n("+a+": "+i+")",s.name="ChunkLoadError",s.type=a,s.request=i,n[1](s)}}),"chunk-"+r,r)}};var r=(r,t)=>{var n,a,[i,s,l]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in s)o.o(s,n)&&(o.m[n]=s[n]);l&&l(o)}for(r&&r(t);u<i.length;u++)a=i[u],o.o(e,a)&&e[a]&&e[a][0](),e[a]=0},t=self.webpackChunkbt_sensors_plugin_sk=self.webpackChunkbt_sensors_plugin_sk||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),o(49445)})();
|
package/public/remoteEntry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var bt_sensors_plugin_sk;(()=>{"use strict";var e,r,t,n,o,
|
|
1
|
+
var bt_sensors_plugin_sk;(()=>{"use strict";var e,r,t,n,a,o,i,u,s,l,f,d,c,p,h,v,g,b,m,y,w,k={43237:(e,r,t)=>{var n={"./PluginConfigurationPanel":()=>Promise.all([t.e(239),t.e(159)]).then((()=>()=>t(62995)))},a=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),o=(e,r)=>{if(t.S){var n="default",a=t.S[n];if(a&&a!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>a,init:()=>o})}},S={};function _(e){var r=S[e];if(void 0!==r)return r.exports;var t=S[e]={id:e,loaded:!1,exports:{}};return k[e](t,t.exports,_),t.loaded=!0,t.exports}_.m=k,_.c=S,_.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return _.d(r,{a:r}),r},_.d=(e,r)=>{for(var t in r)_.o(r,t)&&!_.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},_.f={},_.e=e=>Promise.all(Object.keys(_.f).reduce(((r,t)=>(_.f[t](e,r),r)),[])),_.u=e=>e+".js",_.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),_.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="bt-sensors-plugin-sk:",_.l=(t,n,a,o)=>{if(e[t])e[t].push(n);else{var i,u;if(void 0!==a)for(var s=document.getElementsByTagName("script"),l=0;l<s.length;l++){var f=s[l];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==r+a){i=f;break}}i||(u=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,_.nc&&i.setAttribute("nonce",_.nc),i.setAttribute("data-webpack",r+a),i.src=t),e[t]=[n];var d=(r,n)=>{i.onerror=i.onload=null,clearTimeout(c);var a=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),a&&a.forEach((e=>e(n))),r)return r(n)},c=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),u&&document.head.appendChild(i)}},_.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},_.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{_.S={};var e={},r={};_.I=(t,n)=>{n||(n=[]);var a=r[t];if(a||(a=r[t]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[t])return e[t];_.o(_.S,t)||(_.S[t]={});var o=_.S[t],i="bt-sensors-plugin-sk",u=[];return"default"===t&&((e,r,t,n)=>{var a=o[e]=o[e]||{},u=a[r];(!u||!u.loaded&&(1!=!u.eager?n:i>u.from))&&(a[r]={get:()=>_.e(778).then((()=>()=>_(96540))),from:i,eager:!1})})("react","16.14.0"),e[t]=u.length?Promise.all(u).then((()=>e[t]=1)):1}}})(),(()=>{var e;_.g.importScripts&&(e=_.g.location+"");var r=_.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),_.p=e})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},n=(e,r)=>{e=t(e),r=t(r);for(var n=0;;){if(n>=e.length)return n<r.length&&"u"!=(typeof r[n])[0];var a=e[n],o=(typeof a)[0];if(n>=r.length)return"u"==o;var i=r[n],u=(typeof i)[0];if(o!=u)return"o"==o&&"n"==u||"s"==u||"u"==o;if("o"!=o&&"u"!=o&&a!=i)return a<i;n++}},a=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,o=1;o<e.length;o++)n--,t+="u"==(typeof(u=e[o]))[0]?"-":(n>0?".":"")+(n=2,u);return t}var i=[];for(o=1;o<e.length;o++){var u=e[o];i.push(0===u?"not("+s()+")":1===u?"("+s()+" || "+s()+")":2===u?i.pop()+" "+i.pop():a(u))}return s();function s(){return i.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,r)=>{if(0 in e){r=t(r);var n=e[0],a=n<0;a&&(n=-n-1);for(var i=0,u=1,s=!0;;u++,i++){var l,f,d=u<e.length?(typeof e[u])[0]:"";if(i>=r.length||"o"==(f=(typeof(l=r[i]))[0]))return!s||("u"==d?u>n&&!a:""==d!=a);if("u"==f){if(!s||"u"!=d)return!1}else if(s)if(d==f)if(u<=n){if(l!=e[u])return!1}else{if(a?l>e[u]:l<e[u])return!1;l!=e[u]&&(s=!1)}else if("s"!=d&&"n"!=d){if(a||u<=n)return!1;s=!1,u--}else{if(u<=n||f<d!=a)return!1;s=!1}else"s"!=d&&"n"!=d&&(s=!1,u--)}}var c=[],p=c.pop.bind(c);for(i=1;i<e.length;i++){var h=e[i];c.push(1==h?p()|p():2==h?p()&p():h?o(h,r):!p())}return!!p()},i=(e,r)=>e&&_.o(e,r),u=e=>(e.loaded=1,e.get()),s=e=>Object.keys(e).reduce(((r,t)=>(e[t].eager&&(r[t]=e[t]),r)),{}),l=(e,r,t)=>{var a=t?s(e[r]):e[r];return(r=Object.keys(a).reduce(((e,r)=>!e||n(e,r)?r:e),0))&&a[r]},f=(e,r,t,a)=>{var i=a?s(e[r]):e[r];return(r=Object.keys(i).reduce(((e,r)=>!o(t,r)||e&&!n(e,r)?e:r),0))&&i[r]},d=(e,r,t,n,o)=>{var i=e[t];return"No satisfying version ("+a(n)+")"+(o?" for eager consumption":"")+" of shared module "+t+" found in shared scope "+r+".\nAvailable versions: "+Object.keys(i).map((e=>e+" from "+i[e].from)).join(", ")},c=e=>{throw new Error(e)},h=(e,r,t)=>t?t():((e,r)=>c("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),v=(p=e=>function(r,t,n,a,o){var i=_.I(r);return i&&i.then&&!n?i.then(e.bind(e,r,_.S[r],t,!1,a,o)):e(r,_.S[r],t,n,a,o)})(((e,r,t,n,a)=>i(r,t)?u(l(r,t,n)):h(e,t,a))),g=p(((e,r,t,n,a,o)=>{if(!i(r,t))return h(e,t,o);var s=f(r,t,a,n);return s?u(s):o?o():void c(d(r,e,t,a,n))})),b={},m={21490:()=>g("default","react",!1,[,[1,17,0,0],[1,16,8,0],1],(()=>_.e(540).then((()=>()=>_(96540))))),42417:()=>g("default","react",!1,[0,16,8,0],(()=>_.e(540).then((()=>()=>_(96540))))),44167:()=>v("default","react",!1,(()=>_.e(540).then((()=>()=>_(96540))))),57920:()=>g("default","react",!1,[,[0,17],[1,16,14,0],1],(()=>_.e(540).then((()=>()=>_(96540))))),62085:()=>g("default","react",!1,[1,16,14,0],(()=>_.e(540).then((()=>()=>_(96540))))),64115:()=>g("default","react",!1,[,[1,19,0,0,,"rc",1],[1,18,0,0],[1,17,0,0,,"rc",1],[1,16,8,0],1,1,1],(()=>_.e(540).then((()=>()=>_(96540))))),64564:()=>g("default","react",!1,[0,16,14,0],(()=>_.e(540).then((()=>()=>_(96540))))),86528:()=>g("default","react",!1,[1,16,13,1],(()=>_.e(540).then((()=>()=>_(96540))))),87227:()=>g("default","react",!1,[0,16,6,0],(()=>_.e(540).then((()=>()=>_(96540))))),96932:()=>g("default","react",!1,[0,15,0,0],(()=>_.e(540).then((()=>()=>_(96540))))),98271:()=>g("default","react",!1,[0,0,14,0],(()=>_.e(540).then((()=>()=>_(96540)))))},y={159:[21490,42417,44167,57920,62085,64115,64564,86528,87227,96932,98271]},w={},_.f.consumes=(e,r)=>{_.o(y,e)&&y[e].forEach((e=>{if(_.o(b,e))return r.push(b[e]);if(!w[e]){var t=r=>{b[e]=0,_.m[e]=t=>{delete _.c[e],t.exports=r()}};w[e]=!0;var n=r=>{delete b[e],_.m[e]=t=>{throw delete _.c[e],r}};try{var a=m[e]();a.then?r.push(b[e]=a.then(t).catch(n)):t(a)}catch(e){n(e)}}}))},(()=>{var e={592:0};_.f.j=(r,t)=>{var n=_.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var a=new Promise(((t,a)=>n=e[r]=[t,a]));t.push(n[2]=a);var o=_.p+_.u(r),i=new Error;_.l(o,(t=>{if(_.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var a=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+a+": "+o+")",i.name="ChunkLoadError",i.type=a,i.request=o,n[1](i)}}),"chunk-"+r,r)}};var r=(r,t)=>{var n,a,[o,i,u]=t,s=0;if(o.some((r=>0!==e[r]))){for(n in i)_.o(i,n)&&(_.m[n]=i[n]);u&&u(_)}for(r&&r(t);s<o.length;s++)a=o[s],_.o(e,a)&&e[a]&&e[a][0](),e[a]=0},t=self.webpackChunkbt_sensors_plugin_sk=self.webpackChunkbt_sensors_plugin_sk||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})();var j=_(43237);bt_sensors_plugin_sk=j})();
|
package/sensor_classes/ATC.js
CHANGED
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
/*
|
|
2
|
+
[GOBIUS C]# list-attributes
|
|
3
|
+
Primary Service (Handle 0x0000)
|
|
4
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0055
|
|
5
|
+
f000ffc0-0451-4000-b000-000000000000
|
|
6
|
+
Vendor specific
|
|
7
|
+
Characteristic (Handle 0x0000)
|
|
8
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0055/char005e
|
|
9
|
+
f000ffc5-0451-4000-b000-000000000000
|
|
10
|
+
Vendor specific
|
|
11
|
+
Descriptor (Handle 0x0000)
|
|
12
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0055/char005e/desc0061
|
|
13
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
14
|
+
Characteristic User Description
|
|
15
|
+
Descriptor (Handle 0x0000)
|
|
16
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0055/char005e/desc0060
|
|
17
|
+
00002902-0000-1000-8000-00805f9b34fb
|
|
18
|
+
Client Characteristic Configuration
|
|
19
|
+
Characteristic (Handle 0x0000)
|
|
20
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0055/char005a
|
|
21
|
+
f000ffc2-0451-4000-b000-000000000000
|
|
22
|
+
Vendor specific
|
|
23
|
+
Descriptor (Handle 0x0000)
|
|
24
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0055/char005a/desc005d
|
|
25
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
26
|
+
Characteristic User Description
|
|
27
|
+
Descriptor (Handle 0x0000)
|
|
28
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0055/char005a/desc005c
|
|
29
|
+
00002902-0000-1000-8000-00805f9b34fb
|
|
30
|
+
Client Characteristic Configuration
|
|
31
|
+
Characteristic (Handle 0x0000)
|
|
32
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0055/char0056
|
|
33
|
+
f000ffc1-0451-4000-b000-000000000000
|
|
34
|
+
Vendor specific
|
|
35
|
+
Descriptor (Handle 0x0000)
|
|
36
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0055/char0056/desc0059
|
|
37
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
38
|
+
Characteristic User Description
|
|
39
|
+
Descriptor (Handle 0x0000)
|
|
40
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0055/char0056/desc0058
|
|
41
|
+
00002902-0000-1000-8000-00805f9b34fb
|
|
42
|
+
Client Characteristic Configuration
|
|
43
|
+
Primary Service (Handle 0x0000)
|
|
44
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018
|
|
45
|
+
0000ffe0-0000-1000-8000-00805f9b34fb
|
|
46
|
+
Unknown
|
|
47
|
+
Characteristic (Handle 0x0000)
|
|
48
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0052
|
|
49
|
+
0000fff3-0000-1000-8000-00805f9b34fb
|
|
50
|
+
Unknown
|
|
51
|
+
Descriptor (Handle 0x0000)
|
|
52
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0052/desc0054
|
|
53
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
54
|
+
Characteristic User Description
|
|
55
|
+
Characteristic (Handle 0x0000)
|
|
56
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char004f
|
|
57
|
+
0000fff2-0000-1000-8000-00805f9b34fb
|
|
58
|
+
Unknown
|
|
59
|
+
Descriptor (Handle 0x0000)
|
|
60
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char004f/desc0051
|
|
61
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
62
|
+
Characteristic User Description
|
|
63
|
+
Characteristic (Handle 0x0000)
|
|
64
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char004b
|
|
65
|
+
0000fff1-0000-1000-8000-00805f9b34fb
|
|
66
|
+
Unknown
|
|
67
|
+
Descriptor (Handle 0x0000)
|
|
68
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char004b/desc004e
|
|
69
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
70
|
+
Characteristic User Description
|
|
71
|
+
Descriptor (Handle 0x0000)
|
|
72
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char004b/desc004d
|
|
73
|
+
00002902-0000-1000-8000-00805f9b34fb
|
|
74
|
+
Client Characteristic Configuration
|
|
75
|
+
Characteristic (Handle 0x0000)
|
|
76
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0048
|
|
77
|
+
0000fff0-0000-1000-8000-00805f9b34fb
|
|
78
|
+
Unknown
|
|
79
|
+
Descriptor (Handle 0x0000)
|
|
80
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0048/desc004a
|
|
81
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
82
|
+
Characteristic User Description
|
|
83
|
+
Characteristic (Handle 0x0000)
|
|
84
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0044
|
|
85
|
+
0000ffef-0000-1000-8000-00805f9b34fb
|
|
86
|
+
Unknown
|
|
87
|
+
Descriptor (Handle 0x0000)
|
|
88
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0044/desc0047
|
|
89
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
90
|
+
Characteristic User Description
|
|
91
|
+
Descriptor (Handle 0x0000)
|
|
92
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0044/desc0046
|
|
93
|
+
00002902-0000-1000-8000-00805f9b34fb
|
|
94
|
+
Client Characteristic Configuration
|
|
95
|
+
Characteristic (Handle 0x0000)
|
|
96
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0041
|
|
97
|
+
0000ffee-0000-1000-8000-00805f9b34fb
|
|
98
|
+
Unknown
|
|
99
|
+
Descriptor (Handle 0x0000)
|
|
100
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0041/desc0043
|
|
101
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
102
|
+
Characteristic User Description
|
|
103
|
+
Characteristic (Handle 0x0000)
|
|
104
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char003e
|
|
105
|
+
0000ffed-0000-1000-8000-00805f9b34fb
|
|
106
|
+
Unknown
|
|
107
|
+
Descriptor (Handle 0x0000)
|
|
108
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char003e/desc0040
|
|
109
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
110
|
+
Characteristic User Description
|
|
111
|
+
Characteristic (Handle 0x0000)
|
|
112
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char003b
|
|
113
|
+
0000ffec-0000-1000-8000-00805f9b34fb
|
|
114
|
+
Unknown
|
|
115
|
+
Descriptor (Handle 0x0000)
|
|
116
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char003b/desc003d
|
|
117
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
118
|
+
Characteristic User Description
|
|
119
|
+
Characteristic (Handle 0x0000)
|
|
120
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0038
|
|
121
|
+
0000ffeb-0000-1000-8000-00805f9b34fb
|
|
122
|
+
Unknown
|
|
123
|
+
Descriptor (Handle 0x0000)
|
|
124
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0038/desc003a
|
|
125
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
126
|
+
Characteristic User Description
|
|
127
|
+
Characteristic (Handle 0x0000)
|
|
128
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0035
|
|
129
|
+
0000ffea-0000-1000-8000-00805f9b34fb
|
|
130
|
+
Unknown
|
|
131
|
+
Descriptor (Handle 0x0000)
|
|
132
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0035/desc0037
|
|
133
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
134
|
+
Characteristic User Description
|
|
135
|
+
Characteristic (Handle 0x0000)
|
|
136
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0031
|
|
137
|
+
0000ffe9-0000-1000-8000-00805f9b34fb
|
|
138
|
+
Unknown
|
|
139
|
+
Descriptor (Handle 0x0000)
|
|
140
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0031/desc0034
|
|
141
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
142
|
+
Characteristic User Description
|
|
143
|
+
Descriptor (Handle 0x0000)
|
|
144
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0031/desc0033
|
|
145
|
+
00002902-0000-1000-8000-00805f9b34fb
|
|
146
|
+
Client Characteristic Configuration
|
|
147
|
+
Characteristic (Handle 0x0000)
|
|
148
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char002e
|
|
149
|
+
0000ffe8-0000-1000-8000-00805f9b34fb
|
|
150
|
+
Unknown
|
|
151
|
+
Descriptor (Handle 0x0000)
|
|
152
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char002e/desc0030
|
|
153
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
154
|
+
Characteristic User Description
|
|
155
|
+
Characteristic (Handle 0x0000)
|
|
156
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char002b
|
|
157
|
+
0000ffe7-0000-1000-8000-00805f9b34fb
|
|
158
|
+
Unknown
|
|
159
|
+
Descriptor (Handle 0x0000)
|
|
160
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char002b/desc002d
|
|
161
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
162
|
+
Characteristic User Description
|
|
163
|
+
Characteristic (Handle 0x0000)
|
|
164
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0028
|
|
165
|
+
0000ffe6-0000-1000-8000-00805f9b34fb
|
|
166
|
+
Unknown
|
|
167
|
+
Descriptor (Handle 0x0000)
|
|
168
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0028/desc002a
|
|
169
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
170
|
+
Characteristic User Description
|
|
171
|
+
Characteristic (Handle 0x0000)
|
|
172
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0025
|
|
173
|
+
0000ffe5-0000-1000-8000-00805f9b34fb
|
|
174
|
+
Unknown
|
|
175
|
+
Descriptor (Handle 0x0000)
|
|
176
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0025/desc0027
|
|
177
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
178
|
+
Characteristic User Description
|
|
179
|
+
Characteristic (Handle 0x0000)
|
|
180
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0022
|
|
181
|
+
0000ffe4-0000-1000-8000-00805f9b34fb
|
|
182
|
+
Unknown
|
|
183
|
+
Descriptor (Handle 0x0000)
|
|
184
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0022/desc0024
|
|
185
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
186
|
+
Characteristic User Description
|
|
187
|
+
Characteristic (Handle 0x0000)
|
|
188
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char001f
|
|
189
|
+
0000ffe3-0000-1000-8000-00805f9b34fb
|
|
190
|
+
Unknown
|
|
191
|
+
Descriptor (Handle 0x0000)
|
|
192
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char001f/desc0021
|
|
193
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
194
|
+
Characteristic User Description
|
|
195
|
+
Characteristic (Handle 0x0000)
|
|
196
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char001c
|
|
197
|
+
0000ffe2-0000-1000-8000-00805f9b34fb
|
|
198
|
+
Unknown
|
|
199
|
+
Descriptor (Handle 0x0000)
|
|
200
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char001c/desc001e
|
|
201
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
202
|
+
Characteristic User Description
|
|
203
|
+
Characteristic (Handle 0x0000)
|
|
204
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0019
|
|
205
|
+
0000ffe1-0000-1000-8000-00805f9b34fb
|
|
206
|
+
Unknown
|
|
207
|
+
Descriptor (Handle 0x0000)
|
|
208
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service0018/char0019/desc001b
|
|
209
|
+
00002901-0000-1000-8000-00805f9b34fb
|
|
210
|
+
Characteristic User Description
|
|
211
|
+
Primary Service (Handle 0x0000)
|
|
212
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service000d
|
|
213
|
+
0000180a-0000-1000-8000-00805f9b34fb
|
|
214
|
+
Device Information
|
|
215
|
+
Characteristic (Handle 0x0000)
|
|
216
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service000d/char0016
|
|
217
|
+
00002a29-0000-1000-8000-00805f9b34fb
|
|
218
|
+
Manufacturer Name String
|
|
219
|
+
Characteristic (Handle 0x0000)
|
|
220
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service000d/char0014
|
|
221
|
+
00002a28-0000-1000-8000-00805f9b34fb
|
|
222
|
+
Software Revision String
|
|
223
|
+
Characteristic (Handle 0x0000)
|
|
224
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service000d/char0012
|
|
225
|
+
00002a27-0000-1000-8000-00805f9b34fb
|
|
226
|
+
Hardware Revision String
|
|
227
|
+
Characteristic (Handle 0x0000)
|
|
228
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service000d/char0010
|
|
229
|
+
00002a25-0000-1000-8000-00805f9b34fb
|
|
230
|
+
Serial Number String
|
|
231
|
+
Characteristic (Handle 0x0000)
|
|
232
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service000d/char000e
|
|
233
|
+
00002a24-0000-1000-8000-00805f9b34fb
|
|
234
|
+
Model Number String
|
|
235
|
+
Primary Service (Handle 0x0000)
|
|
236
|
+
/org/bluez/hci0/dev_34_68_B5_87_2E_04/service000c
|
|
237
|
+
00001801-0000-1000-8000-00805f9b34fb
|
|
238
|
+
Generic Attribute Profile
|
|
239
|
+
*/
|
|
240
|
+
const BTSensor = require("../BTSensor");
|
|
241
|
+
|
|
242
|
+
const GobiusState=new Map(
|
|
243
|
+
[[0x0, "Start-Up"],
|
|
244
|
+
[0x1, "Self-Test"],
|
|
245
|
+
[0x02, "Uninit"],
|
|
246
|
+
[0x03, "Uncalibrated"],
|
|
247
|
+
[0x04, "Calibration"],
|
|
248
|
+
[0x05, "Active"],
|
|
249
|
+
[0x06, "Error"],
|
|
250
|
+
[0x07,"Production-Test"],
|
|
251
|
+
[0x08, "HW-Test"]]
|
|
252
|
+
)
|
|
253
|
+
class GobiusCTankMeter extends BTSensor{
|
|
254
|
+
static Domain = BTSensor.SensorDomains.tanks
|
|
255
|
+
|
|
256
|
+
static async identify(device){
|
|
257
|
+
|
|
258
|
+
const name = await this.getDeviceProp(device,"Name")
|
|
259
|
+
if (name && name.toLowerCase().startsWith('gobius c'))
|
|
260
|
+
return this
|
|
261
|
+
else
|
|
262
|
+
return null
|
|
263
|
+
}
|
|
264
|
+
hasGATT(){
|
|
265
|
+
return true
|
|
266
|
+
}
|
|
267
|
+
usingGATT(){
|
|
268
|
+
return true
|
|
269
|
+
}
|
|
270
|
+
emitGATT(){
|
|
271
|
+
this.characteristic.readValue()
|
|
272
|
+
.then((buffer)=>
|
|
273
|
+
this.emitValuesFrom( buffer)
|
|
274
|
+
)
|
|
275
|
+
|
|
276
|
+
}
|
|
277
|
+
initSchema(){
|
|
278
|
+
super.initSchema()
|
|
279
|
+
this.getGATTParams()["useGATT"].default=true
|
|
280
|
+
this.addParameter("type",{
|
|
281
|
+
tag: "type",
|
|
282
|
+
description:"Type of tank",
|
|
283
|
+
enum: [
|
|
284
|
+
"petrol",
|
|
285
|
+
"freshWater",
|
|
286
|
+
"greyWater",
|
|
287
|
+
"blackWater",
|
|
288
|
+
"holding",
|
|
289
|
+
"lpg",
|
|
290
|
+
"diesel",
|
|
291
|
+
"liveWell",
|
|
292
|
+
"baitWell",
|
|
293
|
+
"ballast",
|
|
294
|
+
"rum"
|
|
295
|
+
]
|
|
296
|
+
})
|
|
297
|
+
|
|
298
|
+
this.addDefaultParam("id")
|
|
299
|
+
.default="1"
|
|
300
|
+
|
|
301
|
+
this.addMetadatum("mst","","Device state",
|
|
302
|
+
(buffer)=>{return GobiusState.get(buffer.readInt8(0))}
|
|
303
|
+
)
|
|
304
|
+
.default='tanks.{type}.{id}.deviceState'
|
|
305
|
+
|
|
306
|
+
this.addMetadatum("msb","","Device status",
|
|
307
|
+
(buffer)=>{return buffer.readInt8(1)}
|
|
308
|
+
)
|
|
309
|
+
.default='tanks.{type}.{id}.deviceStatus'
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
this.addMetadatum("mvd","","Measurement validity 0=invalid 1=valid",
|
|
313
|
+
(buffer)=>{return buffer.readInt8(2)}
|
|
314
|
+
)
|
|
315
|
+
.default='tanks.{type}.{id}.measurementValidity'
|
|
316
|
+
|
|
317
|
+
this.addMetadatum("mfl","ratio","Current level",
|
|
318
|
+
(buffer)=>{return buffer.readInt16BE(3)/1000}
|
|
319
|
+
)
|
|
320
|
+
.default='tanks.{type}.{id}.currentLevel'
|
|
321
|
+
|
|
322
|
+
this.addMetadatum("minc","rad","Sensor inclination",
|
|
323
|
+
(buffer)=>{return buffer.readInt8(5) * Math.PI/180}
|
|
324
|
+
)
|
|
325
|
+
.default='tanks.{type}.{id}.inclination'
|
|
326
|
+
|
|
327
|
+
this.addMetadatum("mdist","mm","Distance from sensor enclosure interface [mm]",
|
|
328
|
+
(buffer)=>{return buffer.readInt16BE(6) }
|
|
329
|
+
)
|
|
330
|
+
.default='tanks.{type}.{id}.distanceFromEnclosure'
|
|
331
|
+
this.getJSONSchema().properties.params.required=["type" ]
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
initGATTConnection(){
|
|
335
|
+
return new Promise((resolve,reject )=>{ this.deviceConnect().then(async ()=>{
|
|
336
|
+
if (!this.gattServer) {
|
|
337
|
+
this.gattServer = await this.device.gatt()
|
|
338
|
+
this.service = await this.gattServer.getPrimaryService("0000ffe0-0000-1000-8000-00805f9b34fb")
|
|
339
|
+
this.characteristic = await this.service.getCharacteristic("0000ffe9-0000-1000-8000-00805f9b34fb")
|
|
340
|
+
}
|
|
341
|
+
resolve(this)
|
|
342
|
+
}).catch((e)=>{ reject(e.message) }) })
|
|
343
|
+
}
|
|
344
|
+
initGATTNotifications() {
|
|
345
|
+
Promise.resolve(this.characteristic.startNotifications().then(()=>{
|
|
346
|
+
this.characteristic.on('valuechanged', buffer => {
|
|
347
|
+
this.emitValuesFrom(buffer)
|
|
348
|
+
})
|
|
349
|
+
}))
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
async stopListening(){
|
|
353
|
+
super.stopListening()
|
|
354
|
+
if (this.characteristic && await this.characteristic.isNotifying()) {
|
|
355
|
+
await this.characteristic.stopNotifications()
|
|
356
|
+
this.characteristic=null
|
|
357
|
+
}
|
|
358
|
+
if (await this.device.isConnected()){
|
|
359
|
+
await this.device.disconnect()
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
module.exports=GobiusCTankMeter
|
|
@@ -19,7 +19,7 @@ function decodeTempHumid(tempHumidBytes) {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
class GoveeH510x extends BTSensor{
|
|
22
|
-
|
|
22
|
+
static Domain = this.SensorDomains.environmental
|
|
23
23
|
static async identify(device){
|
|
24
24
|
const regex = /^GVH510[0-9]_[a-f,A-F,0-9]{4}$/
|
|
25
25
|
const name = await this.getDeviceProp(device,"Name")
|
|
@@ -4,12 +4,19 @@ class IBeacon extends BTSensor {
|
|
|
4
4
|
static isSystem = true;
|
|
5
5
|
|
|
6
6
|
static async identify(device) {
|
|
7
|
-
const md = await this.getDeviceProp(device,'ManufacturerData');
|
|
7
|
+
/*const md = await this.getDeviceProp(device,'ManufacturerData');
|
|
8
8
|
if (md && Object.hasOwn(md, 0x004c)) {
|
|
9
9
|
if (md[0x004c].value.slice(0,2).join() == [0x02, 0x15].join()) {
|
|
10
10
|
return this
|
|
11
11
|
}
|
|
12
|
-
}
|
|
12
|
+
}*/
|
|
13
|
+
// IBeacon protocol (see above) is incorporated into multiple BT devices
|
|
14
|
+
// The identify:: method above will misidentify any sensor (Govee for example)
|
|
15
|
+
// that the scanner finds.
|
|
16
|
+
// Sensors can still be classified as IBeacons, they'll appear as Unknown devices in
|
|
17
|
+
// the config. Users can then select IBeacon from the dropdown to
|
|
18
|
+
// instantiate the sensor as an IBeacon object.
|
|
19
|
+
|
|
13
20
|
return null
|
|
14
21
|
}
|
|
15
22
|
|
package/sensor_classes/JBDBMS.js
CHANGED
|
@@ -35,6 +35,8 @@
|
|
|
35
35
|
|
|
36
36
|
const BTSensor = require("../BTSensor");
|
|
37
37
|
class KilovaultHLXPlus extends BTSensor{
|
|
38
|
+
static Domain = BTSensor.SensorDomains.electrical
|
|
39
|
+
|
|
38
40
|
constructor(device, config, gattConfig) {
|
|
39
41
|
super(device, config, gattConfig)
|
|
40
42
|
this.accumulated_buffer = Buffer.alloc(0)
|
|
@@ -201,13 +201,15 @@ class MopekaIOTBluetoothDeviceData(BluetoothData):
|
|
|
201
201
|
*/
|
|
202
202
|
|
|
203
203
|
class MopekaDevice{
|
|
204
|
+
|
|
204
205
|
constructor (ID, name, lengthOfAd = 10){
|
|
205
206
|
this.ID=ID
|
|
206
207
|
this.name=name
|
|
207
208
|
this.lengthOfAd=lengthOfAd
|
|
208
209
|
}
|
|
209
210
|
}
|
|
210
|
-
|
|
211
|
+
|
|
212
|
+
const MopekaDevices = new Map()
|
|
211
213
|
MopekaDevices.set()
|
|
212
214
|
.set (0x0, new MopekaDevice("XXXX","Unknown Mopeka device"))
|
|
213
215
|
.set (0x3, new MopekaDevice("M1017", "Pro Check"))
|
|
@@ -238,6 +240,8 @@ MopekaDevices.set()
|
|
|
238
240
|
|
|
239
241
|
const BTSensor = require("../BTSensor");
|
|
240
242
|
class MopekaTankSensor extends BTSensor{
|
|
243
|
+
static Domain = BTSensor.SensorDomains.tanks
|
|
244
|
+
|
|
241
245
|
static serviceID = "0000fee5-0000-1000-8000-00805f9b34fb"
|
|
242
246
|
static serviceID16 = 0xFEE5
|
|
243
247
|
|
|
@@ -257,7 +261,6 @@ class MopekaTankSensor extends BTSensor{
|
|
|
257
261
|
await super.init()
|
|
258
262
|
const md = this.valueIfVariant(this.getManufacturerData(this.constructor.manufacturerID))
|
|
259
263
|
this.modelID = md[0]
|
|
260
|
-
this.initMetadata()
|
|
261
264
|
}
|
|
262
265
|
|
|
263
266
|
getMedium(){
|
|
@@ -272,7 +275,8 @@ class MopekaTankSensor extends BTSensor{
|
|
|
272
275
|
return rawLevel * (coefs[0] + (coefs[1] * (this.temp-233.15)) + (coefs[2] * ((this.temp-233.15)^2)))
|
|
273
276
|
}
|
|
274
277
|
|
|
275
|
-
|
|
278
|
+
initSchema(){
|
|
279
|
+
super.initSchema()
|
|
276
280
|
this.addParameter("medium",
|
|
277
281
|
{
|
|
278
282
|
title:"type of liquid in tank",
|
|
@@ -5,7 +5,7 @@ const BTSensor = require("../../BTSensor.js");
|
|
|
5
5
|
const VC = require('./RenogyConstants.js');
|
|
6
6
|
const crc16Modbus = require('./CRC.js')
|
|
7
7
|
class RenogySensor extends BTSensor{
|
|
8
|
-
|
|
8
|
+
static Domain=BTSensor.SensorDomains.electrical
|
|
9
9
|
static ALIAS_PREFIX = 'BT-TH'
|
|
10
10
|
static TX_SERVICE = "0000ffd0-0000-1000-8000-00805f9b34fb"
|
|
11
11
|
static RX_SERVICE = "0000fff0-0000-1000-8000-00805f9b34fb"
|