FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: sven.scherf am 10 Oktober 2019, 20:05:51

Titel: MQTT2 Device anlegen
Beitrag von: sven.scherf am 10 Oktober 2019, 20:05:51
Hallo,

irgendwie stehe ich auf dem Schlauch und bräuchte mal einen Anschub.

Mit einen ESP8266 habe ich mir ein Thermometer gebaut und publishe die Daten per MQTT.

In meinem Sketch sieht die Zeile so aus client.publish("pool/becken/temperatur", temperaturStr);

In meinem Fhem habe ich den MQTT2_Fhem_Server aktiviert und er steht auf initialized.

Im Monitor sehe ich die Daten so ankommen MQTT2_DEVICE MQTT2_arduinoClient becken: 22.00
Mit MQTT.fx habe ich mich mit fhem verbunden und pool/becken abonniert. Hier laufen die Daten auch ein.
In fhem habe ich mir dann auch ein MQTT2 Device angelegt welches als IODev den fhem MQTT2 Server eingetragen hat.

Was muss ich machen damit ich die Daten in fhem in dem Device angezeigt bekomme(readingList) und am liebsten auch direkt neben dem Device :)


Vielen Dank schon mal

Sven


Titel: Antw:MQTT2 Device anlegen
Beitrag von: Reinhart am 10 Oktober 2019, 20:25:36
kennst du dieses Wiki (https://wiki.fhem.de/wiki/EBUS-MQTT2)?

Ist zwar für den eBus konzipiert, aber passt auch für deine Zwecke weil es um die Konfiguration vom MQTT2 geht. Was du brauchst ist "autocreate complex".

Im Bild die Definition meines MQTT2_Server.

LG
Titel: Antw:MQTT2 Device anlegen
Beitrag von: sven.scherf am 10 Oktober 2019, 21:27:37
Hi,

Vielen Dank. Das autocreate hat mir Device angelegt und ich habe nun im Reading die Temperatur.

Wie bekomme ich das Reading in die Anzeigen, so dass dort nicht die drei ,,?" Stehen ?

Nein das Wiki kannte ich nicht, viele dank.

Viele Grüße

Sven

Titel: Antw:MQTT2 Device anlegen
Beitrag von: sven.scherf am 10 Oktober 2019, 21:58:55
Hi,

Habe es mit ReadingsVal hinbekommen.

Vielen Dank

Sven
Titel: Antw:MQTT2 Device anlegen
Beitrag von: Beta-User am 11 Oktober 2019, 07:20:16
??!??

@Reinhart: Wieso "complex"? Es wird doch nur ein String gesendet...
Man kann darüber streiten, aber complex macht mMn. nur dann Sinn, wenn man a) JSON-Payloads hat _und_ diese b) so sind, dass dieselben Inhalte (key/value-Paare) auf unterschiedlichen Topics kommen (wie beim eBus) bzw. der "Restinhalt" sich jeweils auf was anderes bezieht (z.B. neulich für firmware-updates bei Shelly).

@sven.scherf: Wie ReadingsVal da weiterhilft, würde mich interessieren. In der Regel dürfte es ausreichen, schlicht den Reading-Namen nach stateFormat zu packen (ohne Perl). Dafür wäre aber eine RAW-Definition bzw. ein list des Devices hilfreich (bitte zukünftig dann dazupacken). Wenn der Thread "gelöst" ist, bitte auch entsprechend kennzeichnen.
Titel: Antw:MQTT2 Device anlegen
Beitrag von: Reinhart am 12 Oktober 2019, 10:46:43
@Beta-User

wegen dem "complex" hatten wir schon mal diskutiert, man kann sonst Namens gleiche Readings wie zB. bei Status01 und Status02 nicht unterscheiden. Es geht aber momentan nur um den einen mir bekannten Fall.

Wenn der Anwender das nicht braucht, kann er auch simple verwenden.

LG


Titel: Antw:MQTT2 Device anlegen
Beitrag von: sven.scherf am 12 Oktober 2019, 21:03:24
Hallo,

Ich habe
Bei in StateFormat das folgende eingefügt.

{ReadingsVal ('Pool_Temp','becken',0)}

Dadurch bekomme ich in der Übersicht die Temperatur angezeigt.

Ich muss mir noch viel mit MQTT anschauen.
Ich möchte auch aus fhem das Device steuern, LED soll leuchten.

Viele Grüße

Sven
Titel: Antw:MQTT2 Device anlegen
Beitrag von: Beta-User am 18 Oktober 2019, 09:23:16
...ist das ein list...?
...ist das [gelöst]...?

So kann man nicht erkennen, ob sich der Code im stateFormat auf dasselbe Device bezieht, oder auf was anderes...

Nochmal: Wenn es dasselbe Device ist, reicht ein

attr Pool_Temp stateFormat becken °C
Diese Grundlagen sind auch eher hier zu finden: https://wiki.fhem.de/wiki/DeviceOverview_anpassen, einiges speziell zu MQTT2-Device ist in https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele zu finden...
Titel: Antw:MQTT2 Device anlegen
Beitrag von: sven.scherf am 27 Oktober 2019, 18:35:15
Hallo,

super vielen Dank ich habe es umgestellt und es funktioniert.

Ich werde mir die verlinkte Doku mal zu Gemüte führen.


Viele Grüße
Sven