Hi.
Ich habe einen Sonoff Basic der ziemlich weit weg sitzt. Nun kommt es leider ab und an vor, daß er nicht zuverlässig schaltet.
Damit wird nur eine kleine Lampe im Vorflur eingeschaltet. Meine Frau möchte das da eine Lampe abends leuchtet.
Jetzt suche ich eine Möglichkeit, auch für andere Anwendungen, um zuverlässig zu schalten.
Hatte gedacht das man mit repeatcmd das DOIF so lange den Befehl wiederholen lässt bis der Sonoff tatsächlich geschaltet hat.
Ist es möglich bei repeatsame keine Anzahl sondern ein Event einzutragen?
Ansonsten hätte ich mir gedacht ob das DOIF nicht einen Watchdog definieren kann der das ganze übernimmt und wenn der Sonoff dann geschaltet hat den Watchdog wieder löscht.
Oder ihr habt einen ganz anderen Lösungsansatz.
Über Hilfe würde ich mich freuen.
Der Vollständigkeit halber:
DEF ([[LichtWetter:ss_weather]]) (set Sonoff_3er ON) DOELSEIF ([21:00]) (set Sonoff_3er OFF)
MfG Manley
Zwei Zweige, der Erste triggert auf Schalter ein mit repeatcmd, der Zweite triggert auf die Rückmeldung von Sonoff und schaltet damit die Wiederholung ab.
Zweige?
Du meinst ein DOIF
DEF ([[LichtWetter:ss_weather]]) (set Sonoff_3er ON) DOELSEIF ([Sonoff_3er] eq "on")
Und ein zweites
DEF ([21:00]) (set Sonoff_3er OFF) DOELSEIF ([Sonoff_3er] eq "off")
In etwa so?
Ne, er meinte, glaube ich, ein DOIF mit 2 Zweigen. Wenn Ausschalten auch wiederholt werden muss, dann 3:
DOIF (Schalter)(on) DOELSEIF (Zeit)(off) DOELSEIF (Rückmeldung vom Sonoff)()
repeatcmd 1:1:0
Etwas in der Art
ZitatNe, er meinte, glaube ich, ein DOIF mit 2 Zweigen.
Ja, meinte er. Mir gefällt der knappe DOIF-Pseudocode.
So.
Habe das jetzt mal so realisiert.
([Fensterbeleuchtung:"^ON$"]) (set Sonoff_3er ON) DOELSEIF ([Fensterbeleuchtung] eq "OFF") (set Sonoff_3er OFF) DOELSEIF ([Sonoff_3er:POWER] eq "ON") DOELSEIF ([Sonoff_3er:POWER] eq "OFF")
Das ganze hat jetzt nur einen kleinen Haken. Ich wohne auf dem tiefsten Dorf. Und da kommt es vor, dass wir doch ab und zu mal Stromausfall haben.
Deswegen hängen auch Rasp, Router etc. an einer kleinen USV.
Sollten die Sonoffs ausfallen und sich wieder zurückmelden wenn die Spannung wieder da ist, dann wechselt das DOIF in cmd_3 bzw. cmd_4 und er schaltet doch nicht sicher.
Aber es ist auf jeden Fall schon mal eine Verbesserung.
Dafür danke.
Mir ist klar, dass das alles bei so einer kleinen Lampe nicht so wild ist, aber ich möchte evtl auch brisantere Sachen damit Schalten. Und teste das halt alles an der kleinen Lampe.
Wäre es jetzt noch möglich einen Watchdog laufen zu lassen, der pauschal auf alle Wiederholungen von DOIFs wacht und bei einer Anzahl X von Wiederholungen einen Befehl ausführt? (Telegramm etc.)
MfG
Manley
DOELSEIF ([Fensterbeleuchtung] eq "OFF")
Somit ist es Zustandgesteuert
([Fensterbeleuchtung:"^ON$"])
Somit ist es Ereignisgesteuert. Wäre es auch Zustandgesteuert, würde das DOIF beim Neustart zuerst gucken, ob Fensterbeleuchtung auf ON steht, und in cmd_1 schalten.
Vermutlich besser in deinem Fall. Aber wenn Strom ausgeht... weiss man nicht sicher, was er dann für ein Zustand wiederfindet.