[gelöst]Readings werden nicht gepublished

Begonnen von mhelgers, 02 April 2017, 08:06:03

Vorheriges Thema - Nächstes Thema

mhelgers

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() }



eisler

Config sieht für mich gut aus. Steht was im Logfile?

Grüße
Stephan

Bapt. Reverend Magersuppe

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.
--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

mhelgers

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

mhelgers

Lösung:

Die Temperatur hatte das Attribut 'event-on-change-reading'
Nach dem Löschen des Attributes wird der Wert nun auch gepublished :)

Rince

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.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

jannes

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