FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: mhelgers am 02 April 2017, 08:06:03

Titel: [gelöst]Readings werden nicht gepublished
Beitrag von: mhelgers am 02 April 2017, 08:06:03
Hallo,

ich habe bei mir MQTT eingerichtet und mir dann ein Display besorgt auf dem einige Werte angezeigt werden sollen.
Zum einen sollen Wetterdaten (Temperatur) angezeigt werden und andren die Temperatur des Wohnzimmers (hier habe ich mir ein Thermometer mit einem WMOS D1 mini und einem D11 shield gebaut) und dann gibt es noch ein Thermometer vom Typ HMS100T

Hier der Code

define MQTT_Teich MQTT_BRIDGE Temperatur
attr MQTT_Teich IODev Mosquitto
attr MQTT_Teich publish-topic-base /teich/
attr MQTT_Teich publishReading_temperature /teich/temper
attr MQTT_Teich publishReading_type /teich/type
attr MQTT_Teich room MQTT
attr MQTT_Teich stateFormat transmission-state

define MQTT_Wohn MQTT_BRIDGE WohnTemperatur
attr MQTT_Wohn IODev Mosquitto
attr MQTT_Wohn publish-topic-base /wohn/
attr MQTT_Wohn publishReading_humidity /wohn/humidity
attr MQTT_Wohn publishReading_messured-temp /wohn/messured-temp
attr MQTT_Wohn publishReading_transmission-state /wohn/transmission-state
attr MQTT_Wohn room MQTT
attr MQTT_Wohn stateFormat transmission-state

define MQTT_Wetter MQTT_BRIDGE OUT.Wetter
attr MQTT_Wetter IODev Mosquitto
attr MQTT_Wetter publish-topic-base /wetter/
attr MQTT_Wetter publishReading_state /wetter/state
attr MQTT_Wetter publishReading_temp_c /wetter/temp_c
attr MQTT_Wetter publishReading_temperature /wetter/temperature
attr MQTT_Wetter publishReading_validity /wetter/validity
attr MQTT_Wetter publishReading_visibility /wetter/visibility
attr MQTT_Wetter room MQTT
attr MQTT_Wetter stateFormat transmission-state


Mein Problem ist, dass die Wetter- und Wohnzimmer Werte gepublished und auch empfangen und angezeigt werden, die des HMS Gerätes aber nicht.
Jemand eine Idee woran es liegen könnte??

Hier der List des Thermometers:


Internals:
   CFGFN      /opt/fhem/mycfg/garten.cfg
   CODE       62a7
   DEF        62a7
   IODev      SCC
   NAME       Temperatur
   NR         274
   STATE      T: 13.1  Bat: ok
   TYPE       HMS
   Readings:
     2017-04-02 04:07:08   battery         ok
     2017-04-02 04:07:08   state           T: 13.1  Bat: ok
     2017-04-02 04:07:08   temperature     13.1
     2017-04-02 04:07:08   temperature2    Error evaluating Temperatur userReading temperature2: Undefined subroutine &main::getTemp called at (eval 2475) line 1.

     2017-04-02 04:07:08   type            HMS100T
Attributes:
   IODev      SCC
   alias      Teich-Temperatur
   comment    0.6
   event-on-change-reading state
   model      hms100-t
   room       Favourites,Garten
   userReadings temperature2 { getTemp() }


Titel: Antw:Readings werden nicht gepublished
Beitrag von: eisler am 03 April 2017, 12:39:46
Config sieht für mich gut aus. Steht was im Logfile?

Grüße
Stephan
Titel: Antw:Readings werden nicht gepublished
Beitrag von: Bapt. Reverend Magersuppe am 03 April 2017, 14:01:32
Häng Dich mal mit mosquitto_sub (oder einem anderen Tool) an Deinen MQTT-Server und subscribe per Wildcard alle Topics.
Manchmal fehlt ein / vorweg oder einer zuviel oder da steckt irgendwo ein Steuerzeichen drin was im Display dann nicht geht.
Titel: Antw:Readings werden nicht gepublished
Beitrag von: mhelgers am 03 April 2017, 14:56:36
ich habe es mit mqttfx versucht. Mit # subscribe ich mich auf alle Topics..es kommt alles außer die Temperatur :(
Wenn ich einen Wert mit mqttfy publishe wird er auch korrekt auf dem Display dargestellt. Ich hatte zuerst auch gedacht es könnte Probleme mit dem Dezimalpunkt geben, also zB 13.5 aber auch dieser Wert wird korrekt dargestellt wenn ich ich händisch publishe.
Wie gesagt, die Werte werden einfach nicht gepublished.
Vielleicht sollte ich eine Dummy Variable anlegen, die den Temperaturwert annimmt und die neue Variable dann publishen.....wäre vielleicht ein Workaround aber es muss doch auch über den 'normalen' Weg gehen.

Werde auch mal versuchen den Loglevel zu erhöhen; vielleicht finde ich was
Titel: Antw:Readings werden nicht gepublished
Beitrag von: mhelgers am 04 April 2017, 10:42:41
Lösung:

Die Temperatur hatte das Attribut 'event-on-change-reading'
Nach dem Löschen des Attributes wird der Wert nun auch gepublished :)
Titel: Antw:Readings werden nicht gepublished
Beitrag von: Rince am 04 April 2017, 19:15:30
Hm,
schau mal ob du die Werte retained publishen kannst. Vgl. hierzu die MQTT Einführung Teil 2. Dann könntest du das event-on-change reading wieder rein tun.
Eisler kann das sicher schnell beantworten.

Ansonsten:
Du könntest bitte den Titel noch editieren und ein [gelöst] vor den Titel schreiben. Dann haben es User später leichter mit der Suche.
Dazu deinen 1. Thread editieren. Dann hast du Zugriff auf das Thema.
Titel: Antw:[gelöst]Readings werden nicht gepublished
Beitrag von: jannes am 27 Juli 2018, 16:03:50
Hi zusammen,

ich würde das Thema gerne nochmal aufgreifen.

Sobald ich das im verknüpften Gerät 'event-on-change-reading' gesetzt habe, werden gar keine readings mehr gepublished. Dabei ist es egal ob das reading im attribut 'event-on-change-reading' genannt ist oder nicht.
Auch ein "retain 1" hat das nicht geändert.

Leider ist das Löschen des 'event-on-change-reading' ist für mich leider keine Option.

Danke für eure Hilfe!

Grüße jannes