Hallo,
ich möchte gerne meinen Pelletkessel von OekoFEN mit JsonMod auslesen. Leider kommt eine Fehlermeldung
invalid server response
hier ein List vom Device
Internals:
API_LAST_MSG invalid server response
API_LAST_RES 1703179772.12165
CFGFN
DEF http://192.168.xxx.xxx:4321/<Key>/all
FUUID 658475a6-f33f-20b7-cd66-4865e41ff4126820
NAME ZeroFlame
NEXT 2023-12-21 18:30:00
NR 196
SOURCE http://192.168.xxx.xxx:4321/<Key>/all (200)
STATE ???
SVN 27933 2023-09-04 13:29:42 UTC
TYPE JsonMod
eventCount 2
.attreocr:
.*
CONFIG:
IN_REQUEST 0
SOURCE http://192.168.xxx.xxx:4321/<Key>/all
SECRET:
Attributes:
DbLogExclude .*
event-on-change-reading .*
httpTimeout 5
interval */1 * * * *
readingList complete()
room KG->Technikraum
Ich kann auch sagen warum es nicht funktioniert. Im Aufruf sind in zwei Bereichen Umlaute die verhindern das es funktioniert. Im Bereich "weather1" das "ü" und "ww1" das "ß".
Hier der Aufruf über einen Browser
{
"system":{
"L_ambient":58,
"L_errors":0,
"L_usb_stick":0,
"L_existing_boiler":0
},
"weather":{
"L_temp":60,
"L_clouds":40,
"L_forecast_temp":50,
"L_forecast_clouds":89,
"L_forecast_today":0,
"L_starttime":920,
"L_endtime":1440,
"L_source":"https://www.openweathermap.org",
"L_location":"Barsbüttel|DE|6552265",
"cloud_limit":55,
"hysteresys":-40,
"offtemp":-100,
"lead":120,
"refresh":0,
"oekomode":1
},
"forecast":{
"L_w_0":"Do, 21 Dez 17:14|6|40|33 km/h|03n|802|C|08:33|16:00",
"L_w_1":"Do, 21 Dez 19:00|6|53|40 km/h|10n|500|C",
"L_w_2":"Do, 21 Dez 22:00|5|59|43 km/h|13n|600|C",
"L_w_3":"Fr, 22 Dez 01:00|3|68|40 km/h|13n|600|C",
"L_w_4":"Fr, 22 Dez 04:00|3|92|37 km/h|13n|600|C",
"L_w_5":"Fr, 22 Dez 07:00|3|79|39 km/h|04n|803|C",
"L_w_6":"Fr, 22 Dez 10:00|3|87|37 km/h|13d|600|C",
"L_w_7":"Fr, 22 Dez 13:00|5|89|33 km/h|13d|600|C",
"L_w_8":"Fr, 22 Dez 16:00|3|92|28 km/h|10n|500|C",
"L_w_9":"Fr, 22 Dez 19:00|4|96|30 km/h|10n|500|C",
"L_w_10":"Fr, 22 Dez 22:00|4|99|34 km/h|13n|600|C",
"L_w_11":"Sa, 23 Dez 01:00|3|79|32 km/h|04n|803|C",
"L_w_12":"Sa, 23 Dez 04:00|3|100|25 km/h|04n|804|C",
"L_w_13":"Sa, 23 Dez 07:00|2|100|15 km/h|13n|600|C",
"L_w_14":"Sa, 23 Dez 10:00|1|100|4 km/h|13d|601|C",
"L_w_15":"Sa, 23 Dez 13:00|2|100|6 km/h|13d|601|C",
"L_w_16":"Sa, 23 Dez 16:00|3|100|9 km/h|04n|804|C",
"L_w_17":"Sa, 23 Dez 19:00|3|100|5 km/h|10n|500|C",
"L_w_18":"Sa, 23 Dez 22:00|3|100|5 km/h|10n|500|C",
"L_w_19":"So, 24 Dez 01:00|4|100|6 km/h|10n|501|C",
"L_w_20":"So, 24 Dez 04:00|8|100|26 km/h|10n|501|C",
"L_w_21":"So, 24 Dez 07:00|8|100|25 km/h|10n|500|C",
"L_w_22":"So, 24 Dez 10:00|9|100|23 km/h|10d|500|C",
"L_w_23":"So, 24 Dez 13:00|10|100|24 km/h|10d|500|C",
"L_w_24":"So, 24 Dez 16:00|10|100|25 km/h|10n|500|C"
},
"power":{
"L_usage":644,
"L_pv_total":0,
"L_pv_1":0,
"L_pv_2":0,
"L_from_grid":857,
"L_to_grid":0,
"L_p1":323,
"L_p2":362,
"L_p3":172,
"L_batt_in":213,
"L_batt_out":0,
"L_batt_chg":76,
"L_batt_enabled":1,
"L_pwr_out_per":0,
"L_pwr_out":0,
"L_power2car":0,
"L_today_total":-919000,
"L_today_in":14435000,
"L_today_out":15354000,
"L_powermeter_sensor":"Variable does not exist",
"L_state":2,
"L_total":-919000,
"L_yesterday":-919000,
"L_total_tyristor":16617487,
"L_yesterday_tyristor":300,
"L_total_car":0,
"L_yesterday_car":0,
"L_total_pv":0,
"L_yesterday_pv":0,
"L_today_batt_in":1831,
"L_today_batt_out":0,
"L_yesterday_batt_in":8850,
"L_yesterday_batt_out":9009,
"L_output_mode":1,
"L_range":3000,
"L_offset":250,
"L_total_in":14435000,
"L_total_out":15354000,
"L_yesterday_in":14435000,
"L_yesterday_out":15354000,
"offtemp":675
},
"hk1":{
"L_roomtemp_act":0,
"L_roomtemp_set":210,
"L_flowtemp_act":356,
"L_flowtemp_set":351,
"L_comfort":0,
"L_state":32,
"L_statetext":"Heizbetrieb aktiv",
"L_pump":1,
"remote_override":0,
"mode_auto":1,
"time_prg":0,
"temp_setback":180,
"temp_heat":210,
"temp_vacation":150,
"name":"FBH",
"oekomode":3
},
"hk2":{
"L_roomtemp_act":0,
"L_roomtemp_set":210,
"L_flowtemp_act":443,
"L_flowtemp_set":392,
"L_comfort":0,
"L_state":32,
"L_statetext":"Heizbetrieb aktiv",
"L_pump":1,
"remote_override":0,
"mode_auto":1,
"time_prg":0,
"temp_setback":170,
"temp_heat":210,
"temp_vacation":150,
"name":"HK",
"oekomode":3
},
"pu1":{
"L_tpo_act":483,
"L_tpo_set":442,
"L_tpm_act":402,
"L_tpm_set":442,
"L_pump_release":80,
"L_pump":0,
"L_state":512,
"L_statetext":"Anforderung Aus",
"mintemp_off":80,
"mintemp_on":80,
"ext_mintemp_off":80,
"ext_mintemp_on":80
},
"ww1":{
"L_temp_set":430,
"L_ontemp_act":504,
"L_offtemp_act":483,
"L_pump":0,
"L_state":8200,
"L_statetext":"Zeit außerhalb Zeitprogramm|Anforderung Aus",
"time_prg":0,
"sensor_on":0,
"sensor_off":1,
"mode_auto":1,
"mode_dhw":1,
"heat_once":0,
"temp_min_set":480,
"temp_max_set":550,
"name":"Warmwasser",
"smartstart":0,
"use_boiler_heat":0,
"oekomode":0
},
"sk1":{
"L_koll_temp":154,
"L_spu":373,
"L_pump":0,
"L_state":32,
"L_statetext":"Differenz Kollektor-Speicher zu niedrig",
"mode":1,
"cooling":0,
"spu_max":800,
"name":"Kaminofen"
},
"circ1":{
"L_pummp":0,
"L_ret_temp":258,
"L_release_temp":504,
"time_prg":0,
"mode":1,
"pump_release":320,
"return_set":380,
"name":"Zirkulation"
},
"pe1":{
"L_temp_act":407,
"L_temp_set":80,
"L_ext_temp":-32768,
"L_frt_temp_act":436,
"L_frt_temp_set":80,
"L_frt_temp_end":80,
"L_br":0,
"L_ak":0,
"L_not":1,
"L_stb":1,
"L_modulation":0,
"L_runtimeburner":0,
"L_resttimeburner":0,
"L_currentairflow":0,
"L_lowpressure":570,
"L_lowpressure_set":710,
"L_fluegas":0,
"L_uw_speed":0,
"L_state":99,
"L_statetext":"Aus",
"L_type":6,
"L_starts":1565,
"L_runtime":1348,
"L_avg_runtime":51,
"L_uw_release":433,
"L_uw":0,
"L_storage_fill":3241,
"L_storage_min":1000,
"L_storage_max":4800,
"L_storage_popper":8,
"storage_fill_today":23,
"storage_fill_yesterday":29,
"mode":1
},
"error":{
}
}
Kann man das irgendwie korregieren?
Danke für die Hilfe
VG Thomas
Das Thema ist schon einmal behandelt worden (mWn ohne Lösung für JsonMod)...
https://forum.fhem.de/index.php?topic=124070.0
https://forum.fhem.de/index.php?topic=126385.0
https://forum.fhem.de/index.php?topic=106830.0
https://forum.fhem.de/index.php?topic=126308.0
2 davon hatte ich auch gefunden, ich dachte das es wohlmöglich eine Lösung gibt denn ich weiss das es im ioBroker einen Adapter für OekoFEN gibt der auch die Abfrage über Json macht aber die Umlaute verarbeitet und darstellt. Deshalb kam nochmal die Frage. Der Umweg über HTTPMOD ist mir zu umständlich.
Es gibt inzwischen ein Lösung auch für JsonMod.
Du kannst den Aufruf der url in eine shell-skript mit wget oder curl ausführen, darin die Umlaute ersetzen und den output des shell-skripts als input für JsonMod angeben.
Schau mal in die commandref, da ist das beschrieben.
Zitat von: betateilchen am 22 Dezember 2023, 11:55:45Es gibt inzwischen ein Lösung auch für JsonMod.
Du kannst den Aufruf der url in eine shell-skript mit wget oder curl ausführen, darin die Umlaute ersetzen und den output des shell-skripts als input für JsonMod angeben.
Schau mal in die commandref, da ist das beschrieben.
Beispiel
Das habe ich mir angeschaut aber verstehe nur Bahnhof. Würdest Du mir das an einem verständlichen Beispiel zeigen?
Würde ich gerne, aber ich bin in Urlaub und Codebeispiele auf dem Handy tippen macht keinen Spaß.
Das kann ich nachvollziehen, ich wünsche weiterhin schönen Urlaub und vielleicht klappt es ja nach deinem Urlaub
VG