Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Guntamatic Biostar Pelletheizung auslesen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Guntamatic Biostar Pelletheizung auslesen

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

      Moin,
      ich habe mich den Abend damit beschäftigt Daten aus meiner Holzpelletheizung zu extrahieren.
      Dieser Foren-Thread hat mir dabei ziemlich geholfen
      Die Daten werden mittels Shell script vom Kessel geholt, etwas bereinigt und dann in JS weiter verarbeitet.

      ACHTUNG: In dem Code wird noch kein einziger von vielen möglichen Fehlerfällen abgefangen. Das mache ich noch, dadurch wird es aber unübersichtlich. Also bekommt ihr hier die Quick&Dirty Lösung.
      Das funktioniert mit und ohne Key, ohne bekommt man weniger Daten... aber das st schon ein Anfang. Ich habe eine Biostar33, das sollte so aber auch für die anderen Modelle gehen.

      #!/bin/bash
      IP="192.168.178.68"
      KEY=""
      cd /home/iobroker/
      wget -O daqdesc.csv http://$IP/daqdesc.cgi?key=$KEY
      wget -O daqdata.csv http://$IP/daqdata.cgi?key=$KEY
      paste -d ';' daqdesc.csv daqdata.csv > guntamatic.csv
      sed -i '/reserved/d' guntamatic.csv
      sed -i '1s/.*$/Bezeichnung;Einheit;Wert\n&/g' file
      
      const csv = require('csv-parser');
      const fs = require('fs');
      const results = [];
      function WerteHolen(){
      
      exec('/home/iobroker/KindlyAskGuntamatic.sh');
      
      fs.createReadStream('/home/iobroker/guntamatic.csv')
        .pipe(csv({ separator: ';', columns: true}))
        .on('data', function(csvrow) {
              results.push(csvrow);        
          })
          .on('end',function() {
            console.log(results[1]);
            for (const element of results)
            {
              var idDP = "Guntamatic."+element["Bezeichnung"];
              createState(idDP, element["Wert"], false, {
              name: element["Bezeichnung"],
              desc: "",
              type: "string",
              role: "value",
              unit: element["Einheit"]
          });
          setState("Guntamatic."+element["Bezeichnung"],element["Wert"] );
          }
            
          });
      };
      	
      schedule("*/2 * * * *", function(){WerteHolen();
      });
      

      velleicht kann damit der ein oder andere ja was anfangen.
      Grüße von der Küste

      E 1 Reply Last reply Reply Quote 0
      • E
        Esmax666 @goerdy last edited by

        @goerdy
        Hi 🙂

        Das ist wirklich interessant

        Hast du deinen Code in der Zwischenzeit geändert? Oder hast du einen Adapter gefunden?
        Bist du mit deiner Heizung zufrieden? 🙂

        Danke!!!

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

        Support us

        ioBroker
        Community Adapters
        Donate

        805
        Online

        31.9k
        Users

        80.1k
        Topics

        1.3m
        Posts

        2
        2
        264
        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