FHEM - Hausautomations-Systeme > MQTT

Zahl aus dem Reading auslesen {"idx":5,"nvalue":0,"svalue":"3191"}

(1/1)

Joshibaer:
Ich habe gerade ein Problem die Daten , meine AD Wandlers die per MQTT geliefert werden aus zu lesen.

Die Daten vom AD-Wanler ADS1115 werden in dieser Form übermittelt


--- Code: ---Client mosqsub/463-raspberrypi received PUBLISH (d0, q0, r0, m0, '/hooks/devices/6/SensorData/Analog', ... (37 bytes))
/hooks/devices/6/SensorData/Analog {"idx":6,"nvalue":0,"svalue":"-1.00"}
--- Ende Code ---

Also steht hinterher im Reading


--- Code: ---Analog       {"idx":5,"nvalue":0,"svalue":"3191"}
--- Ende Code ---

Ich brauche aber nur die 3191 als Zahl.

Wie kann ich mir die Zahl aus dem Reading hohlen ?

Danke schonmal im Vorraus.

dev0:
Der einfachste Weg wäre das expandJSON Modul.

Joshibaer:
Danke , das war ja einfacher als ich dachte, mit


--- Code: ---# Device ADS1115-0 definieren
define Pooldruckio MQTT_DEVICE ADS1115
attr Pooldruckio IODev MyBroker
attr Pooldruckio group DruckSensoren
attr Pooldruckio room MQTT,Garten,Teich
attr Pooldruckio subscribeReading_Analog /hooks/devices/5/SensorData/Analog

define Pooldruck0 expandJSON Pooldruckio.*:.*:.{.*}
attr Pooldruck0 room MQTT

#Pooldruck

define Pooldruck readingsProxy Pooldruckio:svalue
attr Pooldruck alias Poolpumpendruck
attr Pooldruck alias Poolpumpendruck stateFormat {sprintf("%.0f bar ",ReadingsVal("Pooldruckio","svalue",0)) }
attr Pooldruck room MQTT

--- Ende Code ---

habe ich jetzt die Zahl als State umd muss sie nur noch umrechnen.

Joshibaer:
Kleine Berichtigung.

--- Code: ---attr Pooldruck alias Poolpumpendruck stateFormat {sprintf("%.0f bar ",ReadingsVal("Pooldruckio","svalue",0)) }
--- Ende Code ---

funktioniert nicht , ich habe den Sensor einfach im Node MCU Device kalibriert.

Reinhart:
schau doch mal in den Readings wie expandJson es angelegt hat und setze den richtigen Namen dann ein.
Normalerweise ist vorne noch der Sensortyp mit dabei, wie im Beispiel des angehängten Bildes.


--- Code: ---ReadingsVal($name,"xxxxxx",0
--- Ende Code ---

LG
Reinhart

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln