Hallo zusammen
Ich möchte auf einem Display, welches an einem ESP hängt diverse Werte anzeigen. Also zum Beispiel die Temperatur (kommen von einem anderen MQTT-Device).
Der ESP mit dem Display soll sich die Werte aktiv holen (sendet via MQTT eine bitte um die Werte), FHEM soll via notify dann die Werte via MQTT an den ESP senden.
Zum testen habe ich mal folgendes:
defmod MQTT2_arduinoClient MQTT2_DEVICE arduinoClient
attr MQTT2_arduinoClient readingList arduinoClient:outTopic:.* outTopic
attr MQTT2_arduinoClient room MQTT2_DEVICE
attr MQTT2_arduinoClient setList off:noArg inTopic 0\
on:noArg inTopic 1\
toggle:noArg inTopic 2\
test:noArg inTopic/Test WERT\
setText:textField inTopic/Text $EVTPART1
attr MQTT2_arduinoClient setStateList toggle on off Test
Anstelle WERT soll aber die aktuelle Temperatur (also der «Inhalt» von ReadingsVal($name,"SI7021_Temperature",0)) publiziert werden.
attr MQTT2_DVES_44B60B devStateIcon {\
my $state = lc ReadingsVal($name, "POWER1", "off");;\
"<div>" . FW_makeImage(lc ReadingsVal($name, "state", "off"))\
. sprintf(\
" ; ;[Temp.: %.1f°C / Feucht.: %.0f%% / Taup.: %.1f°C]",\
ReadingsVal($name,"SI7021_Temperature",0),\
ReadingsVal($name,"SI7021_Humidity",0),\
ReadingsVal($name,"SI7021_DewPoint",0)\
) . "</div>"\
}
Nach dem hier:
https://forum.fhem.de/index.php?topic=102055.0
sei der Wert in [<device>:<reading>]
Ein « test:noArg inTopic/Test [MQTT2_DVES_44B60B:SI7021_Temperature]\» ergibt:
Message arrived [inTopic/Test] [MQTT2_DVES_44B60B:SI7021_Temperature]
Ein
«set publish MQTT2_arduinoClient inTopic/Test [MQTT2_DVES_44B60B:SI7021_Temperature]»
in der Befehlszeile zu einem hängendem Webfrontend von FHEM.
Wie bringe ich den Wert rüber?
Gruss
tomix
So geht es:
set MQTT2_arduinoClient setText [MQTT2_DVES_44B60B:SI7021_Temperature]
Gruss
tomix