NEWS
Zigbee-Geräte überwachen
-
@firebowl kommen denn nun Nachrichten oder nicht? Hab daran nichts geändert und bei mir laufen diese auch. Du musst auch bedenken: Wenn die Batterien natürlich über den stand sind, den du angegeben hast, wird auch keine Nachricht versendet.
Hab in der Vorgabe es nun von 70% auf 35% umgeändert. aber wie gesagt. Kann ja jeder für sich einstellen. Je nachdem wie lange man braucht um neue Batterien zu beschaffen -
@ciddi89 Sorry war mein Fehler bzw. ein Verständnisfehler meinerseits. Ich dachte "const sendBatterieMsgAtStart = true" bedeutet das beim starten des Scripts immer der Stand geschickt wird. Ist aber eigentlich logisch das auch hier nur die von dem % Wert betroffenen Geräte gemeldet werden.
Hab jetzt mal spaßeshalber den Wert auf 80% oder so gesetzt und sofort kam ne Benachrichtigung.
Danke dir für super schnelle Hilfe! -
@firebowl okay super. Wäre vielleicht aber eine Idee das mit einzubauen. Bzw. Später beim Adapter mit reinzunehmen.
Edit:
Mir ist gerade aufgefallen das keine Nachricht gesendet wurde wenn ein Gerät offline ging. Das lag an einer falschen Reihenfolge im Skript da der erforderliche Datenpunkt vorher schon beschrieben wurde und es somit kein alten Wert zum vergleich gab. Also einmal das Skript "updaten" und dann sollte das auch wieder gehen. -
@ciddi89
Ich habe in Github ein Issue angelegt mit der Frage, ob es möglich ist, einzelne Geräte aus der Überwachung auszuschließen.
Ich habe hier ein Gerät, dass nicht über den Zigbee-Adapter gesteuert werden soll.
Der Watchdog liefert immer wieder eine Warnung (was nun hervorragend funktioniert, danke dafür ).
Ich setze die neue Version 0.0.7 ein -
@martybr Neuste Version enthält jetzt eine variabel mit den Namen "myArrFilter" Hier können devices angegeben werden die ausgeschlossen werden soll.
-
@ciddi89 Super, danke. Das teste ich gleich
-
@ciddi89
Das hat funktioniert. Ich hatte ein Device im BLE Adapter, der wurde alle (gefühlt 5h) als nicht erreichbar gemeldet.Danke, nun ist alles gut.
-
hallo
ich hab gesehen, dass du einige Geräte in unterschiedelichen Ordnern abfragst
if (watchZigbee) { myArrDev.push({"theSelektor":"zigbee.0.*.link_quality","theName":"common","linkQual":"zigbee","batt":"zigbee"}) } if (watchBle) { myArrDev.push({"theSelektor":"ble.0.*.rssi","theName":"common","linkQual":"ble","batt":"none"}) } if (watchMqttXiaomi) { myArrDev.push({"theSelektor":"mqtt.0.xiaomiantenna.*.status","theName":"Objectname2Level","linkQual":"none","batt":"none"}) myArrDev.push({"theSelektor":"mqtt.0.xiaomiantenna.sensors.sensor.*_batt.state","theName":"Objectname1Level","linkQual":"none","batt":"dpvalue"}) }
aber was ist zb mit:
mihome.0.devices.* ?? -
@homecineplexx Kann das gerne mit Einpflegen. Muss dann nur wissen ob es da Datenpunkte wie zb Linkquality oder rssi oder ähnlich dort gibt.
-
@ciddi89 nein gibt es da nicht, einzige was es gibt, wären die Batterie Datenpunkte in Volt bzw %, die aber total unterschiedlich aktualisieren.
-
@ciddi89 also es gibt da unterschiedliche Devices
Schalter, die sehen so aus:
Magneten:
Motion:
Smoke:
hilft dir das?
-
@crunchip & @homecineplexx hmm okay. Ich habs mit rein genommen. Diese werden dann über die Batterie Percent state abgefragt. Muss dann nur getestet werden ob die auch richtig abgefragt werden. Vorher die const watchMiHome auf true stellen.
-
@ciddi89 ob das Sinn macht?
Deshalb schrieb ich ja, die Datenpunkte werden sehr unregelmäßig aktualisiert. Ich verwende zigbee, hab aber noch zwei Sensoren über mihome laufen, kann ja mal testen -
@crunchip said in Zigbee-Geräte überwachen:
@ciddi89 ob das Sinn macht?
Das selbe habe ich mich auch gefragt, wo ich bei dir gelesen habe, das die Batterie Stände sehr unterschiedlich aktualisiert werden. Naja wer will kann sich die ja mit auflisten lassen, wer nicht der nicht. Ich selber habe keine mihome Geräte die über diesen Adapter laufen. Daher kann ich das selbst nicht ausprobieren. Und in erster Linie soll es ja auch darum gehen Geräte mit einer Link quality / rssi zu überwachen.
-
Moin zusammen,
wäre es vielleicht möglich auch bestimmte WLAN Devices aufzunehmen?
Ich denke da z.B. an Shellys. Ich habe hier bei mir einen Shelly HT im Einsatz.
Er liefert auch einen Batterie Wert, allerdings bin ich mir nicht so ganz schlüssig welchen Wert man für das offline nehmen sollte. Die Teile melden sich ja viel seltener als ZigBee Devices um Strom zu sparen. -
@firebowl klar könnte man die aufnehmen. Wäre aber von Vorteil wenn diese Geräte einen link_quality, rssi oder ähnlichen Datenpunkt hat. Darauf basiert das ja nämlich alles und wäre schön wenn man es so beibehalten könnte. Sonst müsste man die ganze Art und Aufbau des Skriptes überdenken wenn man nur battery States nutzt und überwacht.
Btw. Für alle interessierten: Hab den Adapter soweit fertig muss nur noch paar Kleinigkeiten machen und dann werde ich den wohl zum Testen freigeben. Johannes und ich haben den bereits zum Testen am laufen.
-
Für die Leute, die den Adapter, der das gleiche macht wie das Skript, mal testen wollen:
https://forum.iobroker.net/topic/55426/test-adapter-device-watcher-v0-0-x-github-latest
-
@ciddi89 UI, das ganze hier ist ja vollkommen an mir vorbeigegangen. Falls nicht schon bekannt, schau Dir mal mein Batterieskript an, da sind viele Probleme, auf die Du evtl. noch stoßen wirst schon gelöst, spicken gern erlaubt. https://github.com/Pittini/iobroker-Batterienauswertung
-
hallo ciddi89!
ein tolles script, welches du uns zur verfügung stellst. besten dank!
vor allem das selbständige einbinden von neuen geräten taugt mir besonders.nach dem importieren vom script habe ich zuerst keine messages von telegram bekommen.
es lag an der definition von sendTo('telegram' anstatt sendTo('telegram.0'//Telegram function async function telegram (msg) { sendTo('telegram.0', { text: msg, user: userTelegram, parse_mode: 'HTML'
ich bin mir nicht sicher, ob die pfade nicht standardmäßig mit instanzname .0 aufgebaut werden.
wenn sich meine objektpfade vom üblichen aufbau unterscheiden, bitte vergiss die meldung.nochmals danke für die super arbeit
bg tom -
@tom_33 Hallo Tom,
naja der dank sollte eher an @JohannesA gehen, er hatte die Idee und hat das Hauptskript geschrieben.
Ja in der Regel hat man ja eine Telegram Instanz und diese hat die Kennung 0. Es kann aber in Einzelfällen Abweichen. Lässt man die 0 weg schickt er es, wenn verfügbar, an alle Instanzen. Evtl. hat deine Instanz eine andere Kennung da du vielleicht mal zwei hattest und eine gelöscht hast? Du siehst das in der Instanzübersicht von telegram welche Instanznummer das ist.