MQTT setList

Begonnen von The-Holgi, 18 März 2018, 16:43:14

Vorheriges Thema - Nächstes Thema

The-Holgi

Hallo,
bastel gerade an einer Steuerung für WS2812B Lightstrip. Habe dazu auf einem Wemos D1 Mini das hier installiert:
https://github.com/toblum/McLighting .
Funktioniert soweit schon gut, ein paar Kleinigkeiten wie Colorpicker usw. fehlen noch.
Jetzt ist mir aufgefallen, das das attr setList beim mqtt_device fehlt, wollte damit die verschiedenen Effekte und die Helligkeit über drop down einstellen.
Hat da vielleicht jemand eine Idee zu?
Hier ein list vom device:

Internals:
   DEF        mclight
   IODev      MyBroker
   NAME       mclight1
   NOTIFYDEV  mclight
   NR         393
   STATE      OK off
   TYPE       MQTT_DEVICE
   READINGS:
     2018-03-18 16:27:29   state           OK =off
     2018-03-18 16:27:29   transmission-state incoming publish received
   message_ids:
   publishSets:
     :
       topic      mclight/in
       values:
   sets:
               
   subscribe:
     mclight/out
   subscribeExpr:
     ^mclight\/out$
   subscribeReadings:
     mclight/out:
       cmd       
       name       state
Attributes:
   IODev      MyBroker
   event-on-change-reading .*
   eventMap   =off:off =rainbowCycle:Regenbogen =all:on =theaterchase:Theater
   icon       hue_filled_lightstrip
   publishSet mclight/in
   room       MQTT
   stateFormat state
   subscribeReading_state mclight/out
   webCmd     Regenbogen:Theater:*ff0000:*14ff00:*0000ff:*ffbf00:off:on


Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

hexenmeister

setList brauchst Du nicht, du kannst in dem publishSet die gewünschten Befehle mit angeben (s. https://fhem.de/commandref.html#MQTT_DEVICE).
Verwende jedoch Anführungszeichen für Parametern mit Doppelpunkt, nach der letzten Änderung wurde leider die parse-Methode ein wenig kaputtoptimiert.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

The-Holgi

Hm, das verstehe so nicht. Habe jetzt für Helligkeit, Speed und effect je ein dummy device mit setList angelegt.
Internals:
   NAME       McLight_effect
   NR         396
   STATE      wipe
   TYPE       dummy
   READINGS:
     2018-03-18 19:24:48   state           wipe
Attributes:
   event-on-change-reading .*
   group      McLighting
   room       MQTT
   setList    state:on,off,rainbowCycle,theaterchaseRainbow,rainbow,tv,wipe
   webCmd     state


Internals:
   NAME       McLight_Helligkeit
   NR         394
   STATE      150
   TYPE       dummy
   READINGS:
     2018-03-18 19:24:43   state           150
Attributes:
   event-on-change-reading .*
   group      McLighting
   room       MQTT
   setList    state:10,50,100,150,200,255
   webCmd     state

Internals:
   NAME       McLight_speed
   NR         399
   STATE      240
   TYPE       dummy
   READINGS:
     2018-03-18 19:25:02   state           240
Attributes:
   event-on-change-reading .*
   group      McLighting
   room       MQTT
   setList    state:0,25,50,100,150,200,210,220,230,240,255
   webCmd     state


Über ein doif wird dann ausgelöst.
Ist es möglich das im mqtt device unterzubringen?

HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

hexenmeister

Zu den Farbeffekten kann ich nichts sagen, aber anderes wie Slider, on, off etc geht.
Hier z.B: mein Dimmer-TestDevice:
define MQ_DG_WZ_Licht_Ost MQTT_DEVICE
attr MQ_DG_WZ_Licht_Ost IODev mqtt
attr MQ_DG_WZ_Licht_Ost devStateIcon off:light_light_dim_00@gray 0:light_light_dim_00@gray dark:light_light_dim_10@yellow \d:light_light_dim_10@yellow 1\d:light_light_dim_20@yellow 2\d:light_light_dim_30@yellow 3\d:light_light_dim_40@yellow 4\d:light_light_dim_50@yellow 5\d:light_light_dim_60@yellow half:light_light_dim_60@yellow 6\d:light_light_dim_70@yellow 7\d:light_light_dim_80@yellow bright:light_light_dim_80@yellow 8\d:light_light_dim_90@yellow 9\d:light_light_dim_100@yellow 100:light_light_dim_100@yellow on:light_light_dim_100@yellow .*:hourglass
attr MQ_DG_WZ_Licht_Ost eventMap on:on 70:bright 40:half 13:dark off:off
attr MQ_DG_WZ_Licht_Ost group DG_Wohnzimmer
attr MQ_DG_WZ_Licht_Ost mqttDeviceType dimmer
attr MQ_DG_WZ_Licht_Ost publishSet on off "switch:on,off" "level:slider,0,1,100" /ha/dg/wz/licht/ost/set
attr MQ_DG_WZ_Licht_Ost room MQTT_TEST
attr MQ_DG_WZ_Licht_Ost stateFormat level
attr MQ_DG_WZ_Licht_Ost subscribeReading_level /ha/dg/wz/licht/ost/level
attr MQ_DG_WZ_Licht_Ost subscribeReading_state /ha/dg/wz/licht/ost/state
attr MQ_DG_WZ_Licht_Ost webCmd on:bright:half:dark:off:level
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Peter_64

Hallo,
Ich habe mit mqtt Servos im Einsatz.
level:slider,0,1, 100  mygateway1-in/26/0/2/0/3
Hatte bestens vor dem letzten Update geklappt, leider fehlt der level Ausdruck unter set Kpl.


hexenmeister

Da gab es leider eine Änderung, die meine Erweiterungen (Angaben für slider etc.) zum Teil kaputt gemacht hat. Habe schon im entsprechenden thread geschrieben. Als workaround kannst du diese angaben in Anführungszeichen setzen. S. meine vorige Posting hier.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Peter_64

Ja die Möglichkeit mit den Tipp hatte ich versucht,  leider ging es nicht. Habe die alten Module zurückgeschrieben. Es geht aktuell wieder. Wenn es mal wieder klappt wird upgedatet. Danke für deine Arbeit.
I

hexenmeister

Kannst du bitte dein device-konfig posten. Würde gerne nachvollziehen, was nicht klappt.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Peter_64

Und das Device...

defmod mqtt_PWM_Geblaese_ID26 MQTT_DEVICE
attr mqtt_PWM_Geblaese_ID26 IODev mqtt
attr mqtt_PWM_Geblaese_ID26 fp_Keller_HK1 149,775,1,Gebläse,
attr mqtt_PWM_Geblaese_ID26 group Lüfter- Regelung-Abgastemperatur
attr mqtt_PWM_Geblaese_ID26 publishSet level:slider,0,1,100 mygateway1-in/26/0/2/0/3
attr mqtt_PWM_Geblaese_ID26 room Mosquitto,RT
attr mqtt_PWM_Geblaese_ID26 stateFormat Z
attr mqtt_PWM_Geblaese_ID26 subscribeReading_Z mygateway1-out/26/0/1/0/3
attr mqtt_PWM_Geblaese_ID26 webCmd level


hexenmeister

praktisch wie bei mir, nur ohne Anführungszeichen ;)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Peter_64

