MQTT Dashboard JSON Philips HUE Publish / Subscribe

Begonnen von robo, 06 Juni 2020, 17:04:52

Vorheriges Thema - Nächstes Thema

robo

Hallo MQTT Experten,

ich versuche mittels der Android MQTT Dashboard App meine Philips HUE Lampen zu steuern, was grundsätzlich sehr gut funktioniert. Die FHEM MQTT Schnittstelle ist echt Klasse. Leider scheitere ich an der JSON Umsetzung.

Die Dashboard App benötigt und setzt die MQTT Daten des Licht Widgets in JSON wie folgt um.


{
"mqtt_dashboard": {
   "color": "#1F0A0E2",
   "brightness": 55
  }
}


In FHEM habe ich folgende MQTT Konfiguration am Philips Hue Device hinterlegt und mittlerweile sehr viel probiert.


define HUEDevice21 HUEDevice 21 IODev=myHueBridge
attr HUEDevice21 mqttDefaults pub:qos=1 sub:qos=1 retain=0
attr HUEDevice21 mqttAlias rgb=color pct=brightness
attr HUEDevice21 mqttPublish color|brightness:topic={"/F/$device"} color|brightness:expression={""mqtt_dashboard":{"$name", "$value"}"}
attr HUEDevice21 mqttSubscribe rgb|pct:stopic={"/F/$device"} rgb|pct:expression={"color"=>$value, "brightness"=>$value}


Auch wird der Color Wert in dem JSON String mit # benötigt und in FHEM ohne. Vielleicht hat jemand eine Idee dazu.
Verzeifelte Grüße.
Robert

rudolfkoenig

ZitatDie FHEM MQTT Schnittstelle ist echt Klasse.
Dann bin ich gespant, was Du ueber die MQTT2 Schnittstelle sagst :)

=> MQTT2* ist neuer, wird aktiver gepflegt, und versucht das Leben fuer Einsteiger einfacher zu machen.

Beta-User

Hmm, hier scheinen wir es mit MQTT_GENERIC_BRIDGE zu tun zu haben.

Was mqttPublish angeht, würde ich tippen, dass man die Anführungszeichen escapen muß, in den Subscriptions müßte es eingentlich gehen, das "#" einfach davor zu schreiben.

Ungetestet:
attr HUEDevice21 mqttPublish color|brightness:topic={"/F/$device"} color|brightness:expression={"\"mqtt_dashboard\":{\"$name\", \"$value\"}"}
attr HUEDevice21 mqttSubscribe rgb|pct:stopic={"/F/$device"} rgb|pct:expression={"color"=>"#$value", "brightness"=>$value}


Falls du auch bei publish irgendwelche Transformationen brauchst, mußt du da "mehr Perl" verwenden und ggf. mit substr arbeiten.
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