Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. ETA Kessel auslesen über Etamon und Script [gelöst]

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ETA Kessel auslesen über Etamon und Script [gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      Idefix01 last edited by Idefix01

      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>
      
      A 1 Reply Last reply Reply Quote 1
      • A
        amandus99 @Idefix01 last edited by

        @idefix01
        probier mal sowas wie http://IP-ETA:8080/user/var/120/10251/0/0/12242

        nur mit user/var passt die Meldung der Anlage 😉

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        855
        Online

        31.7k
        Users

        79.6k
        Topics

        1.3m
        Posts

        javascript
        2
        2
        707
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo