Ankündigung
Einklappen
Keine Ankündigung bisher.
JSON Dateien in ein Item schreiben
Einklappen
X
-
Das ist ungünstig. Mal ins Blaue geraten (und weil ich da homematic lese), vielleicht gibt es eine korrigierte Firmware von ELV? Ansonsten würde ich da mal nachfragen, denn das Teil soll ja korrektes JSON liefern. Für Notepad++ gibt es ein Plugin, das mault und zeigt gar nichts an (es sei denn, man entfernt die eckige Klammer)
-
Ich glaube dass sas Gerät ein Falsches JSON liefert wenn ich auf dem Gerät mit die JSON Daten anzeigen lasse kommt das raus
da sind wieder 4 Werte Doppelt.Code:{"modultyp":"wiffi-wz","vars":[{"name":"0","homematic_name":"wz_ip","desc":"ip des wiffi-wz","type":"string","unit":"","value":"192.168.178.74"}, {"name":"1","homematic_name":"wz_co2","desc":"Luftqualitaet","type":"number","unit":"%","value":90}, {"name":"2","homematic_name":"wz_temp","desc":"Temperatur","type":"number","unit":"gradC","value":25.4}, {"name":"3","homematic_name":"wz_feuchte","desc":"Luftfeuchte","type":"number","unit":"%","value":37.9}, {"name":"19","homematic_name":"wz_taupunkt","desc":"Taupunkt","type":"number","unit":"gradC","value":10.0}, {"name":"18","homematic_name":"wz_feuchte_abs","desc":"Absolutfeuchte","type":"number","unit":"g/m3","value":8.9}, {"name":"9","homematic_name":"wz_baro","desc":"Luftdruck","type":"number","unit":"mB","value":1028.14}, {"name":"5","homematic_name":"wz_luftdrucktrend","desc":"Luftdrucktrend","type":"string","unit":"","value":"fallend"}, {"name":"8","homematic_name":"wz_lux","desc":"Helligkeit","type":"number","unit":"lux","value":7.13}, {"name":"10","homematic_name":"wz_elevation","desc":"Sonne-Elevation","type":"number","unit":"grad","value":-9.1}, {"name":"11","homematic_name":"wz_azimut","desc":"Sonne-Azimut","type":"number","unit":"grad","value":252.4}, {"name":"12","homematic_name":"wz_buzzer","desc":"Buzzer","type":"boolean","unit":"","value":false}, {"name":"21","homematic_name":"wz_relais","desc":"Relais","type":"boolean","unit":"","value":false}], {"name":"10","homematic_name":"wz_elevation","desc":"Sonne-Elevation","type":"number","unit":"grad","value":-9.1}, {"name":"11","homematic_name":"wz_azimut","desc":"Sonne-Azimut","type":"number","unit":"grad","value":252.4}, {"name":"12","homematic_name":"wz_buzzer","desc":"Buzzer","type":"boolean","unit":"","value":false}, {"name":"21","homematic_name":"wz_relais","desc":"Relais","type":"boolean","unit":"","value":false}], "Systeminfo":{"MAC-Adresse":"81:7b:f8:34:fe:18","ip_Homematic_CCU":"192.168.178.73","WLAN_ssid":"T-Virus", "WLAN_Signal_dBm":-53,"millis_seit_reset":83876326,"wiffizeit":" 3 18:13","firmware":"wiffi_wz_91"}}
Einen Kommentar schreiben:
-
-
Ja ich möchte alle Werte auslesen aber was ist den ein http-Cache wie mache ich das. Ich versuch heute Abend das umzusetzen.
Einen Kommentar schreiben:
-
Ach so... Falls Du mehrere (alle?) Werte aus dem JSON auslesen möchtest, bietet es sich an, ein http Cache dafür einzurichten. Das heißt, der Cache wird in regelmäßigen Abständen aktualisiert, die Items werden jeweils aus dem Cache gefüllt. So gibt es dann weniger Anfragen an das Gerät, trotzdem stehen alle werte in separaten Items zur Verfügung.
Einen Kommentar schreiben:
-
Also, der String für die Abfrage sähe so aus:
Aber das funktioniert nur, wenn ein gültiges JSON geliefert wird.Code:String Wohnzimmersensor_Data "Wohnzimmersensor Data" {http="<[http://192.168.178.74/?json:60000:JSONPATH($.vars[2].value)]"}
Hier mal die von Dir geposteten Daten als JSON formatiert:
Der rote Teil muss weg, damit ein gültiges JSON entsteht, der orange Teil ist doppelt (die letzten vier Werte), vielleicht ist im Code ein Bug, der für diese Wiederholung sorgt - und damit für ein ungültiges JSON.Code:Alter Inhalt des Items: { "modultyp": "wiffi-wz", "vars": [{ "name": "0", "homematic_name": "wz_ip", "desc": "ip des wiffi-wz", "type": "string", "unit": "", "value": "192.168.178.74" }, { "name": "1", "homematic_name": "wz_co2", "desc": "Luftqualitaet", "type": "number", "unit": "%", "value": 76 }, { "name": "2", "homematic_name": "wz_temp", "desc": "Temperatur", "type": "number", "unit": "gradC", "value": 22.7 }, { "name": "3", "homematic_name": "wz_feuchte", "desc": "Luftfeuchte", "type": "number", "unit": "%", "value": 45.5 }, { "name": "19", "homematic_name": "wz_taupunkt", "desc": "Taupunkt", "type": "number", "unit": "gradC", "value": 10.3 }, { "name": "18", "homematic_name": "wz_feuchte_abs", "desc": "Absolutfeuchte", "type": "number", "unit": "g/m3", "value": 9.2 }, { "name": "9", "homematic_name": "wz_baro", "desc": "Luftdruck", "type": "number", "unit": "mB", "value": 1037.07 }, { "name": "5", "homematic_name": "wz_luftdrucktrend", "desc": "Luftdrucktrend", "type": "string", "unit": "", "value": "steigend" }, { "name": "8", "homematic_name": "wz_lux", "desc": "Helligkeit", "type": "number", "unit": "lux", "value": 0.00 }, { "name": "10", "homematic_name": "wz_elevation", "desc": "Sonne-Elevation", "type": "number", "unit": "grad", "value": -22.4 }, { "name": "11", "homematic_name": "wz_azimut", "desc": "Sonne-Azimut", "type": "number", "unit": "grad", "value": 267.6 }, { "name": "12", "homematic_name": "wz_buzzer", "desc": "Buzzer", "type": "boolean", "unit": "", "value": false }, { "name": "21", "homematic_name": "wz_relais", "desc": "Relais", "type": "boolean", "unit": "", "value": false }[COLOR=#FF0000]][/COLOR][COLOR=#FF8C00], { "name": "10", "homematic_name": "wz_elevation", "desc": "Sonne-Elevation", "type": "number", "unit": "grad", "value": -22.4 }, { "name": "11", "homematic_name": "wz_azimut", "desc": "Sonne-Azimut", "type": "number", "unit": "grad", "value": 267.6 }, { "name": "12", "homematic_name": "wz_buzzer", "desc": "Buzzer", "type": "boolean", "unit": "", "value": false }, { "name": "21", "homematic_name": "wz_relais", "desc": "Relais", "type": "boolean", "unit": "", "value": false }[/COLOR]], "Systeminfo": { "MAC-Adresse": "81:7b:f8:34:fe:18", "ip_Homematic_CCU": "192.168.178.73", "WLAN_ssid": "T-Virus", "WLAN_Signal_dBm": -57, "millis_seit_reset": 26033346, "wiffizeit": " 1 19:36", "firmware": "wiffi_wz_91" } } Neuer Inhalt des Items: { "modultyp": "wiffi-wz", "vars": [{ "name": "0", "homematic_name": "wz_ip", "desc": "ip des wiffi-wz", "type": "string", "unit": "", "value": "192.168.178.74" }, { "name": "1", "homematic_name": "wz_co2", "desc": "Luftqualitaet", "type": "number", "unit": "%", "value": 76 }, { "name": "2", "homematic_name": "wz_temp", "desc": "Temperatur", "type": "number", "unit": "gradC", "value": 22.7 }, { "name": "3", "homematic_name": "wz_feuchte", "desc": "Luftfeuchte", "type": "number", "unit": "%", "value": 47.7 }, { "name": "19", "homematic_name": "wz_taupunkt", "desc": "Taupunkt", "type": "number", "unit": "gradC", "value": 11.0 }, { "name": "18", "homematic_name": "wz_feuchte_abs", "desc": "Absolutfeuchte", "type": "number", "unit": "g/m3", "value": 9.6 }, { "name": "9", "homematic_name": "wz_baro", "desc": "Luftdruck", "type": "number", "unit": "mB", "value": 1037.10 }, { "name": "5", "homematic_name": "wz_luftdrucktrend", "desc": "Luftdrucktrend", "type": "string", "unit": "", "value": "stabil" }, { "name": "8", "homematic_name": "wz_lux", "desc": "Helligkeit", "type": "number", "unit": "lux", "value": 0.00 }, { "name": "10", "homematic_name": "wz_elevation", "desc": "Sonne-Elevation", "type": "number", "unit": "grad", "value": -22.6 }, { "name": "11", "homematic_name": "wz_azimut", "desc": "Sonne-Azimut", "type": "number", "unit": "grad", "value": 267.8 }, { "name": "12", "homematic_name": "wz_buzzer", "desc": "Buzzer", "type": "boolean", "unit": "", "value": false }, { "name": "21", "homematic_name": "wz_relais", "desc": "Relais", "type": "boolean", "unit": "", "value": false }[COLOR=#FF0000]][/COLOR][COLOR=#FF8C00], { "name": "10", "homematic_name": "wz_elevation", "desc": "Sonne-Elevation", "type": "number", "unit": "grad", "value": -22.6 }, { "name": "11", "homematic_name": "wz_azimut", "desc": "Sonne-Azimut", "type": "number", "unit": "grad", "value": 267.8 }, { "name": "12", "homematic_name": "wz_buzzer", "desc": "Buzzer", "type": "boolean", "unit": "", "value": false }, { "name": "21", "homematic_name": "wz_relais", "desc": "Relais", "type": "boolean", "unit": "", "value": false }[/COLOR]], "Systeminfo": { "MAC-Adresse": "81:7b:f8:34:fe:18", "ip_Homematic_CCU": "192.168.178.73", "WLAN_ssid": "T-Virus", "WLAN_Signal_dBm": -60, "millis_seit_reset": 26094792, "wiffizeit": " 1 19:37", "firmware": "wiffi_wz_91" } }
Einen Kommentar schreiben:
-
Ich Blick damit ganz ehrlich überhaupt nicht durch obwohl ich versuche die Doku zu übersetzten und zu lesen.
Einen Kommentar schreiben:
-
Statt REGEX schreibst Du halt JSONPATH und in die Klammern kommt der JSON-Ausdruck. Hast Du mal wegen des Fehlers in der Datei geschaut? die kommt ja im Zweifel aus dem Sensor.
Einen Kommentar schreiben:
-
Ich bin gerade am Versuchen direkt in ein Item zu schreiben muss aber erst verstehen was ich da schreiben muss.
Einen Kommentar schreiben:
-
Gibt es einen Grund, warum Du die Daten über eine Rule lädst, statt sie direkt in ein Item zu schreiben?
Nach dem Log ist der json String syntaktisch inkorrekt (eine schließende eckige Klammer ] mittendrin zu viel).
Einen Kommentar schreiben:
-
JSON Dateien in ein Item schreiben
Hallo,
ich habe ein Sensor zusammengelötet der Json Daten bereitstellt diese möchte ich in ein item Schreiben und es auf der Sitemap darstellen. Ich habe ein Item erstellt dieses holt von dem Gerät die Daten ab im Logfile sehe ich das...
das ItemCode:2018-01-28 19:37:10.744 [vent.ItemStateChangedEvent] - Wohnzimmersensor_Data changed from {"modultyp":"wiffi-wz","vars":[{"name":"0","homematic_name":"wz_ip","desc":"ip des wiffi-wz","type":"string","unit":"","value":"192.168.178.74"},{"name":"1","homematic_name":"wz_co2","desc":"Luftqualitaet","type":"number","unit":"%","value":76},{"name":"2","homematic_name":"wz_temp","desc":"Temperatur","type":"number","unit":"gradC","value":22.7},{"name":"3","homematic_name":"wz_feuchte","desc":"Luftfeuchte","type":"number","unit":"%","value":45.5},{"name":"19","homematic_name":"wz_taupunkt","desc":"Taupunkt","type":"number","unit":"gradC","value":10.3},{"name":"18","homematic_name":"wz_feuchte_abs","desc":"Absolutfeuchte","type":"number","unit":"g/m3","value":9.2},{"name":"9","homematic_name":"wz_baro","desc":"Luftdruck","type":"number","unit":"mB","value":1037.07},{"name":"5","homematic_name":"wz_luftdrucktrend","desc":"Luftdrucktrend","type":"string","unit":"","value":"steigend"},{"name":"8","homematic_name":"wz_lux","desc":"Helligkeit","type":"number","unit":"lux","value":0.00},{"name":"10","homematic_name":"wz_elevation","desc":"Sonne-Elevation","type":"number","unit":"grad","value":-22.4},{"name":"11","homematic_name":"wz_azimut","desc":"Sonne-Azimut","type":"number","unit":"grad","value":267.6},{"name":"12","homematic_name":"wz_buzzer","desc":"Buzzer","type":"boolean","unit":"","value":false},{"name":"21","homematic_name":"wz_relais","desc":"Relais","type":"boolean","unit":"","value":false}],{"name":"10","homematic_name":"wz_elevation","desc":"Sonne-Elevation","type":"number","unit":"grad","value":-22.4},{"name":"11","homematic_name":"wz_azimut","desc":"Sonne-Azimut","type":"number","unit":"grad","value":267.6},{"name":"12","homematic_name":"wz_buzzer","desc":"Buzzer","type":"boolean","unit":"","value":false},{"name":"21","homematic_name":"wz_relais","desc":"Relais","type":"boolean","unit":"","value":false}],"Systeminfo":{"MAC-Adresse":"81:7b:f8:34:fe:18","ip_Homematic_CCU":"192.168.178.73","WLAN_ssid":"T-Virus","WLAN_Signal_dBm":-57,"millis_seit_reset":26033346,"wiffizeit":" 1 19:36","firmware":"wiffi_wz_91"}} to {"modultyp":"wiffi-wz","vars":[{"name":"0","homematic_name":"wz_ip","desc":"ip des wiffi-wz","type":"string","unit":"","value":"192.168.178.74"},{"name":"1","homematic_name":"wz_co2","desc":"Luftqualitaet","type":"number","unit":"%","value":76},{"name":"2","homematic_name":"wz_temp","desc":"Temperatur","type":"number","unit":"gradC","value":22.7},{"name":"3","homematic_name":"wz_feuchte","desc":"Luftfeuchte","type":"number","unit":"%","value":47.7},{"name":"19","homematic_name":"wz_taupunkt","desc":"Taupunkt","type":"number","unit":"gradC","value":11.0},{"name":"18","homematic_name":"wz_feuchte_abs","desc":"Absolutfeuchte","type":"number","unit":"g/m3","value":9.6},{"name":"9","homematic_name":"wz_baro","desc":"Luftdruck","type":"number","unit":"mB","value":1037.10},{"name":"5","homematic_name":"wz_luftdrucktrend","desc":"Luftdrucktrend","type":"string","unit":"","value":"stabil"},{"name":"8","homematic_name":"wz_lux","desc":"Helligkeit","type":"number","unit":"lux","value":0.00},{"name":"10","homematic_name":"wz_elevation","desc":"Sonne-Elevation","type":"number","unit":"grad","value":-22.6},{"name":"11","homematic_name":"wz_azimut","desc":"Sonne-Azimut","type":"number","unit":"grad","value":267.8},{"name":"12","homematic_name":"wz_buzzer","desc":"Buzzer","type":"boolean","unit":"","value":false},{"name":"21","homematic_name":"wz_relais","desc":"Relais","type":"boolean","unit":"","value":false}],{"name":"10","homematic_name":"wz_elevation","desc":"Sonne-Elevation","type":"number","unit":"grad","value":-22.6},{"name":"11","homematic_name":"wz_azimut","desc":"Sonne-Azimut","type":"number","unit":"grad","value":267.8},{"name":"12","homematic_name":"wz_buzzer","desc":"Buzzer","type":"boolean","unit":"","value":false},{"name":"21","homematic_name":"wz_relais","desc":"Relais","type":"boolean","unit":"","value":false}],"Systeminfo":{"MAC-Adresse":"81:7b:f8:34:fe:18","ip_Homematic_CCU":"192.168.178.73","WLAN_ssid":"T-Virus","WLAN_Signal_dBm":-60,"millis_seit_reset":26094792,"wiffizeit":" 1 19:37","firmware":"wiffi_wz_91"}}aber alle Versuche es in ein Item zu bekommen scheitern ich habe es mit einer Rule versucht.Code:String Wohnzimmersensor_Data "Wohnzimmersensor Data" {http="<[http://192.168.178.74/?json:60000:REGEX((.*))]"}
Diese Rule soll mit die Wohnzimmer Temperatur in ein Item schreiben. Funktioniert nicht kann mir jemand dieses Json erklären ich versteh es noch nicht was ein Jsonpath ist.Code:rule "Wohnzimmersensor Itemupdate" when Time cron "0 0/1 * * * ?" then var String data = Wohnzimmersensor_Data.state.toString var String value = transform ("JSONPATH", "$.vars[2].value", data) postUpdate (Wz_temp, value) end
Gruss MichaelStichworte: -

Einen Kommentar schreiben: