<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Eta Heizung auslesen und Vis [gelöst]]]></title><description><![CDATA[<p dir="auto">Ich versuche vergeblich das Widget und SQL, welches für Eta von jemandem veröffentlicht wurde, zu importieren.<br />
Kann mir jemand dabei bitte helfen?</p>
]]></description><link>https://forum.iobroker.net/topic/31590/eta-heizung-auslesen-und-vis-gelöst</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Apr 2026 13:07:18 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/31590.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 26 Mar 2020 21:10:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eta Heizung auslesen und Vis [gelöst] on Sun, 12 Apr 2020 18:31:49 GMT]]></title><description><![CDATA[<p dir="auto">Hallöchen, ich habe mein Etamon Skript überarbeitet, da einiges nicht zutreffend war bzw. auch nicht vorhanden war.</p>
<p dir="auto">Nun habe ich aber etliche Warnungen im Log, sind alles die gleichen Meldungen.<br />
Kann mir jemand weiter helfen dabei, würde die Warnungen gern noch weg bekommen, damit das Log-File nicht so voll wird!</p>
<p dir="auto">Hier das abgeänderte Skript:</p>
<pre><code>var http = require('http');
var xpath = require('xpath');
var dom = require('xmldom').DOMParser;

var etaIP = 'http://192.168.178.62: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/12207",		"eta.puffer.aktion",			true, false, "Puffer Aktion",					"string",	"",			""]
	,["/120/10251/0/0/12533",		"eta.puffer.leistung",			true, false, "Puffer Leistung",					"number",	"KW",		""]
	,["/120/10251/0/0/12129",		"eta.puffer.zustand",			true, false, "Puffer Zustand",					"string",	"",			""]
	
	//,["/120/10101/0/0/12090",		"eta.hk.1.zustand",				true, false, "Heizkreis Zustand",				"string",	"",			""]
	,["/120/10101/0/0/12241",		"eta.hk.1.vorlauf",				true, false, "Heizkreis Vorlauf",				"number",	"°C",		"value.temperature"]
    ,["/120/10101/0/0/12111",		"eta.hk.1.heizkurve",			true, false, "Heizkreis Heizkurve",				"number",	"°C",		"value.temperature"]
	,["/120/10101/0/11124/0",		"eta.hk.1.pumpe",				true, false, "Heizkreis Pumpe",					"string",	"",			""]
	,["/120/10101/0/11124/2001",	"eta.hk.1.anforderung",			true, false, "Heizkreis Anforderung",			"string",	"",			""]
	
	//,["/40/10021/0/0/12000",		"eta.kessel.aktion",			true, false, "Kessel",      					"string",	"",			""]
	,["/40/10021/0/0/12153",		"eta.kessel.vollast",			true, false, "Kessel Vollaststunden",			"string",	"",		    ""]
	,["/40/10021/0/0/12016",		"eta.kessel.verbrauch",			true, false, "Kessel Gesmtverbrauch",			"number",	"kg",		""]
	,["/40/10021/0/0/12013",		"eta.kessel.aschebox",			true, false, "Kessel Verbrauch seit Aschebox",	"number",	"kg",		""]
	,["/40/10021/0/0/12180",		"eta.kessel.druck",				true, false, "Kessel Druck",					"number",	"bar",		""]
	,["/40/10021/0/0/12001",		"eta.kessel.soll",				true, false, "Kessel Soll",						"number",	"°C",		""]
	,["/40/10021/0/0/12161",		"eta.kessel.ist",				true, false, "Kessel Ist",						"number",	"°C",		""]
	,["/40/10021/0/0/12162",		"eta.kessel.abgasgtemp",		true, false, "Kessel Abgastemperatur",			"number",	"°C",	    ""]
	,["/40/10021/0/0/12165",		"eta.kessel.abgasgeblaese",		true, false, "Kessel Abgasgebläse",				"number",	"U/min",	""]
	,["/40/10021/0/0/12164",		"eta.kessel.restsauerstoff",	true, false, "Kessel Restsauerstoff",			"number",	"%",		""]
	,["/40/10021/0/0/12080",		"eta.kessel.zustand",			true, false, "Kessel Zustand",					"string",	"",			""]
	
	,["/40/10201/0/0/12015",		"eta.lager.silo",				true, false, "Pellets Silo",					"number",	"kg",		""]
	,["/40/10021/0/0/12011",		"eta.lager.tag",				true, false, "Pellets Tagesbehälter",			"number",	"kg",		""]
	,["/40/10241/0/0/12197",		"eta.system.aussentemperatur",	true, false, "Aussentemperatur",				"number",	"°C",		""]
];

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("*/5 * * * *", 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"));
</code></pre>
<p dir="auto">Und hier die Meldungen:</p>
<pre><code>20:27:30.935	info	javascript.0 (2266) Start javascript script.js.Wohnzimmer.Etamon
20:27:30.951	info	javascript.0 (2266) script.js.Wohnzimmer.Etamon: registered 0 subscriptions and 1 schedule
20:27:31.001	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.007	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.014	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.018	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.025	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.029	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.036	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.040	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.046	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.051	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.059	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.063	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.073	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.077	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.081	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.091	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.095	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.100	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.106	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.110	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:27:31.975	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.059	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.066	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.071	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.076	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.082	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.086	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.092	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.101	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.107	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.112	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.116	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.125	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.130	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.134	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.139	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.143	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.152	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.158	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.166	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:00.171	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
20:30:01.028	warn	javascript.0 (2266) at IncomingMessage.&lt;anonymous&gt; (script.js.Wohnzimmer.Etamon:108:10)
</code></pre>
]]></description><link>https://forum.iobroker.net/post/410758</link><guid isPermaLink="true">https://forum.iobroker.net/post/410758</guid><dc:creator><![CDATA[Idefix01]]></dc:creator><pubDate>Sun, 12 Apr 2020 18:31:49 GMT</pubDate></item><item><title><![CDATA[Reply to Eta Heizung auslesen und Vis [gelöst] on Fri, 27 Mar 2020 19:49:37 GMT]]></title><description><![CDATA[<p dir="auto">Und so sieht das Widget aus:<br />
<img src="/assets/uploads/files/1585338559051-020bd4d2-250e-4c2d-938b-8c3c6ebdc98d-image.png" alt="020bd4d2-250e-4c2d-938b-8c3c6ebdc98d-image.png" class=" img-fluid img-markdown" /></p>
<pre><code>[{"tpl":"tplVis-materialdesign-Chart-Line-History","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"dataCount":"2","aggregate":"average","timeIntervalToShow":"14 days","refreshMethod":"realtime","refreshTimeInterval":"1 hour","pointStyle":"circle","showLegend":"true","legendPosition":"bottom","legendPointStyle":"true","showTooltip":true,"tooltipTimeFormats":"{\"millisecond\":\"lll:ss\",\"second\":\"lll:ss\",\"minute\":\"lll\",\"hour\":\"lll\",\"day\":\"lll\",\"week\":\"lll\",\"month\":\"lll\",\"quarter\":\"lll\",\"year\":\"lll\"}","tooltipShowColorBox":"true","lineSpanGaps0":true,"lineSpanGaps1":true,"xAxisPosition":"bottom","xAxisBounds":"dataSet","xAxisTimeFormats":"{\"minute\":\"HH:mm [Uhr\\\\n] DD.MM[.]\",\"hour\":\"H:00 [Uhr\\\\n] DD.MM[.]\"}","xAxisValueDistanceToAxis":"0","xAxisShowAxis":"true","xAxisShowAxisLabels":"true","xAxisShowGridLines":"true","xAxisShowTicks":"true","yAxisValueDistanceToAxis":"4","showYAxis0":"true","yAxisPosition0":"left","yAxisShowGridLines0":"true","yAxisShowTicks0":"true","yAxisShowAxisBorder0":"true","showYAxis1":"true","yAxisPosition1":"left","yAxisShowGridLines1":"true","yAxisShowTicks1":"true","yAxisShowAxisBorder1":"true","showValues0":false,"valuesPositionAnchor0":"end","valuesPositionAlign0":"top","valuesTextAlign0":"center","showValues1":false,"valuesPositionAnchor1":"end","valuesPositionAlign1":"top","valuesTextAlign1":"center","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid0":"parser.0.ETA_Aussentemperatur","oid1":"javascript.0.ETA_Vebrauch_letzer_Tag","historyAdapterInstance":"sql.0","maxDataPoints":"300","useFillColor0":true,"lineTension1":"0.2","valuesMaxDecimals0":"1","valuesFontSize0":"11","valuesMaxDecimals1":"1","valuesFontSize1":"11","minTimeInterval":"","commonYAxis0":"0","commonYAxis1":"1","colorScheme":"brewer.SetOne","pointSize":"0","legendFontColor":"#2a8992","legendFontSize":"13","lineTension0":"0.1","lineThikness0":"2","legendText0":"Aussentemp.   ","lineThikness1":"2","legendText1":"Pellets    ","valuesRotation0":"0","valuesAppendText0":" °C","valuesAppendText1":" kg","globalColor":"","tooltipBodyFontSize":"0","legendPadding":"-3","xAxisMaxLabel":"","yAxisValueAppendText1":" kg","yAxisValueAppendText0":" °C","yAxisMinValue0":"","yAxisTitleFontSize":"0","yAxisValueFontSize":"12","yAxisValueColor0":"#cd4242","yAxisValueColor1":"#2c5dba","lineSpanGaps2":"true","showYAxis2":"true","yAxisPosition2":"left","yAxisShowGridLines2":"true","yAxisShowTicks2":"true","yAxisShowAxisBorder2":"true","showValues2":false,"valuesPositionAnchor2":"end","valuesPositionAlign2":"top","valuesTextAlign2":"center","oid2":"javascript.0.ETA_Verbrauch_Daily_AVG_ALL","commonYAxis2":"1","legendText2":"Pellets Ø","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","class":"rotate270"},"style":{"left":"-144px","top":"202px","width":"700px","height":"350px"},"widgetSet":"materialdesign"}]
</code></pre>
]]></description><link>https://forum.iobroker.net/post/401339</link><guid isPermaLink="true">https://forum.iobroker.net/post/401339</guid><dc:creator><![CDATA[George_Best]]></dc:creator><pubDate>Fri, 27 Mar 2020 19:49:37 GMT</pubDate></item><item><title><![CDATA[Reply to Eta Heizung auslesen und Vis [gelöst] on Fri, 27 Mar 2020 19:45:58 GMT]]></title><description><![CDATA[<p dir="auto">Ich lese einen großteil der Werte mit dem Parser-Adapter aus. Der sieht bei mir so aus:<br />
<img src="/assets/uploads/files/1585338143217-613b0373-c380-4b73-b85a-720dea472875-image.png" alt="613b0373-c380-4b73-b85a-720dea472875-image.png" class=" img-fluid img-markdown" /><br />
(Beim Export sichert der Parser-Adapter leider nicht alle WErte)<br />
Die Datenpunkte speichere ich dann direkt in SQL.</p>
<p dir="auto">Andere Werte lese ich direkt mit einem Script aus, rechne sie um (Durchschnittsverbrauch etc.) und speichere die Datenpunkte ebenfalls in eine SQL Datenbank:</p>
<pre><code>var parseString = require('xml2js').parseString; //require =&gt; ruft modul auf; In diesem Fall "xml2js" http://www.flyacts.com/blog/nodejs-xml-daten-verarbeiten/
var request = require('request'); //ruft Modul request auf und erzeugt zugleich FUnktion request
var Test_Objekt_JS_2;

