<?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[ESERA 1 Wire Controller]]></title><description><![CDATA[<p dir="auto">Ich habe ein kleines Skript geschrieben um die Daten meines ESERA 1 Wire controlles in einem bestimmten Rythmus einzulesen.<br />
Derzeit realisiere ich damit meinen Gaszähler, meinen Stromzähler sowie 2 Wasserzähler .</p>
<p dir="auto">var schedule1;<br />
schedule1 = schedule('*/1 * * * *', async () =&gt; {  //Zeit in Minuten wie oft das Skript ausgeführt werden soll</p>
<p dir="auto">var net = require('net');<br />
var string_gesamt = "";  //Länge des eingelesenen Strings<br />
var client = new net.Socket();<br />
client.connect(5000, '192.168.x.x', function() {   //Socket Verbindung aufbauen<br />
console.log('Verbindung hergestellt ');<br />
});</p>
<p dir="auto">client.on('data', function(data) {<br />
string_gesamt = string_gesamt + data;  // eingelesenen Daten zusammenführen<br />
var string_laenge = string_gesamt.length;<br />
if(string_laenge &gt;= 130){      //mit 130 sind bei mir alle Zeichen eingelesen<br />
//Daten erfassen und abspeichern<br />
const Z_GAS = '1_OWD2_2';<br />
const Z_STROM = '1_OWD3_1';<br />
const Z_WASSER = '1_OWD3_2';<br />
const Z_BRAUCHWASSER = '1_OWD2_1';<br />
let position_gas = string_gesamt.search(Z_GAS);<br />
let s0zaehler_gas = string_gesamt.slice((position_gas+9), (position_gas+16));  //Länge der jeweiligen Zeichenfolge festlegen (Hier 7 stelliger Zählerstand )<br />
console.log("S0 Zählerstand Gas: " + s0zaehler_gas);<br />
let position_strom = string_gesamt.search(Z_STROM);<br />
let s0zaehler_strom = string_gesamt.slice((position_strom+9), (position_strom+17));<br />
console.log("S0 Zählerstand Strom: " + s0zaehler_strom);<br />
let position_wasser = string_gesamt.search(Z_WASSER);<br />
let s0zaehler_wasser = string_gesamt.slice((position_wasser+9), (position_wasser+15));<br />
console.log("S0 Zählerstand Wasser: " + s0zaehler_wasser);<br />
let position_brauchwasser = string_gesamt.search(Z_BRAUCHWASSER);<br />
let s0zaehler_brauchwasser = string_gesamt.slice((position_brauchwasser+9), (position_brauchwasser+14));<br />
console.log("S0 Zählerstand Brauchwasser: " + s0zaehler_brauchwasser);<br />
console.log(string_gesamt);<br />
string_gesamt = 0;  //String länge wieder auf 0 setzen</p>
<pre><code>    console.log("Länge des eingelesenen Strings: " + string_laenge);
    client.destroy(); // kill client after server's response
}
</code></pre>
<p dir="auto">});</p>
<p dir="auto">client.on('close', function() {<br />
console.log('Connection closed');<br />
});<br />
})</p>
]]></description><link>https://forum.iobroker.net/topic/81270/esera-1-wire-controller</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 00:47:32 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/81270.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Jun 2025 12:58:25 GMT</pubDate><ttl>60</ttl></channel></rss>