bt-sensors-plugin-sk 1.2.0-beta.0.0.4 → 1.2.0-beta.0.0.5
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 +6 -5
- package/index.js +8 -5
- package/package.json +1 -1
- package/plugin_defaults.json +98 -10
- package/sensor_classes/ATC.js +2 -3
- package/sensor_classes/Aranet/AranetSensor.js +4 -0
- package/sensor_classes/Aranet2.js +16 -15
- package/sensor_classes/Aranet4.js +23 -17
- package/sensor_classes/GoveeH50xx.js +10 -12
- package/sensor_classes/GoveeH510x.js +2 -5
- package/sensor_classes/IBeacon.js +4 -7
- package/sensor_classes/Inkbird.js +2 -2
- package/sensor_classes/JBDBMS.js +29 -19
- package/sensor_classes/KilovaultHLXPlus.js +32 -15
- package/sensor_classes/LancolVoltageMeter.js +4 -3
- package/sensor_classes/RenogyBattery.js +15 -13
- package/sensor_classes/RenogyRoverClient.js +2 -3
- package/sensor_classes/RuuviTag.js +35 -27
- package/sensor_classes/ShellySBHT003C.js +17 -17
- package/sensor_classes/SwitchBotMeterPlus.js +8 -12
- package/sensor_classes/SwitchBotTH.js +11 -16
- package/sensor_classes/VictronACCharger.js +5 -5
- package/sensor_classes/VictronBatteryMonitor.js +40 -23
- package/sensor_classes/VictronDCDCConverter.js +14 -5
- package/sensor_classes/VictronDCEnergyMeter.js +26 -7
- package/sensor_classes/VictronGXDevice.js +2 -5
- package/sensor_classes/VictronInverter.js +18 -14
- package/sensor_classes/VictronInverterRS.js +2 -2
- package/sensor_classes/VictronLynxSmartBMS.js +3 -5
- package/sensor_classes/VictronOrionXS.js +2 -2
- package/sensor_classes/VictronSmartBatteryProtect.js +4 -6
- package/sensor_classes/VictronSmartLithium.js +18 -18
- package/sensor_classes/VictronSolarCharger.js +31 -18
- package/sensor_classes/VictronVEBus.js +2 -5
- package/sensor_classes/XiaomiMiBeacon.js +17 -18
|
@@ -6,25 +6,38 @@ class VictronSolarCharger extends VictronSensor{
|
|
|
6
6
|
return await this.identifyMode(device, 0x01)
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
this.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.addMetadatum('chargeState','', 'charge state',
|
|
9
|
+
initSchema() {
|
|
10
|
+
super.initSchema()
|
|
11
|
+
this.addDefaultParam("id")
|
|
12
|
+
|
|
13
|
+
this.addMetadatum('chargeState','', 'charge state',
|
|
15
14
|
(buff)=>{return VC.OperationMode.get(buff.readUInt8(0))})
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
.default="electrical.solar.{id}.state"
|
|
16
|
+
|
|
17
|
+
this.addMetadatum('chargerError','', 'charger error',
|
|
18
|
+
(buff)=>{return VC.ChargerError.get(buff.readUInt8(1))})
|
|
19
|
+
.default="electrical.solar.{id}.error"
|
|
20
|
+
|
|
21
|
+
this.addMetadatum('voltage','V', 'charger battery voltage',
|
|
22
|
+
(buff)=>{return this.NaNif(buff.readInt16LE(2),0x7FFF)/100})
|
|
23
|
+
.default="electrical.solar.{id}.dc.voltage"
|
|
24
|
+
|
|
25
|
+
this.addMetadatum('current','A','charger battery current',
|
|
26
|
+
(buff)=>{return this.NaNif(buff.readInt16LE(4),0x7FFF)/10})
|
|
27
|
+
.default="electrical.solar.{id}.dc.current"
|
|
28
|
+
|
|
29
|
+
this.addMetadatum('yield','Wh', 'yield today in Watt-hours',
|
|
30
|
+
(buff)=>{return this.NaNif(buff.readUInt16LE(6),0xFFFF)*10})
|
|
31
|
+
.default="electrical.solar.{id}.yieldToday"
|
|
32
|
+
|
|
33
|
+
this.addMetadatum('solarPower','W', 'solar power',
|
|
34
|
+
(buff)=>{return this.NaNif(buff.readUInt16LE(8),0xFFFF)})
|
|
35
|
+
.default="electrical.solar.{id}.panelPower"
|
|
36
|
+
|
|
37
|
+
this.addMetadatum('externalDeviceLoad','A', 'external device load',
|
|
38
|
+
(buff)=>{return this.NaNif(buff.readUInt16LE(10)&0x1FF,0x1FF)/10})
|
|
39
|
+
.default="electrical.solar.{id}.loadCurrent"
|
|
40
|
+
|
|
28
41
|
}
|
|
29
42
|
}
|
|
30
43
|
module.exports=VictronSolarCharger
|
|
@@ -9,11 +9,8 @@ class VictronVEBus extends VictronSensor{
|
|
|
9
9
|
return await this.identifyMode(device, 0x0C)
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.initMetadata()
|
|
15
|
-
}
|
|
16
|
-
initMetadata(){
|
|
12
|
+
initSchema(){
|
|
13
|
+
super.initSchema()
|
|
17
14
|
this.addMetadatum('chargeState','', 'charge state',
|
|
18
15
|
(buff)=>{return VC.OperationMode.get(buff.readUInt8(0))})
|
|
19
16
|
|
|
@@ -90,8 +90,6 @@ class XiaomiMiBeacon extends BTSensor{
|
|
|
90
90
|
return null
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
|
|
94
|
-
GATTwarning = "WARNING: Xiaomi GATT connections are known to be unreliable on Debian distributions with Bluez 5.55 and up (earlier BlueZ versions are untested). Using GATT on the Xiaomi may put the system Bluetooth stack into an inconsistent state disrupting and disabling other plugin Bluetooth connections. If by some chance you're successful using GATT with the Xiaomi, let the plugin developer know your configuration. Refer to the plugin documentation for getting the Xiamoi bindKey for non-GATT connections and more information on Xiaomi GATT issues."
|
|
95
93
|
|
|
96
94
|
emitValues(buffer){
|
|
97
95
|
this.emitData("temp", buffer, 0)
|
|
@@ -102,13 +100,10 @@ class XiaomiMiBeacon extends BTSensor{
|
|
|
102
100
|
return "Xiaomi Inc."
|
|
103
101
|
}
|
|
104
102
|
getGATTDescription() {
|
|
105
|
-
return
|
|
103
|
+
return ""
|
|
106
104
|
}
|
|
105
|
+
|
|
107
106
|
initGATTConnection(){
|
|
108
|
-
if (!this?.gattWarningDelivered) {
|
|
109
|
-
this.debug(this.GATTwarning.toUpperCase())
|
|
110
|
-
this.gattWarningDelivered=true
|
|
111
|
-
}
|
|
112
107
|
return new Promise((resolve,reject )=>{
|
|
113
108
|
this.deviceConnect().then(async ()=>{
|
|
114
109
|
if (!this.gattServer) {
|
|
@@ -202,30 +197,34 @@ class XiaomiMiBeacon extends BTSensor{
|
|
|
202
197
|
}
|
|
203
198
|
|
|
204
199
|
async init(){
|
|
200
|
+
|
|
205
201
|
await super.init()
|
|
206
202
|
const data = this.getServiceData(this.constructor.SERVICE_MIBEACON)
|
|
207
203
|
const frameControl = data[0] + (data[1] << 8)
|
|
208
204
|
this.deviceID = data[2] + (data[3] << 8)
|
|
209
205
|
this.isEncrypted = (frameControl >> 3) & 1
|
|
210
206
|
this.encryptionVersion = frameControl >> 12
|
|
207
|
+
}
|
|
208
|
+
initSchema(){
|
|
209
|
+
super.initSchema()
|
|
211
210
|
this.addParameter(
|
|
212
211
|
"encryptionKey",
|
|
213
212
|
{
|
|
214
213
|
title: "encryptionKey (AKA bindKey) for decryption"
|
|
215
214
|
}
|
|
216
215
|
)
|
|
217
|
-
this.
|
|
218
|
-
|
|
219
|
-
this.addMetadatum('humidity','ratio', 'humidity',
|
|
220
|
-
(buff,offset)=>{return buff.readInt16LE(offset)/1000})
|
|
221
|
-
|
|
222
|
-
this.addMetadatum('batteryStrength', 'ratio', 'sensor battery strength',
|
|
223
|
-
(buff,offset)=>{return ((buff.readUInt8(offset))/100)})
|
|
224
|
-
this.addMetadatum('voltage', 'V', 'sensor battery voltage',
|
|
225
|
-
(buff,offset)=>{return ((buff.readUInt16LE(offset))/1000)})
|
|
216
|
+
this.addDefaultPath('temp','environment.temperature')
|
|
217
|
+
.read=(buff,offset)=>{return ((buff.readInt16LE(offset))/10) + 273.15}
|
|
226
218
|
|
|
227
|
-
|
|
228
|
-
|
|
219
|
+
this.addDefaultPath('humidity','environment.humidity')
|
|
220
|
+
.read=(buff,offset)=>{return buff.readInt16LE(offset)/1000}
|
|
221
|
+
|
|
222
|
+
this.addDefaultPath("batteryStrength", "sensors.batteryStrength")
|
|
223
|
+
.read= (buff,offset)=>{return ((buff.readUInt8(offset))/100)}
|
|
224
|
+
|
|
225
|
+
this.addDefaultPath("voltage", "sensors.batteryVoltage")
|
|
226
|
+
.read=(buff,offset)=>{return ((buff.readUInt16LE(offset))/1000)}
|
|
227
|
+
}
|
|
229
228
|
|
|
230
229
|
getName(){
|
|
231
230
|
const dt = DEVICE_TYPES.get(this.deviceID)
|