NEWS
Werte zerlegen Viessman adapter
-
Kann dir leider nicht wirklich helfen, aber
https://github.com/ioBroker/ioBroker.parser
und
https://regex101.com/
müssten in die Richtung gehen. -
Hallo,
Ich bräuchte mal Eure Hilfe. Mein Viessmann Adapter gibt unter Objekte folgende Zeichenkette aus.
[4,11,13,12,11,12,13,12]
jede einzelne Zahl würde ich gerne separieren zum weiterverwerten.
Wie stelle ich das am besten an? -
den Parser habe ich schon ausprobiert und die Seite https://regex101.com/ kenne ich auch. Einige Werte konnte ich durch \d[0-9] extrahieren. komischwerweise fällt dabei der erste Wert herunter. Was mache ich da falsch?
-
Hallo,
Ich bräuchte mal Eure Hilfe. Mein Viessmann Adapter gibt unter Objekte folgende Zeichenkette aus.
[4,11,13,12,11,12,13,12]
jede einzelne Zahl würde ich gerne separieren zum weiterverwerten.
Wie stelle ich das am besten an?@karstent sagte in Werte zerlegen:
[4,11,13,12,11,12,13,12]
Es ist ein Array mit 8 Elementen. Zugriff auf die Elemente erfogt über den Index (0...7).
var arr = [4,11,13,12,11,12,13,12]; log(arr[0]); // 4Falls es kein Array, sondern ein JSON ist, muss man das Array aus dem JSON erzeugen.
var arr = JSON.parse(json); -
Mit dem Parser habe ich warscheinlich was falsch verstanden. Unter Url/Datei kann ich warscheinlich keine Datei aus den Objekten hinterlegen. Oder?
-
Hallo!
Ich als Anfänger versuche auch schon länger die Zeichenkette aus dem Viessmann Adapter aufzulösen und die Zahlen einzeln in Datenpunkte zu schreiben.
Wäre ein Profi so nett und würde mit bitte mit einem Beispielscript auf die Sprünge helfen?
Vielen Dank!! -
Hallo!
Ich als Anfänger versuche auch schon länger die Zeichenkette aus dem Viessmann Adapter aufzulösen und die Zahlen einzeln in Datenpunkte zu schreiben.
Wäre ein Profi so nett und würde mit bitte mit einem Beispielscript auf die Sprünge helfen?
Vielen Dank!! -
@mb53612 sagte:
die Zeichenkette aus dem Viessmann Adapter aufzulösen
Mit dieser "umfangreichen" Information musst Du wohl warten, bis jemand, der den Viessmann-Adapter kennt und anwendet, auf die Frage antwortet.
@paul53
Sorry!

Hier mein screenshot aus dem Adapter Viessmannapi.
Die als "Wert" gelieferten Daten (8 Zahlen in "day") möchte ich einzeln in Vis verwenden. Es handelt sich um den Gasverbrauch heute, gestern, vorgestern usw.
Für mich scheint es sinnvoll, die Werte zu trennen und in einzelne Datenpunkte zu schreiben.
Ich hoffe ich habe schon etwas mehr mitgeteilt. Wie gesagt bin ich hier blutiger Anfänger und wende mich erstmals an das Forum.
Auf jeden Fall: vielen Dank! -
@paul53
Sorry!

Hier mein screenshot aus dem Adapter Viessmannapi.
Die als "Wert" gelieferten Daten (8 Zahlen in "day") möchte ich einzeln in Vis verwenden. Es handelt sich um den Gasverbrauch heute, gestern, vorgestern usw.
Für mich scheint es sinnvoll, die Werte zu trennen und in einzelne Datenpunkte zu schreiben.
Ich hoffe ich habe schon etwas mehr mitgeteilt. Wie gesagt bin ich hier blutiger Anfänger und wende mich erstmals an das Forum.
Auf jeden Fall: vielen Dank!// IDs anpassen ! const idDay = 'viessmann.0.xyz.heating.day'; const idTage = 'Viessmann.Heizung.Tag-' var arr = getState(idDay).val; if(typeof arr == 'string') arr = JSON.parse(arr); for(let i = 0; i < arr.length; i++) { createState(idTage + i, arr[i], {type: 'number', unit: 'm³'}); } on(idDay, function(dp) { // triggert bei Wertänderung arr = dp.state.val; if(typeof arr == 'string') arr = JSON.parse(arr); for(let i = 0; i < arr.length; i++) { setState(idTage + i, arr[i], true); } });EDIT: Zeile 5 korrigiert
-
// IDs anpassen ! const idDay = 'viessmann.0.xyz.heating.day'; const idTage = 'Viessmann.Heizung.Tag-' var arr = getState(idDay).val; if(typeof arr == 'string') arr = JSON.parse(arr); for(let i = 0; i < arr.length; i++) { createState(idTage + i, arr[i], {type: 'number', unit: 'm³'}); } on(idDay, function(dp) { // triggert bei Wertänderung arr = dp.state.val; if(typeof arr == 'string') arr = JSON.parse(arr); for(let i = 0; i < arr.length; i++) { setState(idTage + i, arr[i], true); } });EDIT: Zeile 5 korrigiert
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden