NEWS
Test Adapter Device-Watcher v2.x.x GitHub/Latest
-
@da_woody sieht doch schon mal ganz gut aus. Code mäßig habe ich da auch noch zu tun. Aber die Hauptsachen sind ja nun da und funktionieren bisher ziemlich gut.
hier ist es auszuhalten Wetter bezüglich. Leider so gut das Garten und Pflaster arbeiten zu erledigen sind
-
@ciddi89 jup, funzt sauber. das sortieren hab ich auch schon hingebracht. musste nur nach Device angeben, dann wird nicht nach der ID sortiert.
in ruhe nochmal den code durchgehn und dann ab ins repository! -
@ciddi89 wieder bißchen rumgespielt... da gibts soviele möglichkeiten...
-
Hallo zusammen,
ich habe heute den Adapter installiert und nutze folgende Module:
MiHome, Sonoff, Ble, Homematic, Switchbot Ble, ZigbeeIch habe keine Vis und würde gerne nur den Telegram Adapter nutzen.
Diesen habe ich angehakt aber leider kam (mittags) keine Telegramnachricht.Bei den Objekten ist der Datenpunkt device-watcher.0.lastNotification leer.
device-watcher.0.lowBatteryCount ist 0
und
device-watcher.0.offlineCount ist 16"Offline-Nachricht" ist eingeschaltet. Also sollte eigentlich was kommen, oder?
In der ioBroker Logdatei finde ich auch keinen Eintrag bezüglich einer Telegramnachricht.Telegram ist eingeschaltet, Telegram-Instanz ist auf "alle" (habe zwei) Geräte-Id und Chat-ID ist leer.
Vielen Dank,
Tobi -
@tobi81 Guten Abend,
vielen dank für deine Nachricht! Ich wusste das irgend etwas nicht stimmt. Das sollte so natürlich nicht sein und ich habe den Fehler schon ausfindig gemacht. Offline Nachrichten gibt es so bald der Adapter bei seiner runde ein nicht erreichbares Gerät findet. Nachrichten mit niedriger Batterien gibt es mittags. Dafür sollten aber auch Geräte verfügbar sein mit niedriger batterie.
Der Fehler war aber das ich gerade dabei bin den Adapter intern zu sortieren. Da waren die Funktionen für das senden der Nachrichten an der falschen position. Ist aber nun erstmal gefixt und ein neu installieren / drüber installieren des adapters sollte Abhilfe schaffen.
-
Hallo @ciddi89,
vielen Dank für den schnellen Fix und die Erklärungen.Jetzt kommt die Offlinenachricht per Telegram.
Es hat aber ein bisschen gedauert, bis ich die Nachricht bekommen habe, denn ich habe zwei kleine Probleme gehabt:
Erstes Problem: Falscher Benachrichtigungsdienst aktiviert.
Ich hatte durch herumspielen in den Einstellunen (versehentlich?) im Pushover Dropdown bei "Pushover-Instanz" den Wert "alle" ausgewählt. Da ich kein Pushover aktiviert hab ist er irgendwie beim Ausführen bei diesen Zeilen rausgesprungen:
if (this.config.instancePushover) { try { await this.sendPushover(msg); } catch (e) { this.log.warn (`Getting error at sending pushover notification ${e}`); } }
Die letzte Logdatei in ioBroker die ich gesehen habe, war die des Nachrichtenstrings welche gesendet werden sollte:
this.log.info(msg);
Danach kam kein Logging mehr vom Adapter...
Erst nachdem ich Pushover auf "none" gestellt habe, ging der Code durch und die Telegramnachricht wurde geschickt. Hoffe meine Schilderungen waren verständlich.
Vielleicht ist es irgendwie möglich solche Konfigurationsfehler abzufangen?
Zweites Problem:
Telegram-Instanz alleDann habe ich festgestellt, dass wenn ich bei Telegram bei "Telegram-Instanz" den Wert "alle" auswähle, kommt keine Telegramnachricht an.
Im Code steht dann in der Variable "this.config.instanceTelegram" der Wert "*".
Damit wird dann dieser Code ausgeführt:async sendTelegram(text) { this.log.debug('sendTelegram: '+text); await this.sendToAsync(this.config.instanceTelegram, 'send', { text: text, user: this.config.deviceTelegram, chatId: this.config.chatIdTelegram }); }
und da * keine gültige Telegraminstanz ist, wird auch keine Nachricht gesendet.
-
Hallo @Tobi81 vielen dank für deine super Schilderung! Das hilft mir weiter solche Sachen zu fixen! Leider denkt man nicht immer an alles, dann ist solcher input wirklich gut.
Vielleicht ist es irgendwie möglich solche Konfigurationsfehler abzufangen?
Das steht tatsächlich noch auf meiner todo Liste und wird noch mit einprogrammiert.
und da * keine gültige Telegraminstanz ist, wird auch keine Nachricht gesendet.
Du hast recht, habe es gerade getestet. Das bringt dann den Adapter zum Absturz. Werde da aber bei den anderen Dev's mal nach haken müssen weil die Instanzen holt er sich selber. Das einzige was ich machen kann ist die Auswahl
Alle
zu deaktivieren damit diese nicht mehr auftaucht. -
@ciddi89
Danke für das positive Aufnehmen meiner Schilderungen.Ich würde glaub ich versuchen beim Auswählen von * über den Objektbaum herauszufinden wie viele Instanzen es von dem Adapter gibt und dann einfach alle durchlaufen.
Aber vielleicht gibt es da einen direkten Weg in ioBroker. Also besser mal die anderen Devs fragenIch hab auch noch eine kleine Wishlist von Dingen die zumindest ich cool finden würden.
- Da ich keine Vis nutze und öfters Nachrichten von meinem Smarthome per Telegram bekomme, kann es schon sein, dass die Nachricht Batterien zu wechseln irgendwann untergeht. Ich finde leere Batterien und damit Funktionen die nicht funktionieren so gravierend, dass ich gerne jeden Tag eine Telegramnachricht hätte. Kannst du das nicht für Offlinegeräte als Option einbauen?
- Manchmal sind die Namen (zumindest bei mir) nicht immer aussagekräftig genug welches Device gemeint ist. Ich kann die Devices entweder umbenennen oder vorschlagen als Option auch den Raumnamen aus ioBroker mit in die Ausgabe zu nehmen.
Das ist natürlich nur ein Vorschlag. Bin mit dem Adapter so wie er aktuell schon ist sehr zufrieden.
Danke noch einmal für deine Arbeit! -
@tobi81 Gerne doch!
Ich würde glaub ich versuchen beim Auswählen von * über den Objektbaum herauszufinden wie viele Instanzen es von dem Adapter gibt und dann einfach alle durchlaufen.
Das Ding ist: die Admin UI läuft über das neue JSON Config, das heist die ganzen Sachen sind vorgegeben, ich gebe nur an zeige im Interface unter Tab Benachrichtung das SendTo Auswahlmenü für Adapter Telegram. Viel mehr kann ich da nicht beeinflussen dann außer vielleicht paar Optische Sachen.
Ich denke aber ich werde das auswählen vonAllen Instanzen
erstmal deaktivieren und ein issue diesbezüglich auf Github aufmachen.Zu Punkt 1. Verstehe ich das richtig: Du hättest gerne für die Offline Geräte auch täglich eine Nachricht, das diese Offline sind? So wie die Nachricht für Low Bat? Wenn es so wäre finde ich die Idee garnicht so schlecht und man könnte auswählen ob man Täglich eine Übersicht der Offline Geräte per Nachricht haben möchte.
Aktuell überlege ich seit ein paar Tagen ob ich das sowieso nicht umändern mit den Low Bat Geräten. Also das auch immer eine Nachricht kommt sobald sich ein neues Gerät mit Low Bat meldet. Mir ist nämlich aufgefallen das bei Homematic Geräte, die Geräte sich immer mal wieder melden mit Low Bat aber der Status nicht immer auf Low Bat bleibt. Heißt: meistens mittags um 12 liegt der Status natürlich nicht an und man bekommt das garnicht so mit außer man guckt zwischen durch auf die Low Bat Liste.
Zu 2. Ja... Es war/ist angedacht die Raum Namen mit raus zu ziehen. Bisher habe ich es aber leider noch nicht hinbekommen.
-
Ich denke aber ich werde das auswählen von
Allen Instanzen
erstmal deaktivieren und ein issue diesbezüglich auf Github aufmachen.Das hört sich nach einem guten Plan an und niemand läuft dann in die gleiche Falle wie ich.
Zu Punkt 1. Verstehe ich das richtig: Du hättest gerne für die Offline Geräte auch täglich eine Nachricht, das diese Offline sind?
Ja genau. Das wäre sehr cool!
Mir ist nämlich aufgefallen das bei Homematic Geräte, die Geräte sich immer mal wieder melden mit Low Bat aber der Status nicht immer auf Low Bat bleibt.
Da hab ich noch nicht so viel Einblick, aber ich werde auf jeden Fall weiter rumprobieren und da kommt sicher auch noch die ein oder andere Frage oder vielleicht auch Erkenntnis.
-
@tobi81 Soo, das mit den Instanzen habe ich erstmal erledigt.
Alle
Instanzen können nicht mehr ausgewählt werden bzw. die Auswahl gibt es nicht mehr. Außerdem wird jetzt geprüft ob eine der Instanzen , die man für die Benachrichtigung gewählt hat, vorhanden ist/läuft ansonsten gibt es eine warn message im log. -
wie bekommt man das mit der rabelle und den Pulldown menü hin
-
@horst-böttcher in Grafana kann man sich Json Tabellen mit dem Plugin infinity anzeigen lassen.
-
@horst-böttcher
Mit Grafana und einer Tabelle inkl. Transform (hab ich gerade mit @lindi200000 zusammengestellt@ciddi89
Frage zu der Signalstärke von Sonoff:
Im Datenpunkt zeigt er mir:
Aber im device wacher steht 13% ??? Woher kommt das ?
-
@segway werde es heute Abend noch mal selber probieren ohne Plugin und dann ein kleines workaround schreiben.
Woher kommt das ?
Der Wert wird von Rssi/link quality umgerechnet in Prozentwerte. In den Einstellungen unter Experten Einstellungen kannst du das umrechnen deaktivieren.
-
@segway @ciddi89 hats ja schon geschrieben. das eine ist der db wert, das andere die umrechnung in %
-
@da_woody sagte in Test Adapter Device-Watcher v0.0.x GitHub/Latest:
@segway @ciddi89 hats ja schon geschrieben. das eine ist der db wert, das andere die umrechnung in %
Ja, hab ich mir schon gedacht, aber welcher RSSI Wert ist denn 100% ?
-
@segway habe mehrere Seiten im Netz diesbezüglich durch geguckt und habe noch ungefähr danach gerichtet:
Generally,
dBm >= -50 dBm = 100% quality
dBm <= -100 dBm = 0% qualityFor RSSI signal between -50dBm and -100dBm,
quality ~= 2* (dBm + 100)
RSSI ~= (percentage / 2) - 100For example:
High quality: 90% ~= -55dBm
Medium quality: 50% ~= -75dBm
Low quality: 30% ~= -85dBm
Unusable quality: 8% ~= -96dBm -
@ciddi89 sagte in Test Adapter Device-Watcher v0.0.x GitHub/Latest:
@segway habe mehrere Seiten im Netz diesbezüglich durch geguckt und habe noch ungefähr danach gerichtet:
For example:
High quality: 90% ~= -55dBm
Medium quality: 50% ~= -75dBm
Low quality: 30% ~= -85dBm
Unusable quality: 8% ~= -96dBmWie oben geschrieben hat mein NodeMCU einen RSSI Wert von -84
Laut der Tabelle müsste der um die 30% Signalstärke liegen, was auch meinen Berechnungen entspricht.Allerdings errechnet der device-watcher eine Signalstärke von 13% ??? Kannst du das mal prüfen ?
-
@segway habe es noch mal geprüft. Eigentlich sollte der Wert dann 32% sein. Habe die Berechnung noch mal im Adapter geprüft und auch meine Werte kontrolliert. Hier passt aber alles genau? Hatte der NodeMCU während des durchlaufes wirklich den Wert? Kann sein das er in den Moment einen anderen RSSI Wert hatte um die 93dBm.
(2 * (deviceQualityState.val + 100)
So sieht die Rechnung im Adapter aus. Sollte also passen.