NEWS
[gelöst]Benötige kurz Hilfe bei einem Blockly Script!
-
Hi Ihrs,
Ich habe gerade angefangen mir Aliase anzulegen und will gleich die neu angelegten Datenpunkte nutzen um meine Geräte per Script zu überwachen. Wie mach ich das mit Timeout, so das zb. all 60 Minuten geprüft wird und falls ein Device dann noch immer offline ist, ich eine Mail bekomme. Das mit dem Mail klappt OHNE Probleme. Nur bekomme ich komischerweise Mails von Geräten die nur eine Sekunde offline waren und dann gleich auch wieder die Online Meldung per Mail. Daher müsste ich ein Timeout einbauen, nur da hackt es leider.
-
-
@crunchip
Das funktioniert nur bei einem Einzel-Trigger aber nicht mit 18 Trigger-IDs. -
@paul53 aber mit javascript, wenn man vorher eine liste der zu triggernden device-ids anlegegt, dann ein dictionary mit timeouts, deren key der device id entspricht und dann auf die erste liste triggert, und dann mit der triggernden device-id auf das dict mit den timeouts zugreift.
-
@paul53 ok, daran hatte ich nicht gedacht
ich habe es(vllt umständlich) aber z.b so, allerdings auch ohne timeout, denn wenn Gerät weg dann weg
mit dem logparser überwache ich das log für meine sonoff`s, dieser gibt mir ein json aus
-
@quotschmacher sagte: mit der triggernden device-id auf das dict mit den timeouts zugreift.
Ja, das sind dann auch 18 Timeouts.
-
@paul53 das ist korrekt. die laufen ja aber auch nur, wenn das device offline ist. im idealfall laufen also 0 von 18 timeouts.
-
-
das problem ist, dass obwohl die geräte eigendlich immer online sind, schaut es so aus als ob sie für ganz kurz weg wären und daher bekomme ich mehremals mails, anhand des oben genannten scriptes
hier ein beispiel
ps: wie würde ein timeout aussehen, wenn ich für jedes device einen eigenen trigger machen würde? THX
-
@myzerat sagte in Benötige kurz Hilfe bei einem Blockly Script!:
wie würde ein timeout aussehen, wenn ich für jedes device einen eigenen trigger machen würde?
Na so wie es @paul53 gezeigt hat:
https://forum.iobroker.net/topic/60249/benötige-kurz-hilfe-bei-einem-blockly-script/8 -
-
@myzerat sagte in Benötige kurz Hilfe bei einem Blockly Script!:
aber mir fehlt ja dazu dieser baustein
na den musst Du jeweils anstelle der gelben Kommentarbausteine einfügen.
-
-
@myzerat ja
-
-
@myzerat sagte: werde ich gleich alle erstellen
Daran denken, dass zu jedem Trigger eine eigene gesendet-Variable erforderlich ist.
EDIT: So kann man sich die zusätzliche Variable sparen:
-
also gesendet1 --> bis gesendet18 ?
selbiges würde ja auch das timeout betreffen? jeder trigger ein eigenes timeout, also auch timeout1 bis timeout18 wenn alles in einem script steht!
-
@myzerat sagte: also gesendet1 --> bis gesendet18 ?
Ja, oder die Version ohne zusätzliche Variable. Dabei ist die Reihenfolge wichtig: Erst die timeout-Variable prüfen und dann stoppen.
@myzerat sagte in [gelöst]Benötige kurz Hilfe bei einem Blockly Script!:
also auch timeout1 bis timeout18 wenn alles in einem script steht!
Das macht Blockly automatisch bei Erzeugen eines neuen Timeouts. Beim Stoppen und Prüfen auf die richtige Variable timeoutN achten!
-
würde das so passen, also jedes device bekommt aufsteigende timeout und variable
erstes device timeout und variable01 usw.
-
@myzerat sagte: jedes device bekommt aufsteigende timeout und variable
Ja.