Hallo,
ich hab ganz neu eine EGPM2LAN Steckdosenleiste im Einsatz. Ich habe diese in FHEM definiert und es wurde ein device für die Steckdosenleiste und auch 4 einzelne devices für jede einzelne Steckdose angelegt. Ich kann diese auch schalten und jeder Befehl kommt zuverlässig an.
Ich habe nun allerdings ein notify, welches eins der Geräte (abhängig von Tageszeit) beim schalten des anderen auch schaltet. Ich nenne diese Lampe1 und Lampe2. Lampe2 soll also z.b. immer auch an und ausgehen wenn ich Lampe1 schalte. Beide sind an der Steckdosenleiste angeschlossen.
Wenn ich nun Lampe1 schalte, wird Lampe2 übers notify mitgeschaltet. Die Steckdosenleiste reagiert korrekt. Auch das device der Steckdosenleiste in fhem zeigt korrekt an, welche Steckdosen aktiv und welche inaktiv sind.
Das fhem device Lamp2 ändert seinen Status aber nicht, obwohl ich den Befehl "set Lampe2 on" über fhem ausgeführt habe. Nur Lampe1 ändert seinen Status wie gewünscht.
Woran kann das liegen? Schalte ich die Geräte lieber nur über das device der Steckdosenleiste mit der Ziffer der Steckdose?
Vermutlich reagierst du auf das falsche Event. Da du aber nicht genügend Infos lieferst (lists aller beteiligten Devices, ein notify ist auch ein Device), kann man nur raten.
Hi,
Wie ist das list der Geräte ? Hast Du longpoll an? Sollte eigentlich so gehen!
Workaroundidee: Du könntest im notify auch noch den readingsstate setzen!?
Gruß Arnd
Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Also mein notify sieht etwa so aus:
define Lampe_notify notify Lampe1:on { if (!isday("REAL")) { fhem("set Lampe2 on") }}
Das komische ist halt, dass in dem device der Steckdosenleiste (Type: EGPM2LAN) der state korrekt ist (z.B. 1: on 2: on 3: off 4: off), in dem device zu lampe2 (Type: EGPM) der state aber auf off bleibt und nicht auf on wechselt. Wenn ich auf der Steckdosenleiste statusrequest ausführe aktualisiert sich der Zustand des devices Lampe2 wieder richtig.
Steuern über das device Lampe2 klappt immer, auch wenn der Zustand falsch angezeigt wird.
Die lists von den devices fehlen noch immer...
Internals:
DEF 192.168.10.87
IP 192.168.10.87
NAME Steckdosenleiste1
NR 474
PASSWORD ***
STATE Connection failed
TYPE EGPM2LAN
READINGS:
2017-10-01 14:03:22 1_Lampe1 off
2017-10-01 14:03:22 2_Lampe2 off
2017-10-01 14:03:22 3_Socket_C on
2017-10-01 14:03:22 4_Socket_D on
2017-10-01 14:21:11 lastcommand off 1
2017-10-01 14:03:22 state 1: off 2: off 3: on 4: on
Attributes:
und die einzelen devices:
Internals:
DEF Steckdosenleiste1 1
IODEV Steckdosenleiste1
NAME Lampe1
NR 475
SOCKETNR 1
STATE initialized
TYPE EGPM
READINGS:
2017-10-01 14:03:00 state off
Attributes:
Internals:
DEF Steckdosenleiste1 2
IODEV Steckdosenleiste1
NAME Lampe2
NR 476
SOCKETNR 2
STATE initialized
TYPE EGPM
READINGS:
2017-10-01 14:03:22 state off
Attributes:
Jetzt gerade ist die Leiste nicht angeschlossen, daher connection failed.
Und noch als Zusatzinfo: Ich ersetzte damit zwei bisherige FS20 Funksteckdosen. Das notify etc. habe ich von denen übernommen. Ich habe die beiden Funksteckdosen umbenannt, danach die Steckdosenleiste hinzugefügt und die automatisch erstellten Devices (Socket_A, Socket_B) umbenannt. Die Schaltung an sich funktioniert auch, so dass ich davon ausgehe, dass es mit dem notify kein Problem gibt. Nur die Anzeige in fhem ändert sich beim 2. device nicht.
Welche Version des Moduls nutzt du denn? Ich habe dunkel etwas im Hinterkopf, dass es in einer Version ein paar Probleme mit dem Statusupdate gab. Vergleiche mal deine Version mit der Version aus dem contrib im svn von FHEM.
70_EGPM.pm 14071 2017-04-22 12:13:43Z alexus
17_EGPM2LAN.pm 14071 2017-04-22 12:13:43Z alexus
Ein Update ist dafür nicht verfügbar.
Ich habe nun ein dummy device gemacht mit on/off und darauf ein notify welches eine perl Funktion aufruft. Diese Perl Funktion schaltet die Lampen dann folgendermaßen:
fhem "set Lampe1 on";
fhem "set Lampe2 on";
fhem "set Lampe1,Lampe2 off";
Beides funktioniert und auch der Status der Geräte wird korrekt angezeigt. Diese Lösung ist zwar nicht ganz so einfach, aber es ist für mich ausreichend und ich werde es erstmal so lassen. Warum das anders nicht funktioniert hat, verstehe ich aber immer noch nicht.