Ja genau! Mit und ohne Anführungszeichen beim neuen Modul versucht. Die Folge war set Funktion weg.

hexenmeister

was soll ich sagen... mit Deinem Config, Anführungszeichen und neuen Version geht es bei mir.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Peter_64

? dass sieht echt gut aus, werde es später gleich noch mal versuchen, danke.
Hier die alte Version vor dem Update !

Peter_64

Update durchgeführt, leider wieder das folgende Ergebnis!

Internals:
   IODev      mqtt
   NAME       mqtt_PWM_Geblaese_ID26
   NR         393
   STATE      21
   TYPE       MQTT_DEVICE
   READINGS:
     2018-03-20 21:27:22   Z               21
     2018-03-20 21:27:22   level           21
     2018-03-20 21:38:23   state           level
     2018-03-20 21:38:55   transmission-state subscription acknowledged
   message_ids:
   publishSets:
     :
       topic      mygateway1-in/26/0/2/0/3
       values:
   sets:
               
   subscribe:
     mygateway1-out/26/0/1/0/3
   subscribeExpr:
     ^mygateway1-out\/26\/0\/1\/0\/3$
   subscribeReadings:
     mygateway1-out/26/0/1/0/3:
       cmd       
       name       Z
Attributes:
   IODev      mqtt
   fp_Keller_HK1 149,775,1,Gebläse,
   group      Lüfter- Regelung-Abgastemperatur
   publishSet "level:slider,0,1,100" mygateway1-in/26/0/2/0/3
   room       Mosquitto,RT
   stateFormat Z
   subscribeReading_Z mygateway1-out/26/0/1/0/3
   webCmd     level


hexenmeister

Rätselhaft.  ???
Ist der Rest auch upgedatet? Vor allem 00_MQTT Modul?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Peter_64

Ja,  alle drei Module. Mit der funktionierenden Version alt geht auch bei mir die Variannte "level:slider,0,1,100" .
Im Log stehen zwar Fehler aber Befehle werden gesendet.
Aktuell würde bei Update check die Dateien
00_MQTT + 10_MQTT_DEVICE.PM  erneuert.

hexenmeister

F*ck!
Habe gerade gemerkt, meine 00_MQTT war doch nicht die aus dem Repo. Ich habe mal ein Patch eingereicht, der das Problem zumindest umschifft (mit den Anführungszeichen eben), war mir auch recht sicher, dass das übernommen wurde, offensichtlich hab ich mich geirrt...  :(

Im Anhang ist meine 00_MQTT zum Testen.

Wenn ich wieder Zeit finde, will ich versuchen, ein neien Patch einzureichen, der die Probleme lösst.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Peter_64