publishSet mit einer Raute im Text

Begonnen von Psycho-DRE, 29 März 2018, 16:17:52

Vorheriges Thema - Nächstes Thema

Psycho-DRE

Hallo zusammen,

bin ich beschäftige mich schon seit Tagen damit einen RGB wert über MQTT zu übertragen. Der Hacken an der Sache, der RGB Conrtoller nimmt die Hexwerte nur an wenn eine Raute vorangeht.
Wahlweise kann ich die werte auch als RRR,GGG,BBB senden, da wird allerdings das Komma zum Problem.

define RGB_LED_Kueche MQTT_DEVICE
attr RGB_LED_Kueche IODev mqtt
attr RGB_LED_Kueche icon light_led_stripe_rgb
attr RGB_LED_Kueche publishSet 1 0 rgb_test/relay/0/set
attr RGB_LED_Kueche publishSet_RGB RGB rgb_test/rgb/set
attr RGB_LED_Kueche publishSet_Test RGB rgb_test/rgb/set #nur zum testen
attr RGB_LED_Kueche room Küche
attr RGB_LED_Kueche stateFormat state
attr RGB_LED_Kueche subscribeReading_RGB /rgb_test/rgb
attr RGB_LED_Kueche subscribeReading_Status /rgb_test/relay/0
attr RGB_LED_Kueche webCmd RGB:on:off
attr RGB_LED_Kueche widgetOverride RGB:colorpicker,RGB


Das ist mein MQTT Device mit Colorpicker.
die Raute wird wie ich gelesen habe grundsätzlich gefiltert.
mit dem Attribut eventMap habe ich zwar eine Raute in die Nachricht bekommen, aber nicht so wie ich es brauche.

Gibt es einen Weg da eventuell einen Inline Perl Code zu verwenden?
in der MQTT Nachricht muss als Message #FFFFFF stehen, von Fhem kommt zur Zeit nur FFFFFF.

Danke

hexenmeister

Versuche mal mit der Version, die in hier (https://forum.fhem.de/index.php/topic,86270.0.html) verlinkt ist.
Bei mir überträgt set XXX Test #FFFFFE korrekt den Wert mit dem '#'-Zeichen.

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Psycho-DRE

#2
EDIT: Das was du sagst geht von der Kommandozeile/ Fhem. Jetzt muss ich das nur noch dem RGB Wert des Colorpickers voranstellen

Habe die beiden Daten geladen un in den FHEM Orner kopiert/überschrieben, Fhem neu gestartet.

attr RGB_LED_Kueche publishSet_Test #00FF00 rgb_test/rgb/set

laut mosquitto kommt da nur

rgb_test/rgb/set 00FF00

Irgendwas, das ich nicht beachtet habe?

hexenmeister

wie gesagt, funktioniert (s. Screenshot), zu beachten ist da eig. nichts.
Werde gleich mit genau Deinem Config versuchen.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Ich verstehe das Problem. Bei der Farbauswahl in der GUI wird # nicht mitübertragen. Das ist aber kein Problem mit MQTT, sondern die Eigenschaft von dem ColorPicker. Ob man den entsprechend einstellen kann, weiß ich leider nicht. Erstelle einen entsprechenden Thread im passendem Unterforum.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Psycho-DRE

Danke vielmals.

Kann es sein, dass das Problem schon bei der der Eingabe für das publishSet anfängt?
denn wenn ich ohne den Colorpicker wie in meinem zweitem Beitrag manuell den Wert eintrage wird die Raute bereits da gefiltert.

hexenmeister

Nein. Mit dem Attr kannst Du auch nichts übertragen. Dafür gibt es set Befehl. s. meine Screenshots.
MQTT verhält sich korrekt.
Eine mögliche Lösung wäre mit einem Dummy zu arbeiten, um den Wert entsprechend zu verändern (um die Raute zu erweitern) und dann mit MQTT_BRIDGE zu übertragen.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Psycho-DRE

Gut, danke nochmals.

Dann können wir das hier schließen.
Ich frage mal in den anderen Unterforen nach,