var IP_Adress = '192.168.178.13';
var ETA_GesamtVerbrauch = '/user/var//112/10021/0/0/12016';
var ETA_Aussentemp = '/user/var//112/10241/0/0/12197';


function ETA_Status_Aufruf(IP_Adress_A, Get_Status, global_var_ETA){	// erzeugt Funktion und ruft request siehe unten
	Gesamt_Get=(['http://',IP_Adress_A,':8080', Get_Status].join(''));
	console.log(Gesamt_Get);
	request(Gesamt_Get, function (error, response, body) { //ruft Funktion request auf und anonyme Funktion

	                parseString(body, function (err, result) {  //ruft Funktion parseString aus Modul xml2js und übergibt Ergebnis aus request-Funktion (=body); Funktion wandelt XML in JSON um
                       // log("XML Objekt: " + result);
                       // log(typeof(result));
              
                        xml = JSON.stringify(result); //das XML wird dann in einen STring umgewandelt
                       // log("XML Objekt: " + xml);
                        
                        // Jetzt wird der eigentlich Wert (z.B. 23135) aus dem XML extrahiert
                        var suchString = 'strValue":';
                        var TXT_laenge = suchString.length;  //Länge des Strings "strValue" (danach folgt der interessante Wert)
                       // log("TXT_laenge: " + TXT_laenge);
                        var TXT_begin = xml.indexOf('strValue":');
                       // log("TXT_begin: " +  TXT_begin);
                        var TXT_ende = xml.indexOf('","unit"');
                       // log("TXT_ende : " +  TXT_ende );
                        var TXT_zwischen = TXT_ende - TXT_begin - TXT_laenge;
                       // log("TXT_zwischen: " + TXT_zwischen);
                        
                        var erg = xml.substr(TXT_begin + 1 + TXT_laenge, TXT_zwischen-1); // jetzt wird der Wert extrahiert
                       // log(typeof(erg));

                        //setObject("javascript.0.ETA_Verbrauch_Daily_JS"/*ETA_Verbrauch_Daily_JS*/, erg);

                        
                        if (Get_Status == "/user/var//112/10021/0/0/12016"){
                            erg = parseInt(erg);
                            log(erg);
                           setState("javascript.0.ETA_Verbrauch_Daily_JS"/*ETA_Verbrauch_Daily_JS*/, erg); 
                        }
                        else if (Get_Status == "/user/var//112/10241/0/0/12197"){
                            erg = erg.replace( /,/,"." );
                            log(erg);
                            erg = parseFloat(erg);
                            log(erg);
                           setState("javascript.0.ETA_Aussentemp_Daily_JS"/*ETA_Aussentemp_Daily_JS*/, erg); 
                            
                        }
            
                    });
	
	});
}


