MQTT-DEVICE und Colorpicker

Begonnen von Bugs, 20 Juni 2015, 23:47:59

Vorheriges Thema - Nächstes Thema

Bugs

Hi,

Ich würd gern mit nem Mqtt-Device RGB-Daten publishen. Den Colorpicker bekomm ich eingefügt, nur was muss ich machen, das der rgb-Wert dann an ein Topic gesendet wird?
Hatte sowas wie attr wz_led publish_set on off RGB <topic> gedacht.
On und off klappt perfekt, aber wenn ich im Colorpicker was auswähle kommt nix am Broker an.
Hab ich noch was übersehen oder völlig falscher Ansatz?

Rene

Kuzl

Hast du das MQTT-Device richtig konfiguriert?

attr <name> publishSet_<reading> [<values>] <topic>
configures reading that may be used to both set 'reading' (to optionally configured values) and publish to configured topic

dann müsstest du die RGB readings vom colorpicker damit publishen können

Bugs

Momentan sieht's so (siehe Bild) aus.

Kuzl

du hast publishSet genommen aber du musst publishSet_<reading> nehmen also in deinem fall etwa so:

publishSet_RGB /ESP8266-10412373/led

Bugs

#4
Sauber, jetzt gehts... Danke
Übers DropDown im mqtt-device Eigenschaftenfenster gings nicht.
Aber mit

attr wz_sensor publishSet_RGB <TOPIC>

klappts.
Dann kann ich heute Abend meine LED_Leisten an den ESP8622 hängen!

Bugs

Kuzl

kannst du das dann mal im Detail beschreiben?
Würde mich auch interessieren, aus deinem Screenshot deute ich du hast einen DHT22 auch noch angeschlossen.

Bugs

Nö, ich mach das wie alle anderen auch: "Ich hab, was ich will und weg"  ;D

Ne Spass, hier mal der relevante Ausschnitt auf der fhem.cfg:

define localMQTT MQTT 127.0.0.1:1883

define wz_sensor MQTT_DEVICE
  attr wz_sensor IODev localMQTT
  attr wz_sensor publishSet_RGB /ESP8266-10412373/LED/RGB
  attr wz_sensor publishSet on off /ESP8266-10412373/LED/state
  attr wz_sensor retain 1
  attr wz_sensor room Wohnzimmer
  attr wz_sensor stateFormat state
  attr wz_sensor subscribeReading_RGB /ESP8266-10412373/LED/RGB
  attr wz_sensor subscribeReading_state /ESP8266-10412373/LED/state
  attr wz_sensor subscribeReading_hum /ESP8266-10412373/hum
  attr wz_sensor subscribeReading_temp /ESP8266-10412373/temp
  attr wz_sensor webCmd RGB
  attr wz_sensor widgetOverride RGB:colorpicker,RGB


Client ist ein ESP8266 WifiModul mit nodemcu als Firmware.
3 PWM Ausgänge gehen an die Gates der TreiberFETs des ausgeschlachteten Steuergeräts einer billigen China RGB_LED-Leiste.
Programmiert wird das ganze dann relative einfach in LUA mit dem ESPlorer.

Ich hoffe das folgende Kombo keine Probleme ( endlos Schleife etc. ) macht:

  attr wz_sensor publishSet_RGB /ESP8266-10412373/LED/RGB
  attr wz_sensor subscribeReading_RGB /ESP8266-10412373/LED/RGB

Das zurück lesen des Topics benötige ich aber, da ich auch von anderer Stelle die Topics beeinflussen möchte/muss.
Und FHEM muss davon ja auch in Kenntnis gesetzt werden.
So eine andere Stelle kann dann ein TFT mit Touch sein, das in jedem Raum hängt ( oder Schalterersatz auf ner Unterputzdose wohnt )
und nur Raum bezogene Funktionen anbietet, z.B. anzeigen Temp,Feuchte und Uhrzeit und Schalten/dimmen der Beleuchtung RGB-Leisten etc.
ESP8266 + MQTT + FHEM = d b

Kuzl

Das ist interessant :)

Evtl bringt dir das attr Event-on-change-reading oder so ähnlich was.

Dann wird nur noch ein Event erzeugt, wenn sich das Reading auch ändert. Dann wird schlimmstenfalls die gerade gesetzte Farbe 1 mal erneut gesetzt - hoffentlich
Ansonsten bleibt noch die Möglichkeit den Rückkanal auf ein extra Reading zu setzen und dann mit einem notify auszuwerten ob sich die beiden Readings unterscheiden.

Bugs

#8
Grad geschaut, das passt so perfekt. Es wird genau nur eine Meldung abgesetzt und zurück erhalten.

tob.rot

#9
Zusatzfrage:

Meine Konfiguration sieht ähnlich deiner aus:
#mqtt test
define localMQTT MQTT 127.0.0.1:1883
  attr localMQTT keep-alive 60

define mqtt_Moodlight MQTT_DEVICE
  attr mqtt_Moodlight IODev localMQTT
  attr mqtt_Moodlight alias Moodlight
  attr mqtt_Moodlight publishSet_RGB RGB /inTopic
  attr mqtt_Moodlight room Tobias
  attr mqtt_Moodlight stateFormat state
  #attr mqtt_Moodlight retain 1
  attr mqtt_Moodlight webCmd RGB
  attr mqtt_Moodlight widgetOverride RGB:colorpicker,RGB


Aussehen siehe Bild.
Ist mein erstes mal mit FHEM und weiß nicht weiter, alles was ich versucht habe ist gescheitert. Liegt wohl auch am mangelnden Wissen.
Die 32_WifiLed.pm ist aber da, und da soll ja laut Wiki auch der Colorpicker drin sein?!

Sollte hier nicht ein Widget, mit dem man die Farbe wählen kann, sein? Laut Wiki sollte es.

Gruß

Bugs

#10
Sollte eigentlich so gehen. Habe es bei mir ja genauso, naja bis auf das alias.
Mach mal n rereadcfg ...

Bugs

Kuzl

Das Problem könnte sein, dass du kein Reading RGB hast. Das benötigt der colorpicker zwingend.
Der colorpicker selbst hat nichts mit wifilight zu tun. das sind 2 Paar Stiefel.