NEWS
Shellys auf Online testen...
-
Hallo zusammen,
da ihr mir in der Vergangenheit schon so oft gute Tipps gegeben habt hier mal eine Problemstellung zu meinen Shellys :
Ich habe unter Objekte (Shelly) - 18 Shellys eingebunden ...nun möchte ich "intelligent" abfragen wenn einer der Shellys OFFLINE geht (State bei Shelly "Online" -on-off) und dies per Telegram ausgeben....
Gibt es eine "Listen" Lösung - ich wollte jetzt eigentlich nicht für jeden Shelly ein neuen Trigger Block bauen....
Habt Ihr ideen ?
-
@grisu73 sagte in Shellys auf Online testen...:
Habt Ihr ideen ?
Könntest Dir ja mal den Adapter ansehen:
-
@grisu73 Mein Vorschlag: Zeitplan als Trigger (z.B. alle Minute) und ein Funktion, die im Trigger 18mal aufgerufen wird. Statt Pushover halt Telegrammfunktion deiner Wahl.
-
Solltest aber definitiv noch eine Kontrolle mit einbauen , nach dem Motto , wenn ein Shelly offline ist, ist er das auch noch nach 1min.
Hatte das auch mal versucht abzubilden.
Irgendwann aufgegeben, da die Shellys je nach Einstellung auch mal den Repeater wechseln,weil der RSSI wert dort besser ist .
Demnach war er dann mal kürzer oder länger offline bis er sich wieder verbunden hat.
Das war jetzt nur ein Beispiel.
Hab viele Shellys im Garten , wo der RSSI Wert oft über 80 ist. -
Du kannst doch über Wildcards triggern.
-
@grisu73 sagte: unter Objekte (Shelly) - 18 Shellys eingebunden
Dann kann man sicherlich den Selektor verwenden.
@grisu73 sagte in Shellys auf Online testen...:
State bei Shelly "Online" -on-off
Liefert "online" nicht false oder true? Wenn ja:
-
@grisu73 Oder so: Etwas copy and Paste.
-
@geschild Nee das ist halt in meinen Augen - nicht gut und die schlechteste Lösung. Du hast mit den Wildcards einen Trigger und kannst über das Topic herausfinden, woher dieser kommt. Über Zeitpläne zu pullen ist das Schlechteste was man machen kann und belastet ein System unnötig, da Du damit nochmal überprüfst, was der Adapter selbst schon macht.
-
@geschild sagte: Oder so:
Das funktioniert nicht, da ein 5-Minuten-Timeout jede Minute gestartet wird und sich deshalb nicht mehr stoppen lässt.
-
Hab's mal ausprobiert (mit etwas geänderten Zeiten, damit flotter geht) und stoppe jetzt den timeout1 bei Ausführung. Funktioniert.
Ich habe diese Lösung gewählt, da sie für jemanden, der nicht blockly-Experte ist, leichter nachzuvollziehen ist. Natürlich geht es eleganter.
Aber, <IDsVomSelector> ist zwar nur eine Zeile, versteckt aber eine Funktion, die auch Ressourcen benötigt.
Vielleicht weniger als meine Lösung.
Ich habe es mal mit einem debug am Anfang und am Ende mit 10 Kopien (status = on, was wohl der Normalfall ist) gemessen : <1ms