Hallo zusammen
ich habe ein Thermometer wo ich mehrere Fühler per http json werte geliefert bekomme in der Form
{"system":{"time":"1498243366","utc":1,"soc":75,"charge":false,"rssi":-69,"unit":"C"},"channel":[{"number":1,"name":"Kanal 1","typ":1,"temp":26.10,"min":10.00,"max":35.00,"alarm":false,"color":"#0C4C88"},{"number":2,"name":"Kanal 2","typ":1,"temp":26.80,"min":10.00,"max":35.00,"alarm":false,"color":"#22B14C"},{"number":3,"name":"Kanal 3","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":false,"color":"#EF562D"},{"number":4,"name":"Kanal 4","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":false,"color":"#FFC100"},{"number":5,"name":"Kanal 5","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":false,"color":"#A349A4"},{"number":6,"name":"Kanal 6","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":false,"color":"#804000"},{"number":7,"name":"Kanal 7","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":false,"color":"#5587A2"},{"number":8,"name":"Kanal 8","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":false,"color":"#5C7148"}],"pitmaster":{"channel":0,"pid":0,"value":0.00,"set":10.00,"active":false,"manuel":
mit welchen Attributen komme ich an temp Werte
Danke und Gruß Michael
Dein JSON scheint nicht vollständig zu sein. Ich hoffe es ist in der Wahrheit nicht der Fall.
Mit dem Array in channel bin ich nicht sicher. Das ist kein "strict" JSON. Ich würde folgendes probieren:
attr <device> reading01Name Temp1
attr <device> reading01JSON channel[0]_temp
attr <device> reading02Name Temp2
attr <device> reading02JSON channel[1]_temp
Wenn das nicht geht, dann kann man immer mit Regex
Oder
attr <device> reading01Name Temp1
attr <device> reading01JSON channel_01_temp
attr <device> reading02Name Temp2
attr <device> reading02JSON channel_02_temp
Hi,
könnte man hier auch sowas auslesen?!
attr <device> reading01Name device_id
attr <device> reading01JSON Device_[*]_id
attr <device> reading01RecombineExpr join ",", @matchlist
und das Ergebnis in eine Liste schreiben?!
Laut Log sieht das bei mir so aus, es kommt aber kein Reading raus:
2024.01.27 20:21:42 5: WiserHub: JSON Flatter called : prefix Device_, ref is ARRAY(0x55bf00ea78)
2024.01.27 20:21:42 5: WiserHub: JSON Flatter called : prefix Device_01_, ref is HASH(0x55bd8ba9d8)
2024.01.27 20:21:42 5: WiserHub: JSON Flatter in hash while, key = ReceptionOfController, value = HASH(0x55c0ca3eb8)
2024.01.27 20:21:42 5: WiserHub: JSON Flatter doing recursion because value is a HASH
2024.01.27 20:21:42 5: WiserHub: JSON Flatter called : prefix Device_01_ReceptionOfController_, ref is HASH(0x55c0ca3eb8)
2024.01.27 20:21:42 5: WiserHub: JSON Flatter in hash while, key = Rssi, value = -53
2024.01.27 20:21:42 5: WiserHub: JSON Flatter sets Device_01_ReceptionOfController_Rssi to -53
2024.01.27 20:21:42 5: WiserHub: JSON Flatter in hash while, key = ModelIdentifier, value = WT704R1B30S4
2024.01.27 20:21:42 5: WiserHub: JSON Flatter sets Device_01_ModelIdentifier to WT704R1B30S4
2024.01.27 20:21:42 5: WiserHub: JSON Flatter in hash while, key = id, value = 0
2024.01.27 20:21:42 5: WiserHub: JSON Flatter sets Device_01_id to 0
Ich bekomme leider kein Reading angelegt... auch nicht wenn ich als reading01JSON Device_01_id angebe.
Danke
VG
René
Einen 7 Jahre alten Thread auszugraben, ist selten sinnvoll.
Warum verwendest Du nicht einfach JsonMod anstatt HTTPMOD?
Hi,
ich hab mittlerweile jsonmod am laufen, dank deiner Hilfe und wollte jetzt die Werte in nem httpmod als Parameter verwenden, dann bin ich in der Doku nochmal über ein paar Dinge gestolpert, die ich nochmal ausprobierten wollte.
Den Thread hab ich nochmal genommen um nicht x neue Threads aufzumachen und er einigermaßen gepasst hat.
Aber wenn ich deine Antwort richtig interpretierte, heißt das nein... Sonst hättest sicherlich auf meine Frage geantwortet?!
Vg und danke
Zitat von: fireball am 27 Januar 2024, 20:51:50Aber wenn ich deine Antwort richtig interpretierte, heißt das nein... Sonst hättest sicherlich auf meine Frage geantwortet
Deine Frage kann ich Dir nicht beantworten. Grundsätzlich käme ich nicht auf die Idee, HTTPMOD für die Verarbeitung von json Daten zu verwenden.
Wenn ich einen Brief schreiben möchte, verwende ich ja auch nicht Excel, sondern Word.