MQTT2 McLighting AttrTemplate

Begonnen von Andy89, 06 April 2020, 21:54:08

Vorheriges Thema - Nächstes Thema

The-Holgi

Zitat von: AET_FHEM am 24 Oktober 2020, 19:17:08

=> was nicht geht ist on / off .... für das muss ich immer Brithness runter drehen
on off wird erkannt als State ON und OFF wenn ich das über den Browser steuere wenn ich on und off aber über FHEM sende kommt set_off / set_on .....
Hallo, ist bei mir auch so. Alles funktioniert soweit, nur das Ausschalten nicht. Hast du mittlerweile eine Lösung dafür?

Gruß Holger
Raspberry Pi 5

Beta-User

Wie wäre es mit einem aktuellen list oder einem RAW? Sowie ggf. dem, was das Ding eben so an Rückmeldung via MQTT gibt.

Das Ding scheint tricky zu sein, aber ohne jede Info kann man eben nicht helfen, wenn man die Hardware nicht hat...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

The-Holgi

Hallo, hier ein list vom device:
Internals:
   CFGFN     
   CID        McLighting01
   DEF        McLighting01
   DEVICETOPIC MQTT2_McLighting01
   FUUID      5fa0171c-f33f-6571-b7b8-9ffa63cb3bdab264
   IODev      myBroker2
   LASTInputDev myBroker2
   MSGCNT     113
   NAME       MQTT2_McLighting01
   NR         660
   STATE      OFF
   TYPE       MQTT2_DEVICE
   myBroker2_MSGCNT 113
   myBroker2_TIME 2020-11-02 16:09:38
   READINGS:
     2020-11-02 16:02:49   OFF             set
     2020-11-02 15:30:27   attrTemplateVersion 20200522 or prior
     2020-11-02 16:09:38   brightness      208
     2020-11-02 16:09:38   color_b         0
     2020-11-02 16:09:38   color_g         255
     2020-11-02 16:09:38   color_r         62
     2020-11-02 16:09:38   color_temp      327
     2020-11-02 16:09:38   effect          Static
     2020-11-02 16:09:35   out             OK =off
     2020-11-02 16:09:38   rgb             3EFF00
     2020-11-02 16:09:38   speed           98
     2020-11-02 16:09:38   state           OFF
     2020-11-02 15:26:36   subscriptions   McLighting01/in home/McLighting01_ha/state/in
Attributes:
   IODev      myBroker2
   comment    Note: FabLab-Luenen/McLighting v3.1 needed because of API changes
Note: ENABLE_HOMEASSISTANT should be enabled, since more MQTT messages will be send
Note: webCmd and eventMap are just examples - adopt this to your needs.
   devStateIcon {Color::devStateIcon( $name, "rgb", "rgb", "brightness", "state" )}
   eventMap   /effect 0:Static/effect 7:ColorWipeRandom/effect 11:Rainbow/effect 12:RainbowCycle/effect 33:ChaseRainbow/effect 39:ColorSweepRandom/
   icon       light_led_stripe_rgb
   model      McLighting
   readingList McLighting01/out:.* out
  home/McLighting01_ha/state/out:.* { json2nameValue($EVENT) }
  McLighting01/config:.* config
   room       MQTT2_DEVICE
   setList    on:noArg McLighting01/in /on
  off:noArg McLighting01/in /off
  rgb:colorpicker,RGB McLighting01/in #$EVTPART1
  rgb_nr2:colorpicker,RGB McLighting01/in
  rgb_nr3:colorpicker,RGB McLighting01/in ###$EVTPART1
  brightness:colorpicker,BRI,0,1,255 McLighting01/in %$EVTPART1
  speed:colorpicker,BRI,0,1,255 McLighting01/in ?$EVTPART1
  effect:selectnumbers,0,1,59,0,lin McLighting01/in /$EVTPART1
   setStateList on off
   userReadings rgb:color_b.* {Color::rgb2hex(ReadingsVal($name,"color_r",0),ReadingsVal($name,"color_g",0),ReadingsVal($name,"color_b",0))},
