NEWS
ETA Kessel auslesen über Etamon und Script [gelöst]
-
Hallöchen und frohe Ostern,
kann mir jemand weiter helfen?
Ich bekomme keine Werte über das Script, sondern nur irgendwann ein Timeout, irgendetwas fehlt noch.
Mit dieser Zeile komme ich auf den Kessel drauf und sehe alle "var" Funktionen
IP-ETA:8080/user/menu
Aber mit dem Script schreibt er keine Werte
var http = require('http'); var xpath = require('xpath'); var dom = require('xmldom').DOMParser; var etaIP = 'http://IP-ETA:8080/user/var'; // 1. URI // 2. iobroker Object // 3. read // 4. write // 5. name // 6. type // 7. unit // 8. role // 9. CCU variable (optional) var etaVars = [ ["/120/10251/0/0/12242", "Eta.Puffer.oben", true, false, "Puffer oben", "number", "°C", "value.temperature", ""] ,["/120/10251/0/0/12244", "Eta.Puffer.unten", true, false, "Puffer unten", "number", "°C", "value.temperature", ""] ,["/120/10251/0/0/12533", "Eta.Puffer.geforderte-Leistung", true, false, "geforderte Leistung", "number", "KW", "state", ""] ,["/120/10251/0/0/12245", "Eta.Puffer.unten-Solar", true, false, "Puffer unten Solar", "number", "°C", "value.temperature", ""] ,["/120/10251/0/0/12197", "Eta.Aussen.Aussentemperatur", true, false, "Aussentemperatur", "number", "°C", "value.temperature", ""] ,["/120/10251/0/0/13026", "Eta.Puffer.Extra-laden", true, false, "Puffer Extra laden", "string", "", "state", ""] ,["/120/10251/0/0/12129", "Eta.Puffer.Status", true, false, "Puffer Status", "string", "", "state", ""] ,["/120/10251/0/0/12271", "Eta.Puffer.WW-Temperatur-oben", true, false, "WW Temperatur oben", "string", "", "state", ""] ,["/120/10101/0/11125/2002", "Eta.Heizkreis.Mischer-Status", true, false, "Heizkreis Mischer Status", "string", "", "state", ""] ,["/120/10101/0/11125/2120", "Eta.Heizkreis.Mischer-Temperatur-Soll", true, false, "Heizkreis Mischer Temperatur Soll", "string", "°C", "value.temperature", ""] ,["/120/10101/0/11125/2121", "Eta.Heizkreis.Mischer-Temperatur-Ist", true, false, "Heizkreis Mischer Temperatur Ist", "string", "°C", "value.temperature", ""] ,["/120/10101/0/11125/2127", "Eta.Heizkreis.Mischer-Position", true, false, "Heizkreis Mischer Position", "string", "", "state", ""] ,["/120/10101/0/11125/2002", "Eta.Heizkreis.Mischer-Status", true, false, "Heizkreis Mischer Status", "string", "", "state", ""] ,["/120/10101/0/11124/0", "Eta.Heizkreis.Pumpe-Status", true, false, "Heizkreis Pumpe Status", "string", "", "state", ""] ,["/120/10101/0/11124/2001", "Eta.Heizkreis.Pumpe-Anforderung", true, false, "Heizkreis Pumpe Anforderung", "string", "", "state", ""] ,["/120/10101/12113/0/1109", "Eta.Heizkreis.Schaltzustand", true, false, "Heizkreis Schaltzustand", "string", "", "state", ""] ,["/120/10101/0/0/12241", "Eta.Heizkreis.Vorlauf", true, false, "Heizkreis Vorlauf", "number", "°C", "value.temperature", ""] ,["/120/10101/0/0/13100", "Eta.Heizlast.Heizlast", true, false, "Heizlast", "number", "KW", "state", ""] ,["/120/10101/0/0/13099", "Eta.Heizlast.Nennheizlast", true, false, "Nennheizlast", "number", "KW", "state", ""] ,["/120/10101/0/0/12080", "Eta.Kessel.Ein-Aus-Taste", true, false, "Kessel Zustand", "string", "", "state", ""] ,["/120/10221/0/11142/2002", "Eta.Solar.Kollektorpumpe-Status", true, false, "Solar Kollektorpumpe Status", "string", "", "state", ""] ,["/120/10221/0/0/12275", "Eta.Solar.Kollektor-Temperatur", true, false, "Solar Kollektor Temperatur", "number", "°C", "value.temperature", ""] ,["/120/10221/0/0/12187", "Eta.Solar.Kollektor-Temperatur-Min", true, false, "Solar Kollektor Temperatur Min", "number", "°C", "value.temperature", ""] ,["/120/10221/0/0/12188", "Eta.Solar.Kollektor-Temperatur-Max", true, false, "Solar Kollektor Temperatur Max", "number", "°C", "value.temperature", ""] ,["/40/10021/0/11031/0", "Eta.Kessel.Wassermangel", true, false, "Kessel Wassermangel", "string", "", "state", ""] ,["/40/10021/0/11033/0", "Eta.Kessel.STB", true, false, "Kessel STB", "string", "", "state", ""] ,["/40/10021/0/11034/0", "Eta.Kessel.Aschebox", true, false, "Kessel Aschebox", "string", "", "state", ""] ,["/40/10021/0/0/12251", "Eta.Kessel.Rost-geschlossen", true, false, "Kessel Rost geschlossen", "string", "", "state", ""] ,["/40/10021/0/11037/0", "Eta.Kessel.Pelletsbehälter", true, false, "Kessel Pelletsbehälter", "string", "", "state", ""] ,["/40/10021/0/11109/0", "Eta.Kessel.Temperatur", true, false, "Kessel Temperatur", "number", "°C", "value.temperature", ""] ,["/40/10021/0/0/12161", "Eta.Kessel.Temperatur-Ist", true, false, "Kessel Temperatur Ist", "number", "°C", "value.temperature", ""] ,["/40/10021/0/0/12001", "Eta.Kessel.Temperatur-Soll", true, false, "Kessel Temperatur Soll", "number", "°C", "value.temperature", ""] ,["/40/10021/0/11160/0", "Eta.Kessel.Temperatur-Ruecklauf", true, false, "Kessel Temperatur Ruecklauf", "number", "°C", "value.temperature", ""] ,["/40/10021/0/11058/0", "Eta.Kessel.Vorlauf", true, false, "Kessel Temperatur Vorlauf", "number", "°C", "value.temperature", ""] ,["/40/10021/0/0/12162", "Eta.Kessel.Temperatur-Abgas", true, false, "Kessel Temperatur Abgas", "number", "°C", "value.temperature", ""] ,["/40/10021/0/0/19402", "Eta.Kessel.Status", true, false, "Kessel Status", "string", "", "state", ""] ,["/40/10021/0/0/12180", "Eta.Kessel.Kesseldruck", true, false, "Kesseldruck", "number", "Bar", "state", ""] ,["/40/10021/0/11135/2400", "Eta.Kessel.Notbetrieb", true, false, "Kessel Notbetrieb", "string", "", "state", ""] ,["/40/10021/0/0/12077", "Eta.Kessel.angeforderte-Leistung", true, false, "Kessel angeforderte Leistung", "number", "KW", "state", ""] ,["/40/10021/0/0/12006", "Eta.Kessel.angeforderte-Temperatur", true, false, "Kessel angeforderte Temperatur", "number", "°C", "state", ""] ,["/40/10021/0/0/12165", "Eta.Kessel.Abgasgebläse", true, false, "Kessel Abgasgeblaese", "number", "", "state", ""] ,["/40/10021/0/0/12164", "Eta.Kessel.Restsauerstoff", true, false, "Kessel Restsauerstoff", "number", "%", "state", ""] ,["/40/10021/12004/0/0", "Eta.Kessel.O2-Soll", true, false, "Kessel O2 Soll", "number", "%", "state", ""] ,["/40/10021/0/11030/2002", "Eta.Ausgaenge.Stockerschnecke-Status", true, false, "Ausgaenge Stockerschnecke Status", "string", "", "state", ""] ,["/40/10021/0/11048/2002", "Eta.Ausgaenge.Entaschung+Rost-Status", true, false, "Ausgaenge Entaschung+Rost Status", "string", "", "state", ""] ,["/40/10021/0/11041/0", "Eta.Ausgaenge.Zuendung-Status", true, false, "Ausgaenge Zuendung Status", "string", "", "state", ""] ,["/40/10021/0/11042/0", "Eta.Ausgaenge.Saugturbine-Status", true, false, "Ausgaenge Saugturbine Status", "string", "", "state", ""] ,["/40/10021/0/11120/2002", "Eta.Ausgaenge.Abgasgeblaese-Status", true, false, "Ausgaenge Abgasgeblaese Status", "string", "", "state", ""] ,["/40/10021/0/11120/2110", "Eta.Ausgaenge.Abgasgeblaese-Drehzahl-Ist", true, false, "Ausgaenge Abgasgeblaese Drehzahl Ist", "number", "U/min", "state", ""] ,["/40/10021/0/11120/2111", "Eta.Ausgaenge.Abgasgeblaese-Drehzahl-Soll", true, false, "Ausgaenge Abgasgeblaese Drehzahl Soll", "number", "U/min", "state", ""] ,["/40/10021/0/11123/2002", "Eta.Ausgaenge.Kesselpumpe-Status", true, false, "Ausgaenge Kesselpumpe Status", "string", "", "state", ""] ,["/40/10021/0/11163/2120", "Eta.Ausgaenge.Ruecklaufmischer-Temp-Soll", true, false, "Ausgaenge Ruecklaufmischer Temp Soll", "number", "°C", "value.temperature", ""] ,["/40/10021/0/11163/2002", "Eta.Ausgaenge.Ruecklaufmischer-Status", true, false, "Ausgaenge Ruecklaufmischer Status", "string", "", "state", ""] ,["/40/10021/0/11163/2121", "Eta.Ausgaenge.Ruecklaufmischer-Temp-Ist", true, false, "Ausgaenge Ruecklaufmischer Temp Ist", "number", "°C", "value.temperature", ""] ,["/40/10021/0/11163/2127", "Eta.Ausgaenge.Ruecklaufmischer-Position", true, false, "Ausgaenge Ruecklaufmischer Position", "number", "%", "state", ""] ,["/40/10021/0/0/12153", "Eta.Zaehlerstaende.Volllaststunden", true, false, "Volllaststunden", "string", "", "state", ""] ,["/40/10021/0/0/12299", "Eta.Zaehlerstaende.Abgasgeblaese-Laufzeit", true, false, "Abgasgeblaese-Laufzeit", "string", "", "state", ""] ,["/40/10021/0/0/12016", "Eta.Zaehlerstaende.Gesamtverbrauch", true, false, "Gesamtverbrauch", "number", "Kg", "state", ""] ,["/40/10021/0/0/12014", "Eta.Zaehlerstaende.Verbrauch-seit-Wartung", true, false, "Verbrauch seit Wartung", "number", "Kg", "state", ""] ,["/40/10021/0/0/12012", "Eta.Zaehlerstaende.Verbrauch-seit-Entaschung", true, false, "Verbrauch seit Entaschung", "number", "Kg", "state", ""] ,["/40/10021/0/0/12013", "Eta.Zaehlerstaende.Verbrauch-Aschebox-leeren", true, false, "Verbrauch seit Aschebox leeren", "number", "Kg", "state", ""] ,["/40/10021/0/0/12017", "Eta.Zaehlerstaende.Heizbetriebe-Zaehler", true, false, "Heizbetriebe Zaehler", "number", "", "state", ""] ,["/40/10021/0/0/12018", "Eta.Zaehlerstaende.Zuendungen-Zaehler", true, false, "Zuendungen Zaehler", "number", "", "state", ""] ,["/40/10021/0/0/12156", "Eta.Zaehlerstaende.Zuendung-Laufzeit", true, false, "Zuendung Laufzeit", "string", "", "state", ""] ,["/40/10021/0/0/13346", "Eta.Zaehlerstaende.Dauer-der-letzten-Zuendung",true, false, "Dauer der letzten Zuendung", "string", "", "state", ""] ,["/40/10021/0/0/12154", "Eta.Zaehlerstaende.Stocker-Laufzeit", true, false, "Stocker Laufzeit", "string", "", "state", ""] ,["/40/10021/0/0/12155", "Eta.Zaehlerstaende.Entaschung-Laufzeit", true, false, "Entaschung Laufzeit", "string", "", "state", ""] ,["/40/10021/0/0/12157", "Eta.Zaehlerstaende.Saugturbine-Laufzeit", true, false, "Saugturbine Laufzeit", "string", "", "state", ""] ,["/40/10201/0/0/12015", "Eta.Lager.Pelletbunker", true, false, "Lager Pelletbunker", "number", "kg", "state", ""] ,["/40/10201/0/11029/2002", "Eta.Lager.Maulwurf-Status", true, false, "Lager Maulwurf-Status", "state", "", "state", ""] ,["/40/10021/0/0/12011", "Eta.Zaehlerstaende.Tagesbehaelter", true, false, "Tagesbehaelter", "number", "Kg", "state", ""] ,["/40/10241/0/0/14263", "Eta.Meldungen.Alle-Stoermeldungen", true, false, "Alle Stoermeldungen", "string", "", "state", ""] ,["/40/10241/0/0/14260", "Eta.Meldungen.Externe-Stoermeldungen", true, false, "Externe Stoermeldungen", "string", "", "state", ""] ]; etaVars.forEach(function(etaVar){ createState(etaVar[1], 0, { read: etaVar[2], write: etaVar[3], name: etaVar[4], type: etaVar[5], unit: etaVar[6], role: etaVar[7] }); }); schedule("*/2 * * * *", function () { pollETA(); }); pollETA(); function pollETA() { // console.log("** Polling ETA Variables"); etaVars.forEach(function(etaVar){ http.get(etaIP + etaVar[0], function (http_res) { // initialize the container for our data var data = ""; // this event fires many times, each time collecting another piece of the response http_res.on("data", function (chunk) { // append this chunk to our growing `data` var data += chunk; // console.log("** ETA chunk: " + chunk); }); // this event fires *one* time, after all the `data` events/chunks have been gathered http_res.on("end", function () { // console.log("** ETA data: " + data); try { var doc = new dom().parseFromString(data); var select = xpath.useNamespaces({"eta": "http://www.eta.co.at/rest/v1"}); var strValue = (select('//eta:value/@strValue', doc)[0].nodeValue); var text = (select('//eta:value/text()', doc)[0].nodeValue); var scaleFactor = (select('//eta:value/@scaleFactor', doc)[0].nodeValue); var unit = (select('//eta:value/@unit', doc)[0].nodeValue); var value = ""; if (etaVar[5]=="number") { value = text * 1.0 / scaleFactor; } else { value = strValue; } /* console.log("**** ETA " + etaVar[0] + " @strValue: " + strValue); console.log("**** ETA " + etaVar[0] + " @unit: " + unit); console.log("**** ETA " + etaVar[0] + " text() : " + text); console.log("**** ETA " + etaVar[0] + " @scaleFactor: " + scaleFactor); console.log("** ETA [" + etaVar[4] + "]: " + value + " " + unit); */ setState(etaVar[1], value); // Schreibe Variablen zu CCU if(etaVar[8]!="") { setState(etaVar[8], value); } } catch (e) { log("ETA: Cannot set data "+ etaVar[2] +":" + e, 'error'); } }); }); }); //var dateFormat = require('dateformat'); //var currentdate = new Date(); //log(dateFormat(currentdate, "dd. mmm yyyy hh:MM")); // optional last update in CCU3 //setState("hm-rega.0.7022", dateFormat(currentdate, "dd. mmm yyyy hh:MM")); }
mit der Befehlszeile:
http://IP-ETA:8080/user/var
kommt diese Fehlermeldung:
<eta version="1.0"> <error>Illegal resource identifier</error> </eta>
-
@idefix01
probier mal sowas wie http://IP-ETA:8080/user/var/120/10251/0/0/12242nur mit user/var passt die Meldung der Anlage