Befehl "Alle aus" von Wandschalter und aus fhem

Begonnen von UliM, 29 September 2015, 17:15:34

Vorheriges Thema - Nächstes Thema

UliM

Hallo,
bin gerade dabei einige FS20-Komponenten durch Homematic zu ersetzen.

An einem HM-PB-6-WM55 habe ich 3 Tasten mit single-set an 3 Aktoren gepeert.

Auch habe ich eine weitere Taste als "Alles aus"-Taste konfiguriert, also diese eine Taste ebenfalls an alle 3 Aktoren gepeert und dann den jumptable angepasst, je Aktor à la
set ez_LichtRegal regSet shSwJtDlyOn off ez_Wandtaster_Btn_06
set ez_LichtRegal regSet shSwJtOff off ez_Wandtaster_Btn_06
set ez_LichtRegal regSet shSwJtOn off ez_Wandtaster_Btn_06

Funktioniert prima.

Meine Herausforderung: ich möchte den Befehl "Alle aus" auch aus fhem heraus senden.
Zuerst dachte ich, ich setze ein "set ez_Wandtaster_Btn_06 off" ab - geht aber nicht, da on, off und selbst press short nicht als Befehle verfügbar sind.
Hab eine structure definiert - das geht natürlich, ich würd's aber lieber innerhalb Homematic lösen.

Also hab ich unter der vccu einen virtuellen button angelegt
   DEF        34F25F02
   NAME       ez_LichtMaster
   NR         381
   NTFY_ORDER 50-ez_LichtMaster
   STATE      set_off
   TYPE       CUL_HM
   chanNo     02
   device     vccu
   peerList   ez_LichtVitrine,ez_LichtRegal,ez_Schreibtisch,
   Readings:
     2015-09-29 15:07:38   peerList        ez_LichtVitrine,ez_LichtRegal,ez_Schreibtisch,
     2015-09-29 15:02:39   state           set_press short
   Helper:
     Role:
       chn        1
       prs        1
Attributes:
   eventMap   /press short:off/
   model      CCU-FHEM
   peerIDs    23D0AE01,256B2701,256CC901,
   room       Esszimmer
   subType    pushButton
   webCmd     off

und diesen genau so wie oben mit dem ez_Wandtaster_Btn_06 dargestellt an die drei Aktoren gepeert, wiederum die jumptables auf "always off" angepasst.
Durch eventMap kann ich nun auch ein "set ez_LichtMaster off" setzen.
Eigentlich schon ganz gut.

Letzter Schönheitsfehler ist nun, dass der virtual button "ez_LichtMaster" zwar das Gewünschte tut (also alle 3 Aktoren ausschaltet), jedoch bleibt der virtual button immer auf set_press short stehen, incl. Ausrufezeichen auf dem icon. Unschön.
Muss ich evtl. einen anderen subType wählen?
Oder gibt es einen insgesamt besseren Lösungsansatz, um aus fhem heraus das "Alle aus" mit Homematic-Bordmitteln zu bewerkstelligen?

Gespannte Grüße,
Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

frank

attr model und subtype sollte man bei homematic grundsätzlich nicht manuell ändern/anlegen. mit einem set vccu virtuel kannst du automatisch channel erzeugen. lösche mal das attribut subtype im virtuellen chn.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

UliM

Zitat von: frank am 29 September 2015, 17:39:22
attr model und subtype sollte man bei homematic grundsätzlich nicht manuell ändern/anlegen. mit einem set vccu virtuel kannst du automatisch channel erzeugen. lösche mal das attribut subtype im virtuellen chn.
Hi,
wenn man's nicht ändern können soll, wären die Werte wohl besser in nem Reading aufgehoben :)
Hab nun beide Attribute gelöscht das Verhalten hat sich aber nicht geändert.

telnet sagt:
2015-09-29 18:51:46.604 CUL_HM ez_LichtMaster set_off
2015-09-29 18:51:46.799 CUL_HM ez_LichtVitrine deviceMsg: off (to vccu)
2015-09-29 18:51:46.799 CUL_HM ez_LichtVitrine level: 0
2015-09-29 18:51:46.799 CUL_HM ez_LichtVitrine pct: 0
2015-09-29 18:51:46.799 CUL_HM ez_LichtVitrine off
2015-09-29 18:51:46.799 CUL_HM ez_LichtVitrine timedOn: off
2015-09-29 18:51:46.992 CUL_HM ez_LichtRegal deviceMsg: off (to vccu)
2015-09-29 18:51:46.992 CUL_HM ez_LichtRegal level: 0
2015-09-29 18:51:46.992 CUL_HM ez_LichtRegal pct: 0
2015-09-29 18:51:46.992 CUL_HM ez_LichtRegal off
2015-09-29 18:51:46.992 CUL_HM ez_LichtRegal timedOn: off
2015-09-29 18:51:47.180 CUL_HM ez_Schreibtisch deviceMsg: off (to vccu)
2015-09-29 18:51:47.180 CUL_HM ez_Schreibtisch level: 0
2015-09-29 18:51:47.180 CUL_HM ez_Schreibtisch pct: 0
2015-09-29 18:51:47.180 CUL_HM ez_Schreibtisch off
2015-09-29 18:51:47.180 CUL_HM ez_Schreibtisch timedOn: off

ez_LichtMaster bleibt mit set_off stehen, scheint also die ACKs der Aktoren nicht zu verarbeiten (oder zu mögen).

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

frank

ZitatHab nun beide Attribute gelöscht das Verhalten hat sich aber nicht geändert.
das parent device hat model=ccu-fhem und subtype=virtual. das channel device nur model=ccu-fhem.

Zitatez_LichtMaster bleibt mit set_off stehen, scheint also die ACKs der Aktoren nicht zu verarbeiten (oder zu mögen).
vielleicht ist noch feintuning von martin nötig.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

martinp876

Ja, das ist schlicht ein Schönheitsfehler.
Press gibt es bei Aktoren, da kann man den Druck eines beliebigen peers simulieren.
Bei buttons ist es nicht drin, da es sauber zu implementieren nicht einfach ist. Fhem müsste die Einstellungen des buttons nachahmen, ggf würde der button antworten, ein hmlan würde mit den acks in Schwierigkeiten kommen. Alles nicht sauber.

UliM

Hi u2,
ok, danke.

Habe die Attribute jetzt so korrigiert wie von Franky dargelegt.

Ausserdem habe ich in www/images/default eine Kopie von leer.png angelegt, diese Kopie passend zu device und state ez_LichtMaster.set_off.png benannt und ein set WEB rereadicons ausgeführt.
Damit hat mein device ez_LichtMaster im Webfrontend nun (scheinbar) gar kein icon. Auch gut :)

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.