rgb_nr2:color_b2.* {Color::rgb2hex(ReadingsVal($name,"color_r2",0),ReadingsVal($name,"color_g2",0),ReadingsVal($name,"color_b2",0))},
rgb_nr3:color_b3.* {Color::rgb2hex(ReadingsVal($name,"color_r3",0),ReadingsVal($name,"color_g3",0),ReadingsVal($name,"color_b3",0))}
   webCmd     rgb:brightness:speed:effect

Raspberry Pi 5

The-Holgi

Hier die raw:
defmod MQTT2_McLighting01 MQTT2_DEVICE McLighting01
attr MQTT2_McLighting01 IODev myBroker2
attr MQTT2_McLighting01 comment Note: FabLab-Luenen/McLighting v3.1 needed because of API changes\
Note: ENABLE_HOMEASSISTANT should be enabled, since more MQTT messages will be send \
Note: webCmd and eventMap are just examples - adopt this to your needs.
attr MQTT2_McLighting01 devStateIcon {Color::devStateIcon( $name, "rgb", "rgb", "brightness", "state" )}
attr MQTT2_McLighting01 eventMap /effect 0:Static/effect 7:ColorWipeRandom/effect 11:Rainbow/effect 12:RainbowCycle/effect 33:ChaseRainbow/effect 39:ColorSweepRandom/
attr MQTT2_McLighting01 icon light_led_stripe_rgb
attr MQTT2_McLighting01 model McLighting
attr MQTT2_McLighting01 readingList McLighting01/out:.* out\
  home/McLighting01_ha/state/out:.* { json2nameValue($EVENT) }\
  McLighting01/config:.* config
attr MQTT2_McLighting01 room MQTT2_DEVICE
attr MQTT2_McLighting01 setList on:noArg McLighting01/in /on\
  off:noArg McLighting01/in /off\
  rgb:colorpicker,RGB McLighting01/in #$EVTPART1\
  rgb_nr2:colorpicker,RGB McLighting01/in \
  rgb_nr3:colorpicker,RGB McLighting01/in ###$EVTPART1\
  brightness:colorpicker,BRI,0,1,255 McLighting01/in %$EVTPART1\
  speed:colorpicker,BRI,0,1,255 McLighting01/in ?$EVTPART1\
  effect:selectnumbers,0,1,59,0,lin McLighting01/in /$EVTPART1
attr MQTT2_McLighting01 setStateList on off
attr MQTT2_McLighting01 userReadings rgb:color_b.* {Color::rgb2hex(ReadingsVal($name,"color_r",0),ReadingsVal($name,"color_g",0),ReadingsVal($name,"color_b",0))},\
rgb_nr2:color_b2.* {Color::rgb2hex(ReadingsVal($name,"color_r2",0),ReadingsVal($name,"color_g2",0),ReadingsVal($name,"color_b2",0))},\
rgb_nr3:color_b3.* {Color::rgb2hex(ReadingsVal($name,"color_r3",0),ReadingsVal($name,"color_g3",0),ReadingsVal($name,"color_b3",0))}
attr MQTT2_McLighting01 webCmd rgb:brightness:speed:effect

setstate MQTT2_McLighting01 OFF
setstate MQTT2_McLighting01 2020-11-02 16:02:49 OFF set
setstate MQTT2_McLighting01 2020-11-02 15:30:27 attrTemplateVersion 20200522 or prior
setstate MQTT2_McLighting01 2020-11-02 16:09:38 brightness 208
setstate MQTT2_McLighting01 2020-11-02 16:09:38 color_b 0
setstate MQTT2_McLighting01 2020-11-02 16:09:38 color_g 255
setstate MQTT2_McLighting01 2020-11-02 16:09:38 color_r 62
setstate MQTT2_McLighting01 2020-11-02 16:09:38 color_temp 327
setstate MQTT2_McLighting01 2020-11-02 16:09:38 effect Static
setstate MQTT2_McLighting01 2020-11-02 16:09:35 out OK =off
setstate MQTT2_McLighting01 2020-11-02 16:09:38 rgb 3EFF00
setstate MQTT2_McLighting01 2020-11-02 16:09:38 speed 98
setstate MQTT2_McLighting01 2020-11-02 16:09:38 state OFF
setstate MQTT2_McLighting01 2020-11-02 15:26:36 subscriptions McLighting01/in home/McLighting01_ha/state/in

