Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. ESERA 1 Wire Controller

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ESERA 1 Wire Controller

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

      Ich habe ein kleines Skript geschrieben um die Daten meines ESERA 1 Wire controlles in einem bestimmten Rythmus einzulesen.
      Derzeit realisiere ich damit meinen Gaszähler, meinen Stromzähler sowie 2 Wasserzähler .

      var schedule1;
      schedule1 = schedule('*/1 * * * *', async () => { //Zeit in Minuten wie oft das Skript ausgeführt werden soll

      var net = require('net');
      var string_gesamt = ""; //Länge des eingelesenen Strings
      var client = new net.Socket();
      client.connect(5000, '192.168.x.x', function() { //Socket Verbindung aufbauen
      console.log('Verbindung hergestellt ');
      });

      client.on('data', function(data) {
      string_gesamt = string_gesamt + data; // eingelesenen Daten zusammenführen
      var string_laenge = string_gesamt.length;
      if(string_laenge >= 130){ //mit 130 sind bei mir alle Zeichen eingelesen
      //Daten erfassen und abspeichern
      const Z_GAS = '1_OWD2_2';
      const Z_STROM = '1_OWD3_1';
      const Z_WASSER = '1_OWD3_2';
      const Z_BRAUCHWASSER = '1_OWD2_1';
      let position_gas = string_gesamt.search(Z_GAS);
      let s0zaehler_gas = string_gesamt.slice((position_gas+9), (position_gas+16)); //Länge der jeweiligen Zeichenfolge festlegen (Hier 7 stelliger Zählerstand )
      console.log("S0 Zählerstand Gas: " + s0zaehler_gas);
      let position_strom = string_gesamt.search(Z_STROM);
      let s0zaehler_strom = string_gesamt.slice((position_strom+9), (position_strom+17));
      console.log("S0 Zählerstand Strom: " + s0zaehler_strom);
      let position_wasser = string_gesamt.search(Z_WASSER);
      let s0zaehler_wasser = string_gesamt.slice((position_wasser+9), (position_wasser+15));
      console.log("S0 Zählerstand Wasser: " + s0zaehler_wasser);
      let position_brauchwasser = string_gesamt.search(Z_BRAUCHWASSER);
      let s0zaehler_brauchwasser = string_gesamt.slice((position_brauchwasser+9), (position_brauchwasser+14));
      console.log("S0 Zählerstand Brauchwasser: " + s0zaehler_brauchwasser);
      console.log(string_gesamt);
      string_gesamt = 0; //String länge wieder auf 0 setzen

          console.log("Länge des eingelesenen Strings: " + string_laenge);
          client.destroy(); // kill client after server's response
      }
      

      });

      client.on('close', function() {
      console.log('Connection closed');
      });
      })

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

      Support us

      ioBroker
      Community Adapters
      Donate

      959
      Online

      31.7k
      Users

      79.7k
      Topics

      1.3m
      Posts

      1
      1
      27
      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