FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: Psycho-DRE am 29 März 2018, 16:17:52

Titel: publishSet mit einer Raute im Text
Beitrag von: Psycho-DRE am 29 März 2018, 16:17:52
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
Titel: Antw:publishSet mit einer Raute im Text
Beitrag von: hexenmeister am 29 März 2018, 16:34:24
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.

Titel: Antw:publishSet mit einer Raute im Text
Beitrag von: Psycho-DRE am 29 März 2018, 16:40:50
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?
Titel: Antw:publishSet mit einer Raute im Text
Beitrag von: hexenmeister am 29 März 2018, 16:45:41
wie gesagt, funktioniert (s. Screenshot), zu beachten ist da eig. nichts.
Werde gleich mit genau Deinem Config versuchen.
Titel: Antw:publishSet mit einer Raute im Text
Beitrag von: hexenmeister am 29 März 2018, 16:50:21
geht auch.
Titel: Antw:publishSet mit einer Raute im Text
Beitrag von: hexenmeister am 29 März 2018, 16:53:33
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.
Titel: Antw:publishSet mit einer Raute im Text
Beitrag von: Psycho-DRE am 29 März 2018, 16:58:27
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.
Titel: Antw:publishSet mit einer Raute im Text
Beitrag von: hexenmeister am 29 März 2018, 17:01:49
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.
Titel: Antw:publishSet mit einer Raute im Text
Beitrag von: Psycho-DRE am 29 März 2018, 17:04:47
Gut, danke nochmals.

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