Raspberry Pi 5

Beta-User

Hmmm, also das "bemängelte" "set_on" (bzw. "set_off") kann ich hier nicht erkennen...

Eventuell wäre auch noch interessant, wie der (noch unverarbeitete) MQTT-Verkehr aussieht (falls jemand sich die Mühe machen mag rauszufinden, wie man den ggf. mitschneidet).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

The-Holgi

Hm,
wenn ich über das webinterface vom mclightning  ausschalte, steht im eventmonitor:
MQTT2_DEVICE MQTT2_McLighting01 out: OK =off und das Ausschalten funktioniert auch.
Anschließend steht im eventmonitor;
MQTT2_DEVICE MQTT2_McLighting01 OFF
Raspberry Pi 5

Andy89

laut der Doku gibt es =off nur in der Version 2 https://github.com/FabLab-Luenen/McLighting/wiki/WebSocket-API-(V2)
in der Version 3 gibt es kein =off sondern /off https://github.com/FabLab-Luenen/McLighting/wiki/WebSocket-API-(V3.1)

aber /off gibt es in beiden Versionen, weshalb off "eigentlich" gehen müsste.
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

The-Holgi

Hab mal nachgesehen, ich nutze Version 2. Bevor ich zu mqtt2 gewechselt bin nutzte ich mosquito als broker, mit diesen Einstellungen hat es damit funktioniert:
define mclight1 MQTT_DEVICE mclight
setuuid mclight1 5cb70ab7-f33f-6571-93c3-60eeb020945972fa
attr mclight1 IODev MyBroker
attr mclight1 eventMap =off:off =all:on
attr mclight1 group McLighting
attr mclight1 icon hue_filled_lightstrip
attr mclight1 publishSet off on *0000ff  *ff0000  *14ff00  *ffbf00 mclight/in
attr mclight1 qos 0
attr mclight1 retain 1
attr mclight1 room MQTT,Terasse
attr mclight1 stateFormat state
attr mclight1 webCmd off:on
Raspberry Pi 5

Beta-User

Ich kapiere ehrlich gesagt das Problem im Moment noch nicht. Stört euch, dass statt "off" dann ein "OFF" im state-Reading steht? Die Optik ist ja trotzdem ok...

(Und wie das ohne Rückmeldung vom externen Device auskommende MQTT_DEVICE weiterhilft, auch noch nicht so recht).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Andy89

Hast du mal versucht im setlist beim off ,,/off" mit ,,=off" zu ersetzen? Dann sollte es ja eigentlich Version 2 konform sein...
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

The-Holgi

Also das Problem ist, das es sich über fhem nicht ausschalten läßt.
Ja mit =off habe ich es auch schon probiert.
Raspberry Pi 5

Beta-User

(nacheinander/wechselnd)
- lass malden Schrägstrich vor "off" weg
- ergänze zu /"off"
- sende stattdessen den brightness-Wert 0

Mit on klappt es?


Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

The-Holgi

Ja mit on klappt es. Die anderen Vorschläge von dir leider nicht. Wobei ich das mit brightness 0 noch nicht ,,hin bekommen" habe. Wenn ich es über den ,,Schieberegler" 0 eingebe funktioniert es und die Led's sind aus. Im eventmonitor:
MQTT2_DEVICE MQTT2_McLighting01 brightness: set 0
Sieht es so aus. Probiere gerade das statt off einzubauen.
Erstmal Danke für deine Ausdauer hier.
Raspberry Pi 5