Forum
Tipps
News
Menu-Icon

Fhem Shelly i4g3 und addon mit 4 themeratursensoren und 1 gaszähler

Ich weiß ja , daß das thema anderst ist,aber vieleicht können sie mir doch helfen?
ich habe shelly auf mqtt gesetzt und der mqtt-browser hat mir im Fhem geantwortet:

temp{„src“:“shellyi4g3-e4b063d67344″,“dst“:“shellyi4g3-e4b063d67344/events“,“method“:“NotifyStatus“,“params“:{„ts“:1776529251.88,“temperature:101″:{„tC“:50.50,“tF“:122.90}}}

was muss ich tun um „temperature:101“:{„tC“:50.50, zu bekommen?

Mit besten Grüßen
Klaus Mrkor



Antworten zu Fhem Shelly i4g3 und addon mit 4 themeratursensoren und 1 gaszähler:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Moin!

FHEM sollte den JSON-String bereits selbst in einzelne Readings zerlegen und dann einen Reading-Namen wie "params_temperature_101_tC" anlegen. Hast du das in dem Device?

Dann brauchst du das MQTT Topic, dass der Shelly bei dir nutzt, irgendetwas wie "shellyi4g3-e4b063d67344/events/rpc". Damit musst du dann "<topic>" bei mir hier später ersetzen!  :)

Außerdem musst du statt <Dein_Device> den echten Namen nutzen.
Gib das dann in das Eingabefeld oben ein, oder wähle die Attribute im Device aus:

attr <Dein_Device> readingList <topic>:.* { json2nameValue($EVENT) }
attr <Dein_Device> jsonMap params_temperature_101_tC:temperature


Klappt das?


Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo,
leder klappt es damit auch nicht.

defmod MQTT_Wetterstation MQTT_DEVICE
attr MQTT_Wetterstation userattr subscribeReading_temp json readingList  jsonMap
attr MQTT_Wetterstation IODev Mosquitto
attr MQTT_Wetterstation alias Wetterstation
attr MQTT_Wetterstation jsonMap params_temperature_101_tC:temperature
attr MQTT_Wetterstation qos 0
attr MQTT_Wetterstation readingList shellyi4g3-e4b063d67344/events/rpc:.* { json2nameValue($EVENT) }
attr MQTT_Wetterstation room MQTT
attr MQTT_Wetterstation subscribeReading_temp shellyi4g3-e4b063d67344/events/rpc
attr MQTT_Wetterstation verbose 5

setstate MQTT_Wetterstation 2026-04-21 15:05:49 IODev Mosquitto
setstate MQTT_Wetterstation 2026-04-21 15:06:38 temp {"src":"shellyi4g3-e4b063d67344","dst":"shellyi4g3-e4b063d67344/events","method":"NotifyStatus",“params“:{„ts“:1776529251.88,“temperature:101″:{„tC“:50.50,“tF“:122.90}}}
setstate MQTT_Wetterstation 2026-04-21 15:06:38 transmission-state incoming publish received

Trotzdem besten Dank
Klaus Mrkor

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ok, du nutzt noch das alte MQTT Device in FHEM, nicht MQTT2. Dann kannst du die beiden attr Zeilen wieder löschen, weil sie damit nicht funktionieren.

Füge stattdessen dies hinzu:

attr MQTT_Wetterstation userReadings temperature:temp.* { my $val = ReadingsVal($name,"temp","");; $val =~ m/temperature:101.*?tC.*?([0-9.]+)/ ? $1 : undef }

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo, sehr gut es hat fasr alles geklappt. Nur noch eins: wie funktioniert es damit:
{"src":"shellyi4g3-e4b063d67344","dst":"shellyi4g3-e4b063d67344/events","method":"NotifyStatus","params":{"ts":1776788635.23,"input:100":{"state":false}}}

Danke
Klaus

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
1 Leser hat sich bedankt

Versuch mal:

(Der Code ist nicht von mir, sondern Gemini, ich habe ihn nicht getestet. Aber mir hilft er sonst auch immer bei meinen FHEM Codes  ;) )

attr MQTT_Wetterstation userReadings temperature:temp.* { my $val = ReadingsVal($name,"temp","");; $val =~ m/temperature:101.*?tC.*?([0-9.]+)/ ? $1 : undef }, input100:temp.* { my $val = ReadingsVal($name,"temp","");; $val =~ m/"input:100".*?"state":(true|false)/ ? $1 : undef }

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo, ich wollte mich ganz herzlich bedanken. es hat jetzt alles geklappt.
Dank
Klaus Mrkor

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo Klaus,

das freut mich! Nächster Schritt könnte jetzt irgendwann sein, vom alten MQTT auf MQTT2 zu wechseln, habe ich auch lange vor mir hergeschoben und dann erst teilweise implementiert, aber da ist dann alles viel einfacher :-)


« Viele Wege führen nach Rom, warum einer nicht mehr?Windows Mediaplayer: Umbenennung von Files in der Wiedergabeliste »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Grundstrich
Der Begriff des Grundstrichs im Bereich der Typografie, bezeichnet den senkrechten Strich der Buchstaben. Bei Schriftarten mit variabler Strichstärke, wie zum Beispi...

Haarstrich
Der Begriff Haarstrich stammt aus dem Bereich der Typographie. Bei Schriften, wie zum Beispiel der Antiquaschrift mit unterschiedlichen Strichstärken, wird zwischen ...

FHEM
(Bild aus: FHEM - Schicke Oberfläche für Tablets) FHEM, kurz für "Freundliche Heimautomatisierung und Energie-Messung", ist ein leistungsstarker und vie...