FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Depechem am 15 August 2017, 10:33:03

Titel: DOIF mit "or" und statt "set lampe on" > "delete GHoma_192.*"
Beitrag von: Depechem am 15 August 2017, 10:33:03
Hi ich möchte ein DOIF anlegen und es klappt nicht ganz.
(Ich habe 4 GHoma Schaltsteckdosen die nach einem fhem reset/neustart ab und zu einzeln nicht online gehen und somit im Status(state) offline stehen bleiben.)
Wenn ich dann in fhem händisch "delete GHoma_192.*" ausführe gehen sie alle wie gewünscht online.

Das ganze soll nun mit einem DOIF geschehen. Folgendes habe ich ohne Erfolg probiert:
define doif_GHomaDelete_LED_Terrasse DOIF ([GHoma_3f0154:state] eq "offline")(delete GHoma_192.*)
attr doif_GHomaDelete_LED_Terrasse do always

define doif_GHomaDelete_LED_Wand DOIF ([GHoma_3f0e32:state] eq "offline")(delete GHoma_192.*)
attr doif_GHomaDelete_LED_Wand do always

define doif_GHomaDelete_Terrasse_Lampe DOIF ([GHoma_3f1792:state] eq "offline")(delete GHoma_192.*)
attr doif_GHomaDelete_Terrasse_Lampe do always

define doif_GHomaDelete_Gartenpumpe DOIF ([GHoma_3ed138:state] eq "offline")(delete GHoma_192.*)
attr doif_GHomaDelete_Gartenpumpe do always


Nach Neustart funktioniert dies leider aber nicht. einzelne Dosen bleiben weiterhin offline.
alternativ habe ich folgendes probiert:
define doif_GHomaDelete DOIF ([GHoma_3f0154:state] eq "offline" or [GHoma_3f0e32:state] eq "offline" or [GHoma_3f1792:state] eq "offline" or [GHoma_3ed138:state] eq "offline") (delete GHoma_192.*)

dies klappt aber auch nicht.
Nun meine Frage liegt es am falschen DOIF oder geht so etwas mit DOIF gar nicht?
Gruß Thomas


Titel: Antw:DOIF mit "or" und statt "set lampe on" > "delete GHoma_192.*"
Beitrag von: Frank_Huber am 15 August 2017, 10:42:01
das OR nennt sich DOELSEIF.

define doif_GHomaDelete DOIF
([GHoma_3f0154:state] eq "offline") (delete GHoma_192.*)
DOELSEIF ([GHoma_3f0e32:state] eq "offline") (delete GHoma_192.*)
DOELSEIF ([GHoma_3f1792:state] eq "offline") (delete GHoma_192.*)
DOELSEIF ([GHoma_3ed138:state] eq "offline") (delete GHoma_192.*)
attr doif_GHomaDelete do always


man könnte dann weitergehend die 4 Pfade mit einer Wildcard vereinen.
Hier bin ich mir nur gerade mit dem Syntax nicht sicher.
Titel: Antw:DOIF mit "or" und statt "set lampe on" > "delete GHoma_192.*"
Beitrag von: Frank_Huber am 15 August 2017, 10:55:29
nicht 100%ig sicher, aber versuch mal:

define doif_GHomaDelete DOIF
([^GHoma] eq "offline") (delete GHoma_192.*)
attr doif_GHomaDelete do always
Titel: Antw:DOIF mit "or" und statt "set lampe on" > "delete GHoma_192.*"
Beitrag von: nils_ am 15 August 2017, 10:57:26
was ich mich eher frage ist, warum das so passiert  :o

und du einfach was rauslöscht und dann gehts wieder.


nur so als nachfrage ::)
Titel: Antw:DOIF mit "or" und statt "set lampe on" > "delete GHoma_192.*"
Beitrag von: Depechem am 15 August 2017, 12:08:33
Zitat von: Frank_Huber am 15 August 2017, 10:55:29
nicht 100%ig sicher, aber versuch mal:

define doif_GHomaDelete DOIF
([GHoma] eq "offline") (delete GHoma_192.*)
attr doif_GHomaDelete do always


Das funktioniert grundlegend soweit ganz gut, also nach reset startet deas DOIF, nur werden wieder nicht alle "offline" GHoma-Dosen aus dem offline geholt.
Löse ich kurz darauf "händisch" noch einmal ein "set doif_GHomaDelete cmd_1" aus, gehen alle GHoma online.
Vieleicht muss ich das DOIF irgendwie zeitverzögert starten? Wenn ja, wie am besten?

Zitat von: nils_ am 15 August 2017, 10:57:26
was ich mich eher frage ist, warum das so passiert  :o

und du einfach was rauslöscht und dann gehts wieder.


nur so als nachfrage ::)
Das habe ich mit dem GHoma-Modulersteller schon ausführlich geschrieben.
Scheinbar gibts niemand der mehr als 2 solcher Dosen in FHEM hat und dies bei mehreren Dosen auftritt.
Bis dato konnte mir keiner helfen und die einzige Abhilfe die ich selbst finden konnte ist ein "delete GHoma_192*"

Titel: Antw:DOIF mit "or" und statt "set lampe on" > "delete GHoma_192.*"
Beitrag von: CoolTux am 15 August 2017, 12:23:29
Die
GHoma_192.*
Sind offene Socketverbindungen von den Dosen zu FHEM. Hier scheint der Entwickler nicht sauber gearbeitet zu haben. Dies ist aber nur eine Vermutung. Man müsste sich das genau an schauen.


Grüße