FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Manley am 14 Februar 2019, 19:32:19

Titel: DOIF mit Überwachung auf Erfolg
Beitrag von: Manley am 14 Februar 2019, 19:32:19
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
Titel: Antw:DOIF mit Überwachung auf Erfolg
Beitrag von: Ellert am 14 Februar 2019, 19:38:13
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.
Titel: Antw:DOIF mit Überwachung auf Erfolg
Beitrag von: Manley am 14 Februar 2019, 19:44:40
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?
Titel: Antw:DOIF mit Überwachung auf Erfolg
Beitrag von: amenomade am 14 Februar 2019, 20:50:54
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
Titel: Antw:DOIF mit Überwachung auf Erfolg
Beitrag von: Ellert am 14 Februar 2019, 23:55:22
ZitatNe, er meinte, glaube ich, ein DOIF mit 2 Zweigen.
Ja, meinte er. Mir gefällt der knappe DOIF-Pseudocode.
Titel: Antw:DOIF mit Überwachung auf Erfolg
Beitrag von: Manley am 16 Februar 2019, 21:53:41
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
Titel: Antw:DOIF mit Überwachung auf Erfolg
Beitrag von: amenomade am 16 Februar 2019, 22:39:10

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.