// manueller Aufruf:
//ETA_Status_Aufruf(IP_Adress, ETA_GesamtVerbrauch);
//ETA_Status_Aufruf(IP_Adress, ETA_Aussentemp);
//ETA_Status_Aufruf(IP_Adress);

schedule("0 21 * * *", function () {
    ETA_Status_Aufruf(IP_Adress, ETA_GesamtVerbrauch);
    ETA_Status_Aufruf(IP_Adress, ETA_Aussentemp);
    log("ETA Verbrauch Abruf durchgeführt");
    
    // Wasserzähler auslesen
    setState("javascript.0.WaterCount_Daily"/*WaterCount_Daily*/, getState("mqtt.0.Wemos_WasserCounter.Get.WasserCounter_Count.Total").val, true);
});

//Hier werden die beiden letzte Datensätze aus der History des täglichen Verbrauchs gelesen und die Differenz errechnet                

schedule("0 22 * * *", function () {
sendTo('sql.0', 'query', 'SELECT  `id`, (from_unixtime((`ts` / 1000))) AS time, `val` FROM `ioBroker`.`ts_number` WHERE (`ioBroker`.`ts_number`.`id` = 15) ORDER BY (from_unixtime((`ts` / 1000))) DESC LIMIT 2', function (result) {
    if (result.error) {
            console.error(result.error);
            } else {
           // show result
           // console.log('Rows: ' + JSON.stringify(result.result));
           // console.log(result.result[0].time)
           // console.log(result.result[0].val)
           // console.log(result.result[1].time)
           // console.log(result.result[1].val)
            var Differenz = (result.result[0].val) - (result.result[1].val);
            console.log("Verbraucher letzter Tag: " + Differenz +" kg");
            setState("javascript.0.ETA_Vebrauch_letzer_Tag"/*ETA_Vebrauch_letzer_Tag*/, Differenz); 

    }
});

// Wasserverbrauch täglich erfassen
sendTo('sql.0', 'query', 'SELECT  `id`, (from_unixtime((`ts` / 1000))) AS time, `val` FROM `ioBroker`.`ts_number` WHERE (`ioBroker`.`ts_number`.`id` = 28) ORDER BY (from_unixtime((`ts` / 1000))) DESC LIMIT 2', function (result) {
    if (result.error) {
            console.error(result.error);
            } else {
            var Differenz = (result.result[0].val) - (result.result[1].val);
            console.log("Verbraucher letzter Tag: " + Differenz +" l");
          setState("javascript.0.WaterCount_Daily_DELTA"/*WaterCount_Daily_DELTA*/, Differenz); 
    }
});

// Pelletsverbrauch Durchschnitt ALL
sendTo('sql.0', 'query', 'SELECT  `id`, (from_unixtime((`ts` / 1000))) AS time, `val` FROM `ioBroker`.`ts_number` WHERE (`ioBroker`.`ts_number`.`id` = 18) ORDER BY (from_unixtime((`ts` / 1000))) /*DESC LIMIT 30*/', function (result) {
    if (result.error) {
        console.error(result.error);
    } else {
        //console.log(result.result.length); //Anzahl der Unterobjekte im Objekt result
        var i = 0;
        var sum_old = 0;
        var sum_new = 0;
        var avg = 0;
        for (i; i &lt; result.result.length; i++ ) {
         //  console.log(result.result[i].val) 
           sum_new = sum_old + sum_new;
           sum_old = (result.result[i].val);
        }
        avg = sum_new/(result.result.length);
        console.log("Summe: " + (sum_new/(result.result.length)));
        setState("javascript.0.ETA_Verbrauch_Daily_AVG_ALL", avg );
   }
});

// Pelletsverbrauch Durchschnitt 7 Tage
sendTo('sql.0', 'query', 'SELECT  `id`, (from_unixtime((`ts` / 1000))) AS time, `val` FROM `ioBroker`.`ts_number` WHERE (`ioBroker`.`ts_number`.`id` = 18) ORDER BY (from_unixtime((`ts` / 1000))) DESC LIMIT 7', function (result) {
    if (result.error) {
        console.error(result.error);
    } else {
        //console.log(result.result.length); //Anzahl der Unterobjekte im Objekt result
        var i = 0;
        var sum_old = 0;
        var sum_new = 0;
        for (i; i &lt; result.result.length; i++ ) {
         //  console.log(result.result[i].val) 
           sum_new = sum_old + sum_new;
           sum_old = (result.result[i].val);
        }
        avg = sum_new/(result.result.length);
        console.log("Summe: " + (sum_new/(result.result.length)));
        setState("javascript.0.ETA_Verbrauch_Daily_AVG_7", avg );
   }
});

// Wasserverbrauch Durchschnitt ALL
sendTo('sql.0', 'query', 'SELECT  `id`, (from_unixtime((`ts` / 1000))) AS time, `val` FROM `ioBroker`.`ts_number` WHERE (`ioBroker`.`ts_number`.`id` = 29) ORDER BY (from_unixtime((`ts` / 1000))) /*DESC LIMIT 30*/', function (result) {
    if (result.error) {
        console.error(result.error);
    } else {
        //console.log(result.result.length); //Anzahl der Unterobjekte im Objekt result
        var i = 0;
        var sum_old = 0;
        var sum_new = 0;
        var avg = 0;
        for (i; i &lt; result.result.length; i++ ) {
         //  console.log(result.result[i].val) 
           sum_new = sum_old + sum_new;
           sum_old = (result.result[i].val);
        }
        avg = sum_new/(result.result.length);
        console.log("Summe: " + (sum_new/(result.result.length)));
        setState("javascript.0.WaterCount_Daily_AVG_ALL", avg );
   }
});


});


/*sendTo('sql.0', 'query', 'SELECT  `id`, (from_unixtime((`ts` / 1000))) AS time, `val` FROM `ioBroker`.`ts_number` WHERE (`ioBroker`.`ts_number`.`id` = 28) ORDER BY (from_unixtime((`ts` / 1000))) DESC LIMIT 2', function (result) {
    if (result.error) {
            console.error(result.error);
            } else {
            var Differenz = (result.result[0].val) - (result.result[1].val);
            console.log(result.result[1].val);
            console.log("Verbraucher letzter Tag: " + Differenz +" l");
          setState("javascript.0.WaterCount_Daily_DELTA", Differenz); 
    }
});*/
</code></pre>
]]></description><link>https://forum.iobroker.net/post/401336</link><guid isPermaLink="true">https://forum.iobroker.net/post/401336</guid><dc:creator><![CDATA[George_Best]]></dc:creator><pubDate>Fri, 27 Mar 2020 19:45:58 GMT</pubDate></item></channel></rss>