Probleme JsonMod: Auslesen OekoFEN

Begonnen von Thomas0401, 21 Dezember 2023, 18:45:33

Vorheriges Thema - Nächstes Thema

Thomas0401

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

yersinia

viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Thomas0401

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.

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Thomas0401

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?

betateilchen

Würde ich gerne, aber ich bin in Urlaub und Codebeispiele auf dem Handy tippen macht keinen Spaß.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Thomas0401

Das kann ich nachvollziehen, ich wünsche weiterhin schönen Urlaub und vielleicht klappt es ja nach deinem Urlaub

VG