Hallo zusammen,
jetzt brauche ich leider doch euer Hilfe bei folgendem Problem:
Von meiner Heizung bekomme ich über ein Community Projekt (p4d -> Horchi) die Daten über MQTT nach IoBroker geliefert.
Leider ist wohl irgendwo etwas falsch(?) konfiguriert, da die Werte zwar richtig angelegt werden aber im Feld "Wert" folgendes angelegt wird {"value": 61.5}. Das "value" erscheint leider in allen Feldern.
Jetzt dachte ich mir, ich schicke mir die komplette JSON über MQTT und Parse hier einfach die Werte richtig. Leider ist das relativ neu für mich und ich komme nicht weiter.
Folgende Daten habe ich:
{"Heizung": {"Kesseltemperatur_0x0": {"value": 58.0}, "Status": {"value": "Heizen"}, "Abgastemperatur_0x1": {"value": 168.0}, "Betriebsmodus": {"value": "Automatik"}, "Boardtemperatur_0x2": {"value": 31.5}, "Uhrzeit": {"value": "Montag, 15. Feb. 2021 16:16:08"}, "Restsauerstoffgehalt_0x3": {"value": 9.1}, "Aussentemperatur_0x4": {"value": -0.5}, "Saugzugdrehzahl_0x7": {"value": 1954.0}, "Fuehler1_0x8": {"value": 79.0}, "LuftgeschwindigkeitinderAnsaugoeffnung_0xc": {"value": 1.41}, "Kesselstellgroesse_0x12": {"value": 100.0}, "Vorlauf-Isttemperatur_0x15": {"value": 56.0}, "Vorlauf-Solltemperatur_0x16": {"value": 53.0}, "Ansauglufttemperatur_0x60": {"value": 17.0}, "StromaufnahmederAustragschnecke_0x61": {"value": 0.01}, "FuellstandimPelletsbehaelter_0x71": {"value": 95.31}, "Einschub_0x74": {"value": 65.0}, "Sauerstoffregler_0x75": {"value": 65.0}, "Puffertemperaturoben_0x76": {"value": 52.5}, "PuffertemperaturMitte_0x77": {"value": 40.5}, "Puffertemperaturunten_0x78": {"value": 37.5}, "PufferpumpenAnsteuerung_0x8c": {"value": 52.0}, "Stromaufnahme24VDCPelletsmodul_0xa3": {"value": 0.274}, "BreitbandsondeHeizstrom_0xf3": {"value": 1.095}, "BreitbandsondeHeizungsSpannung_0xf4": {"value": 9.032}, "BreitbandsondeInnenwiderstand_0xf7": {"value": 299.0}, "Resetierbarerkg-Zaehler_0x111": {"value": 10.0}, "Resetierbarert-Zaehler_0x112": {"value": 4.0}}}
Nach einigen lesen hier im Forum hab ich mal testweise so angefangen aber leider komme ich damit schon nicht weiter:
var idJson = "mqtt.0.p4d2mqtt.sensor.P4.state"; // Datenpunkt-ID mit JSON-String
var test = "javascript.0.testp4"; // Test DB
function werteAuslesen(jsonStr) {
var myJson = JSON.parse(jsonStr);
var test = Heizung.Kesseltemperatur_0x0.value;
}
on({id:idJson,change:'ne'}, function (obj) {
werteAuslesen(obj.state.val);
});
Das funktioniert aber schon nicht, weil:
(2300) Error in callback: SyntaxError: Unexpected token in JSON at position 1366
Stimm hier evtl. die JSON schon nicht? 1366 ist ja eine } der "Heizung"?
Kann mir hier evtl. jmd. weiterhelfen?
Danke und Grüße,
Seeandfeel