NEWS
Test Adapter Device-Watcher v2.x.x GitHub/Latest
-
@ciddi89 sagte in Test Adapter Device-Watcher v1.x.x GitHub/Latest:
ich vergesse immer das nicht alle wissen das es nicht gesund ist bestimmte Zeichensätze in Namen zu setzen
-
@ciddi89 Huhu, was auch immer du gemacht hast, es hat funtioniert !
Super !!!
VG
Axel -
@ciddi89
Super adapter, bin ich gestern per zufall drüber gestolpert und echt begeistert, spart so viel zeitKönntest du vlt. etwas implemnetieren das man z.b. auch eigene Geräte / Strukturen verwenden kann. Also z.B. hab ich ein paar mqtt Geräte, die ich gerne mit dem Adapter auch überwachen würde.
Meine Idee wäre das man z.B. über die Adapterkonfig eigene Strukturen per json anlegen kann:meineStruktur: { Selektor: 'meineStruktur.*.rssi', adapterID: 'meineStruktur', adapter: 'meineStruktur', battery: '.battery', rssiState: '.rssi', reach: 'none', isLowBat: 'none', }
Was denkst du?
-
@scrounger wow, einer der gute dev's!
vllt kenn ich mich zu wenig aus, aber würde das nicht über sonoff funzen? -
@scrounger danke für die Blumen.
Finde deine Idee sogar sehr gut, gerade für die ganzen mqtt Geräte. Habe ja auch einige am laufen aber es gibt so viele Unterschiede. Da könnte sich der User selbst seine Exoten einpflegen.
Werde das heute Abend mal mit reinnehmen und ausprobieren. -
@ciddi89
Super, vielen Dank schon mal, das wäre ne mega Funktion!Das könnte man sogar so generisch aufbauen, dass das als Vorlage für neue Adapter genutzt werden kann und du ggf. nur noch die json struktur mergen musst und schon geht der neue Adapter - nur so ne idee
-
Hallo ciddi89
Danke für den Adapter. Aber ich habe ein Problem.
Ich bekommen nur Nachrichten bei Offline Geräten. Aber nicht wenn Batteriestand zu gering.
Habe die stabel + github Version getestet.Der Datenpunkt lowBatteryCount = 11 --> es sollte also was zum senden geben.
Ich habe den Adapter gerade mit debug log laufen und bekommen die ganze zeit folgende Meldungen:
device-watcher.0 2022-11-22 16:52:40.033 debug Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) } device-watcher.0 2022-11-22 16:52:39.655 debug Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) } device-watcher.0 2022-11-22 16:52:39.567 debug Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) } device-watcher.0 2022-11-22 16:52:39.562 debug Function finished: resetVars device-watcher.0 2022-11-22 16:52:39.562 debug Function started: resetVars device-watcher.0 2022-11-22 16:52:39.562 debug Function started: createDataOfAllAdapter device-watcher.0 2022-11-22 16:52:39.561 debug Function started: main device-watcher.0 2022-11-22 16:52:39.561 debug Updating Data device-watcher.0 2022-11-22 16:52:29.560 debug Function finished: main device-watcher.0 2022-11-22 16:52:29.560 debug Created and filled data for all adapters device-watcher.0 2022-11-22 16:52:29.560 debug Function finished: createDataOfAllAdapter device-watcher.0 2022-11-22 16:52:29.559 debug Function finished: writeDatapoints device-watcher.0 2022-11-22 16:52:29.444 debug Start the function: writeDatapoints device-watcher.0 2022-11-22 16:52:29.443 debug Finished the function: sendOfflineNotifications device-watcher.0 2022-11-22 16:52:29.443 debug Start the function: sendOfflineNotifications device-watcher.0 2022-11-22 16:52:29.182 debug Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) } device-watcher.0 2022-11-22 16:52:28.795 debug Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) } device-watcher.0 2022-11-22 16:52:28.671 debug Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) } device-watcher.0 2022-11-22 16:52:28.654 debug Function finished: resetVars device-watcher.0 2022-11-22 16:52:28.654 debug Function started: resetVars device-watcher.0 2022-11-22 16:52:28.653 debug Function started: createDataOfAllAdapter device-watcher.0 2022-11-22 16:52:28.653 debug Function started: main device-watcher.0 2022-11-22 16:52:28.652 debug Updating Data device-watcher.0 2022-11-22 16:52:18.651 debug Function finished: main device-watcher.0 2022-11-22 16:52:18.651 debug Created and filled data for all adapters device-watcher.0 2022-11-22 16:52:18.650 debug Function finished: createDataOfAllAdapter device-watcher.0 2022-11-22 16:52:18.650 debug Function finished: writeDatapoints device-watcher.0 2022-11-22 16:52:18.540 debug Start the function: writeDatapoints device-watcher.0 2022-11-22 16:52:18.540 debug Finished the function: sendOfflineNotifications device-watcher.0 2022-11-22 16:52:18.539 debug Start the function: sendOfflineNotifications device-watcher.0 2022-11-22 16:52:18.291 debug Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) } device-watcher.0 2022-11-22 16:52:17.693 debug Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) } device-watcher.0 2022-11-22 16:52:17.599 debug Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
Brauchst du weitere Infos?
DANKE schon mal für deine Hilfe. -
@markus_ hi danke für die Meldung. Bitte mal noch mal GitHub Version testen. sollte gefixt sein.
-
@ciddi89
DANKE für den schnellen fix.
Ich bekomme jetzt eine Benachrichtigung erhalten.Darin fehlt allerdings mein Shelly Button
https://www.shelly.cloud/knowledge-base/devices/shelly-button-1/hast du diesen schon implementiert ?
Das wäre der Datenpunkt der den Batterie Status anzeigt{ "type": "state", "common": { "name": "value", "type": "number", "role": "value.battery", "read": true, "write": false, "min": 0, "max": 100, "unit": "%" }, "native": {}, "from": "system.adapter.shelly.0", "user": "system.user.admin", "ts": 1669128127316, "_id": "shelly.0.SHBTN-1#48551902D56E#1.bat.value", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@markus_ okay test again. Sollte nun mit drin sein.
-
@ciddi89
Der shelly button wird jetzt angezeigt. DANKEnächstes Problem: Homematic-IP HmIP-KRC4.
https://homematic-ip.com/de/produkt/schluesselbundfernbedienung-4-tasten/downloads
https://de.elv.com/elv-homematic-ip-arr-bausatz-schluesselbundfernbedienung-mit-4-tasten-hmip-krc4-fuer-smart-home-und-hausautomation-152606
Das ist der Datenpunkt der Batteriespannung.{ "type": "state", "common": { "name": "XXXXX:0.OPERATING_VOLTAGE", "role": "value.voltage", "def": 0, "type": "number", "read": true, "write": false, "min": 0, "max": 25.2, "unit": "V" }, "native": { "MIN": 0, "OPERATIONS": 5, "MAX": 25.2, "FLAGS": 1, "ID": "OPERATING_VOLTAGE", "TYPE": "FLOAT", "DEFAULT": 0 }, "from": "system.adapter.hm-rega.0", "user": "system.user.admin", "ts": 1667845499723, "_id": "hm-rpc.2.0002DD8991XXX.0.OPERATING_VOLTAGE", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Anscheinend ist der max Wert des Datenpunkts falsch. Aber wer hat hier dann den Fehler gemacht? Der Programmierer des HM-RPC Adapter? Oder liegt er bei der Datenquelle also Homematic?
-
@markus_ was ist denn der wert der geliefert wird? Ist auf jeden Fall hm-rpc Fehler und dafür musst du dann ein issue anlegen auf GitHub. Den kannst du aber händisch selbst ändern. Wird aber wohl möglich bei Updates überschrieben. Es gibt aber mehrere Geräte wo der Max wert von verschiedenen Geräten/Datenpunkte nicht stimmen. Hab auch so ein Gerät, weiß garnicht mehr was das für ein Datenpunkt es war aber im Log kam dann auch immer die Meldung „32 is greater than the max value 8“ oder so ähnlich. Aber seitdem ich es selbst angepasst habe ist Ruhe.
-
@ciddi89
Danke für die Info.
Es wird hier die Spannung in Volt angezeigt.
Ich habe ein Issue auf Github aufgemachtNächstes Problem:
Ich habe die Einstellung "Nur Geräte mit Batterien auflisten" aktiv und mir werden viele Homemmatic IP Wired Geräte angezeigt. Woher weißt du ob ein Gerät eine Batterie hat? Bei mir werden sie aufgelistet obwohl sie immer mit Netzteil versorgt werden. -
@markus_ ah okay danke für die Info. Ja der Adapter guckt nach operating_voltage oder low bat Datenpunkte. Homematic Wired hatte ich noch nicht aufn Schirm somit bist du mir eine große Hilfe werde heute Abend aber n Filter einbauen der die Geräte raus nimmt. Melde mich dann noch mal
-
@markus_ Geräte mit einer höheren Spannung werden nun nicht mehr als Batterie Geräte angezeigt. Kannst du ja noch einmal testen.
-
@ciddi89
Die Homematic Ip Wired Geräte werden jetzt nicht mehr aufgelistet.
SUPER DANKEIch habe jetzt bei den Batterie betriebenen Geräten versucht den Max Wert manuell anzupassen. Das hat leider nichts gebracht. Bei den Geräten erhalte ich keine "low battery" Meldung.
{ "type": "state", "common": { "name": "XXX:0.OPERATING_VOLTAGE", "role": "value.voltage", "def": 0, "type": "number", "read": true, "write": false, "min": 0, "max": 1.5, "unit": "V" }, "native": { "MIN": 0, "OPERATIONS": 5, "MAX": 1.5, "FLAGS": 1, "ID": "OPERATING_VOLTAGE", "TYPE": "FLOAT", "DEFAULT": 0 }, "_id": "XXX.0.OPERATING_VOLTAGE", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1669238162413 }
-
@markus_ verstehe ich nun nicht. Der Max wert definiert den maximalen Wert vom Datenpunkt. Das hat nichts damit zu tun wann er als low bat device gelten soll. Dafür haben die einen Datenpunkt namens lowbat/low_bat dieser wird aber vom Gerät bestimmt wann dieser auf true springen soll.
-
@ciddi89
Ich glaube ich habe die Funktion deines Adapters falsch interpretiert.
Bei Homematic Geräten greift die Einstellung "Ab wie viel min % würden Sie eine Nachricht bekommen" im Adapter nicht. Hier wird nur der "low_bat" Datenpunkt ausgewertet.Ich habe um die Funktion des Adapters zu testen "Ab wie viel min % würden Sie eine Nachricht bekommen" auf 99 gestellt und habe mich gewundert warum ich keine Benachrichtigungen bekomme....
-
@markus_ genau, bei Geräten mit low bat Datenpunkt, wird dieser als Indikator genutzt.
-
@ciddi89
Hi, vielen Dank erstmal fuer den tollen Adapter!
Ich haette da vielleicht n feature-request, vielleicht kanns der ein oder andere auch gebrauchen und du findest es auch sinnvoll:Zusaetzlicher Datenpunkt
"lostdevices, type number" - differenz der Anzahl Devices insgesamt vom letzten und aktuellen Scan, wenn Anzahl niedriger als vorher
"lostdeviceslist" - json oder html liste der verlorenen DevicesMein Problem:
Der Zigbee-Adapter verliert bei mir ab und zu mal ein Device, das ist dann einfach weg, als waere es nie da gewesen...
Da ist es auch egal, ob Batterie oder Netzgeraet.. von daher waere es eine sinnvolle Erweiterung ???