Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Skript für Bluetooth-Heizkörperthermostat unter IoBroker

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    472

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Skript für Bluetooth-Heizkörperthermostat unter IoBroker

Scheduled Pinned Locked Moved Skripten / Logik
21 Posts 10 Posters 4.1k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Offline
    G Offline
    gato
    wrote on last edited by
    #1

    Hallo zusammen,

    ich habe auf meinem Raspberry pi ein Skript von Github (https://github.com/Heckie75/eQ-3-radiator-thermostat) installiert. Mittels Putty kann ich auch damit schon mein Bluetooth-Heizkörperthermostat mit Motor steuern. Unter Putty muss ich jetzt Befehle in folgender Form ausführen….

    pi@ioBroker-RasPi:~/eQ-3-radiator-thermostat $ ./eq3.exp <macadresse>temp 20.0

    Wie kann ich diese Befehle in ioBroker integrieren? Geht das mit Blockly oder was muss ich tun um Systembefehle auszuführen?

    Vielen Dank im voraus.

    Grüße</macadresse>

    1 Reply Last reply
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      wrote on last edited by
      #2

      Es gibt in blockly, und JavaScript, den exec Befehl womit man Commando auf der console ausführen kann.

      https://github.com/ioBroker/ioBroker.ja ... ---execute

      Sent from my iPhone using Tapatalk

      1 Reply Last reply
      0
      • G Offline
        G Offline
        gato
        wrote on last edited by
        #3

        Unter Instanzen habe ich nun zuerst "Erlaube das Kommando "exec"" aktiviert.

        Danach habe ich versucht den Befehl "./eQ-3-radiator-thermostat/eq3.exp <macadresse>temp 20.0" in dem Blocky einzubetten… und danach habe ich das Skript probeweise über den "Play-Button" gestartet....leider ohne Erfolg. Er schaltet nicht das Thermostat.

        Was meint ihr ist da noch falsch?

        Freue mich auf eure Antworten.</macadresse>
        8651_blocky.jpg

        1 Reply Last reply
        0
        • K Offline
          K Offline
          Karl_999
          wrote on last edited by
          #4

          @DennisK:

          Was meint ihr ist da noch falsch? `
          Glaskugel an:

          • Falsches Verzeichnis

          • Falsche / unpassende Benutzerrechte

          Was sagt das Logfile des Skripts?

          1 Reply Last reply
          0
          • DutchmanD Offline
            DutchmanD Offline
            Dutchman
            Developer Most Active Administrators
            wrote on last edited by
            #5

            Setze Mal den Haken bei mit Ergebnis und Dan darunter einen debug Block mit der Variable result

            Sent from my iPhone using Tapatalk

            1 Reply Last reply
            0
            • G Offline
              G Offline
              gato
              wrote on last edited by
              #6

              hier das Logfile aus ioBroker…

              In Putty (siehe Bild mit schwarzem Hintergrund) kann ich das Skript so ausführen und die Verbindung zum Thermostat funktioniert. Er gibt sogar die Rückmeldung, das er den Wert gesetzt hat.
              8651_debug.jpg
              8651_putty.jpg

              1 Reply Last reply
              0
              • K Offline
                K Offline
                Karl_999
                wrote on last edited by
                #7

                Ich sehe da noch immer keine Ausgabe des Aufrufs bzw. eine Erfolgsmeldung.

                Hänge doch bitte an den Aufruf noch ein

                 >>\tmp\script.log 
                

                an (mit Leerzeichen vor dem >>).

                Das schreibt die Ausgabe dann in die angegebene Datei (wenn die Berechtigungen passen).

                1 Reply Last reply
                0
                • G Offline
                  G Offline
                  gato
                  wrote on last edited by
                  #8

                  hinter welchen Aufruf soll das " >>\tmp\script.log" geschreiben werden?

                  ./eQ-3-radiator-thermostat/eq3.exp <macadresse>temp 20.0 >>\tmp\script.log</macadresse>

                  1 Reply Last reply
                  0
                  • G Offline
                    G Offline
                    gato
                    wrote on last edited by
                    #9

                    Hallo zusammen,

                    wie kann ich mit der Fehlersuche weitermachen?

                    @ Karl_999: hinter welchen Aufruf schreibe ich " >>\tmp\script.log" ?

                    Und wie kann ich dann dieses Logfile einsehen?

                    Vielen Dank für eure Hilfe.

                    1 Reply Last reply
                    0
                    • G Offline
                      G Offline
                      gato
                      wrote on last edited by
                      #10

                      Was ich zwischenzeitlich herausgefunden habe, ist dass es definitiv am Pfad bzw. an dem spez. Befehl liegt.

                      Meine Gegenprobe mit dem Befehl: wall "test" funktionierte mit dem gleichen Blockly Aufbau.

                      Weis jemand von euch wie ich den Pfad "./eQ-3-radiator-thermostat/eq3.exp <macadresse>temp 20.0" anpassen muss, damit er mit iobroker kompatibel ist?</macadresse>

                      1 Reply Last reply
                      0
                      • K Offline
                        K Offline
                        kr4mb3
                        wrote on last edited by kr4mb3
                        #11

                        @DennisK:

                        Weis jemand von euch wie ich den Pfad "./eQ-3-radiator-thermostat/eq3.exp <macadresse>temp 20.0" anpassen muss, damit er mit iobroker kompatibel ist?</macadresse> `

                        Ich habe mich die Tage auch mal mit dem Thermostat beschäftigt und mir basierend auf dem Code von Heckie75 ein Skript in ioBroker geschrieben, dass mir auch ein paar Datenpunkte erstellt. Sicherlich nicht der schönste Code, aber es funktioniert. Ich habe den Pfad zur eq3.exp-Datei absolut angegeben, damit ich den Code verwenden kann:

                        /*
                         script needs Heckie75/eQ-3-radiator-thermostat package.
                         see https://github.com/Heckie75/eQ-3-radiator-thermostat
                         thermostat must be paired via bluetooth 
                         exec command must be enabled in javascript adapter
                        */
                        
                        //Absolute Path to eQ-3-radiator-thermostat package and MAC of paired eQ3 thermostat
                        var eQ3 = "/home/pi/eQ-3-radiator-thermostat/eq3.exp";
                        var mac = "00:1A:22:0C:08:3E";
                        
                        //new iobroker states
                        createState('eQ3.control.boostOn', false, {type: "boolean", role: "button"});
                        createState('eQ3.control.boostOff', false, {type: "boolean", role: "button"});
                        createState('eQ3.control.boostSwitch', false, {type: "boolean", role: "switch"});
                        createState('eQ3.control.getStatus', false, {type: "boolean", role: "button"});
                        createState('eQ3.control.setMode', false, {max: 1, min: 0, states: {0:"auto",1:"manual"}});
                        createState('eQ3.control.setTemp');
                        createState('eQ3.control.setOffset');
                        createState('eQ3.control.command');
                        
                        createState('eQ3.status.Temperature');
                        createState('eQ3.status.Valve');
                        createState('eQ3.status.Mode');
                        createState('eQ3.status.VacationMode');
                        createState('eQ3.status.LowBattery');
                        createState('eQ3.status.OpenWindow');
                        createState('eQ3.status.Boost');
                        createState('eQ3.status.Locked');
                        createState('eQ3.status.OffsetTemp');
                        
                        createState('eQ3.device.MAC');
                        createState('eQ3.device.Name');
                        createState('eQ3.device.Vendor');
                        
                        createState('eQ3.timer.timerJSON');
                        
                        //Exec-Befehl
                        var eQ3exec = eQ3 + ' ' + mac + ' ';
                        
                        //Status
                        on({id: 'javascript.0.eQ3.control.getStatus', val: true}, function (obj) {
                            exec(eQ3exec + "status", function(err, stdout, stderr) {
                                 eQ3status(stdout);
                             });
                        });
                        
                        //Boost On
                        on({id: 'javascript.0.eQ3.control.boostOn', val: true}, function (obj) {
                             exec(eQ3exec + "boost", function(err, stdout, stderr) {
                                 eQ3status(stdout);
                             });
                        });
                        
                        //Boost Off
                        on({id: 'javascript.0.eQ3.control.boostOff', val: true}, function (obj) {
                             exec(eQ3exec + "boost off", function(err, stdout, stderr) {
                                 eQ3status(stdout);
                             });    
                        });
                        
                        //Boost Switch
                        on({id: 'javascript.0.eQ3.control.boostSwitch', change: "any"}, function (obj) {
                            var value = obj.state.val;
                            log (value);
                            if (value === true) {
                                exec(eQ3exec + "boost", function(err, stdout, stderr) {
                                    eQ3status(stdout);
                                    log ("Boost an");
                                });
                            }else if (value === false){
                                exec(eQ3exec + "boost off", function(err, stdout, stderr) {
                                    eQ3status(stdout);
                                    log ("Boost aus");
                                });
                            }
                        });
                        
                        //Set Temperature
                        on({id: 'javascript.0.eQ3.control.setTemp', change: "any"}, function (obj) {
                             var value = obj.state.val;
                             exec(eQ3exec + "temp " + value, function(err, stdout, stderr) {
                                 eQ3status(stdout);
                             });
                        });
                        
                        //Set Offset
                        on({id: 'javascript.0.eQ3.control.setOffset', change: "any"}, function (obj) {
                            var value = obj.state.val;
                            exec(eQ3exec + "offset " + value, function(err, stdout, stderr) {
                                 eQ3status(stdout);
                             });
                        });
                        
                        //Set Mode
                        on({id: 'javascript.0.eQ3.control.setMode', change: "any"}, function (obj) {
                             var value = obj.state.val;
                             if (value === 0) {
                                exec(eQ3exec + "auto", function(err, stdout, stderr) {
                                 eQ3status(stdout);
                             });
                             } else if (value === 1){
                                  exec(eQ3exec + "manual", function(err, stdout, stderr) {
                                 eQ3status(stdout);
                             });
                             }
                        });
                        
                        //Custom Command
                        on({id: 'javascript.0.eQ3.control.command', change: "any"}, function (obj) {
                          var value = obj.state.val;
                          exec(eQ3exec + value, function(err, stdout, stderr) {
                                 eQ3status(stdout);
                             });
                        });
                        
                        
                        
                        //Thermostat Status
                        function eQ3status(stdout) {
                            eQ3json();
                            
                                stdout = stdout.split("\n");
                                stdout.forEach(element => {
                            
                                    switch(element.split(":")[0]){
                                        /*
                                        case "Temperature":
                                            setState('eQ3.status.Temperature', element.split(":")[1].trim());
                                            break;
                                        case "Valve":
                                            setState('eQ3.status.Valve', element.split(":")[1].trim());
                                            break;
                                        */
                                        case "Mode":
                                            setState('eQ3.status.Mode', element.split(":")[1].trim());
                                            break;
                                        case "Vacation mode":
                                            setState('eQ3.status.VacationMode', element.split(":")[1].trim());
                                            break;
                                        case "Offset temperature":
                                            setState('eQ3.status.OffsetTemp', element.split(":")[1].trim());
                                            break;
                                        case "Device name":
                                            setState('eQ3.device.Name', element.split(":")[1].trim());
                                            break;
                                        case "Device vendor":
                                            setState('eQ3.device.Vendor', element.split(":")[1].trim());
                                            break;
                                        case "":
                                            break;
                                    }
                                });
                        }
                        
                        
                        //Thermostat Status JSON
                        function eQ3json(){
                            exec(eQ3exec + "json", function(err, stdout, stderr) {
                                obj = JSON.parse(stdout);
                                
                                //Status
                                setState('eQ3.status.LowBattery', obj.mode["low battery"]);
                                setState('eQ3.status.OpenWindow', obj.mode["open window"]);
                                setState('eQ3.status.Boost', obj.mode.boost);
                                setState('eQ3.status.Locked', obj.mode.locked);
                                setState('eQ3.status.Valve', obj.valve);
                                setState('eQ3.status.Temperature', obj.temperature);
                                
                                //Device
                                setState('eQ3.device.MAC', obj.mac);
                                
                                //Timer
                                setState('eQ3.timer.timerJSON', JSON.stringify(obj.timers));
                            });
                        }
                        
                        schedule('*/2 * * * *', function (obj) {
                            exec(eQ3exec + "status", function(err, stdout, stderr) {
                                 eQ3status(stdout);
                            });
                        });
                        

                        Noch habe ich nicht alle Funktionen des Skripts von Heckie75 umgesetzt, aber mehr brauch ich aktuell nicht. Die Basissteuerung und die Abfrage des Status (alle 2 Minuten) reicht mir bisher. Vielleicht hilft dir oder anderen das ja als Vorlage.

                        Greetz

                        kr4mb3

                        1 Reply Last reply
                        0
                        • MatzebhvM Offline
                          MatzebhvM Offline
                          Matzebhv
                          wrote on last edited by
                          #12

                          @DennisK:

                          Was ich zwischenzeitlich herausgefunden habe, ist dass es definitiv am Pfad bzw. an dem spez. Befehl liegt.

                          Meine Gegenprobe mit dem Befehl: wall "test" funktionierte mit dem gleichen Blockly Aufbau.

                          Weis jemand von euch wie ich den Pfad "./eQ-3-radiator-thermostat/eq3.exp <macadresse>temp 20.0" anpassen muss, damit er mit iobroker kompatibel ist?</macadresse> `

                          Laut deinem Screenshot liegt das Script im Homedir von root.

                          "/root/eQ-3-radiator-thermostat/eq3.exp <macadresse>temp 20.0"

                          Gruß

                          Matze</macadresse>

                          1 Reply Last reply
                          0
                          • O Offline
                            O Offline
                            oemer9119
                            wrote on last edited by
                            #13

                            @kr4mb3:

                            @DennisK:

                            Weis jemand von euch wie ich den Pfad "./eQ-3-radiator-thermostat/eq3.exp <macadresse>temp 20.0" anpassen muss, damit er mit iobroker kompatibel ist?</macadresse> `

                            Ich habe mich die Tage auch mal mit dem Thermostat beschäftigt und mir basierend auf dem Code von Heckie75 ein Skript in ioBroker geschrieben, dass mir auch ein paar Datenpunkte erstellt. Sicherlich nicht der schönste Code, aber es funktioniert. Ich habe den Pfad zur eq3.exp-Datei absolut angegeben, damit ich den Code verwenden kann:

                            ! ````
                            /*
                            script needs Heckie75/eQ-3-radiator-thermostat package.
                            see https://github.com/Heckie75/eQ-3-radiator-thermostat
                            thermostat must be paired via bluetooth
                            exec command must be enabled in javascript adapter
                            */
                            ! //Absolute Path to eQ-3-radiator-thermostat package and MAC of paired eQ3 thermostat
                            var eQ3 = "/home/pi/eQ-3-radiator-thermostat/eq3.exp";
                            var mac = "00:00:00:00:00:00";
                            ! //new iobroker states
                            createState('eQ3.control.boostOn', false, {type: "boolean", role: "button"});
                            createState('eQ3.control.boostOff', false, {type: "boolean", role: "button"});
                            createState('eQ3.control.getStatus', false, {type: "boolean", role: "button"});
                            createState('eQ3.control.setMode', false, {max: 1, min: 0, states: {0:"auto",1:"manual"}});
                            createState('eQ3.control.setTemp');
                            createState('eQ3.control.setOffset');
                            createState('eQ3.control.command');
                            ! createState('eQ3.status.Temperature');
                            createState('eQ3.status.Valve');
                            createState('eQ3.status.Mode');
                            createState('eQ3.status.VacationMode');
                            createState('eQ3.status.LowBattery');
                            createState('eQ3.status.OpenWindow');
                            createState('eQ3.status.Boost');
                            createState('eQ3.status.Locked');
                            createState('eQ3.status.OffsetTemp');
                            ! createState('eQ3.device.MAC');
                            createState('eQ3.device.Name');
                            createState('eQ3.device.Vendor');
                            ! createState('eQ3.timer.timerJSON');
                            ! //Exec-Befehl
                            var eQ3exec = eQ3 + ' ' + mac + ' ';
                            ! //Status
                            on({id: 'javascript.0.eQ3.control.getStatus', val: true}, function (obj) {
                            exec(eQ3exec + "status", function(err, stdout, stderr) {
                            eQ3status(stdout);
                            });
                            });
                            ! //Boost On
                            on({id: 'javascript.0.eQ3.control.boostOn', val: true}, function (obj) {
                            exec(eQ3exec + "boost", function(err, stdout, stderr) {
                            eQ3status(stdout);
                            });
                            });
                            ! //Boost Off
                            on({id: 'javascript.0.eQ3.control.boostOff', val: true}, function (obj) {
                            exec(eQ3exec + "boost off", function(err, stdout, stderr) {
                            eQ3status(stdout);
                            });
                            });
                            ! //Set Temperature
                            on({id: 'javascript.0.eQ3.control.setTemp', change: "any"}, function (obj) {
                            var value = obj.state.val;
                            exec(eQ3exec + "temp " + value, function(err, stdout, stderr) {
                            eQ3status(stdout);
                            });
                            });
                            ! //Set Offset
                            on({id: 'javascript.0.eQ3.control.setOffset', change: "any"}, function (obj) {
                            var value = obj.state.val;
                            exec(eQ3exec + "offset " + value, function(err, stdout, stderr) {
                            eQ3status(stdout);
                            });
                            });
                            ! //Set Mode
                            on({id: 'javascript.0.eQ3.control.setMode', change: "any"}, function (obj) {
                            var value = obj.state.val;
                            if (value === 0) {
                            exec(eQ3exec + "auto", function(err, stdout, stderr) {
                            eQ3status(stdout);
                            });
                            } else if (value === 1){
                            exec(eQ3exec + "manual", function(err, stdout, stderr) {
                            eQ3status(stdout);
                            });
                            }
                            });
                            ! //Custom Command
                            on({id: 'javascript.0.eQ3.control.command', change: "any"}, function (obj) {
                            var value = obj.state.val;
                            exec(eQ3exec + value, function(err, stdout, stderr) {
                            eQ3status(stdout);
                            });
                            });
                            ! //Thermostat Status
                            function eQ3status(stdout) {
                            eQ3json();

                                stdout = stdout.split("\n");
                                stdout.forEach(element => {
                            
                                    switch(element.split(":")[0]){
                                        case "Temperature":
                                            setState('eQ3.status.Temperature', element.split(":")[1]);
                                            break;
                                        case "Valve":
                                            setState('eQ3.status.Valve', element.split(":")[1]);
                                            break;
                                        case "Mode":
                                            setState('eQ3.status.Mode', element.split(":")[1]);
                                            break;
                                        case "Vacation mode":
                                            setState('eQ3.status.VacationMode', element.split(":")[1]);
                                            break;
                                        case "Offset temperature":
                                            setState('eQ3.status.OffsetTemp', element.split(":")[1]);
                                            break;
                                        case "Device name":
                                            setState('eQ3.device.Name', element.split(":")[1]);
                                            break;
                                        case "Device vendor":
                                            setState('eQ3.device.Vendor', element.split(":")[1]);
                                            break;
                                        case "":
                                            break;
                                    }
                                });
                            

                            }

                            ! //Thermostat Status JSON
                            function eQ3json(){
                            exec(eQ3exec + "json", function(err, stdout, stderr) {
                            obj = JSON.parse(stdout);

                                //Status
                                setState('eQ3.status.LowBattery', obj.mode["low battery"]);
                                setState('eQ3.status.OpenWindow', obj.mode["open window"]);
                                setState('eQ3.status.Boost', obj.mode.boost);
                                setState('eQ3.status.Locked', obj.mode.locked);
                                
                                //Device
                                setState('eQ3.device.MAC', obj.mac);
                                
                                //Timer
                                setState('eQ3.timer.timerJSON', JSON.stringify(obj.timers));
                            });
                            

                            }

                            ! schedule('*/5 * * * *', function (obj) {
                            exec(eQ3exec + "status", function(err, stdout, stderr) {
                            eQ3status(stdout);
                            });
                            });
                            ! ````

                            Noch habe ich nicht alle Funktionen des Skripts von Heckie75 umgesetzt, aber mehr brauch ich aktuell nicht. Die Basissteuerung und die Abfrage des Status (alle 5 Minuten) reicht mir bisher. Vielleicht hilft dir oder anderen das ja als Vorlage.

                            Greetz

                            kr4mb3 `

                            Hallo,

                            Kann jemand vielleicht kurz erklären wie der das eingebunden hat mit dem code? Evtl für vis oder den cloud Adapter

                            1 Reply Last reply
                            0
                            • K Offline
                              K Offline
                              kr4mb3
                              wrote on last edited by
                              #14

                              @oemer9119:

                              Hallo,

                              Kann jemand vielleicht kurz erklären wie der das eingebunden hat mit dem code? Evtl für vis oder den cloud Adapter `

                              Ich habe mir noch einen weiteren State erstellt, der den Boost Modus aktiviert bzw. deaktiviert:

                              createState('eQ3.control.boostSwitch', false, {type: "boolean", role: "switch"});
                              

                              Diese State habe ich dann im Cloud Adapter hinzugefügt, so kann ich per Alexa-Spracheingabe spontan den Boost Modus aktivieren, wenn es mir zu kalt ist. Den Temperaturwert per Cloud-Adapter zu erhöhen wäre auch sehr praktisch, ich habe es allerdings noch nicht hinbekommen, bestimmte absolute Werte zu übergeben, sondern bloß Prozentwerte…

                              In VIS solltest du eigentlich alle States aus dem Skript als Button oder als anderes Objekt einfügen können. Zum Beispiel mit dem hqWidget "Inner Temperature". Dort kann man die Zieltemperatur und den aktuellen Ventilstatus anzeigen. Und wenn du einen Sensor dafür hast, auch die aktuelle Temperatur. Und ein paar Stati aus dem Skript kann man auch als Signalbilder nutzen, zB ob der Boostmodus an ist, die Batterie leer ist oder das Fenster offen ist.

                              Greetz kr4mb3
                              3592_01_widget.png
                              3592_02_signalbilder.png

                              1 Reply Last reply
                              0
                              • O Offline
                                O Offline
                                oemer9119
                                wrote on last edited by
                                #15

                                Hallo bekommst du werte zurück wenn du getstatus ausführst.

                                Ich bekomme immer ein Fehler.

                                Wenn der Code Läuft kriege ich nicht mal antwort über Putty, aber die Befehle werden trotzdem umgesetzt.

                                > Caught by controller[0]: at script.js.Heizung2:143:51

                                Oder Auch was mit Zeile 140.

                                1 Reply Last reply
                                0
                                • K Offline
                                  K Offline
                                  kr4mb3
                                  wrote on last edited by
                                  #16

                                  Hi oemer9119,

                                  ja ich bekomme Werte zurück, wenn ich getStatus ausführe. Das passiert in meinem Skript ja in zwei Teilen. Zuerst werden Werte wie Batteriestatus oder Boost über die Funktion "eQ3json" abgerufen, danach der aktuelle Modus, die Temperatur, die Ventil-Stellung und der Name sowie Hersteller des Thermostats über die Funktion "eQ3status". Über Putty sieht der Befehl "status" bei mir zB so aus wie im Anhang.

                                  Die Zeile 143 im Skript teilt zB die Zeile "Device Name" am Doppelpunkt, um nur den Namen selbst zu bekommen. Trim entfernt dann noch die ganzen Leerzeichen zwischen Doppelpunkt und dem Namen. Hat dein Thermostat evtl keinen Namen?!

                                  Und Zeile 140 ermittelt die Offset Temperatur. Die Zeile im Rückgabewert tritt aber nur auf, wenn man auch den Offset-Wert verändert. Das sollte aber eigentlich keine Fehler aufwerfen. Hast du denn dein Thermostat auch erfolgreich mit dem ioBroker Host per Bluetooth gekoppelt?
                                  3592_2019-01-02_22_38_55-window.png
                                  3592_2019-01-02_22_53_50-window.png

                                  1 Reply Last reply
                                  0
                                  • X Offline
                                    X Offline
                                    xatrix
                                    wrote on last edited by
                                    #17

                                    @kr4mb3 said in Skript für Bluetooth-Heizkörperthermostat unter IoBroker:

                                    ``

                                    Hallo,

                                    kannst du bitte das Script neu einbetten? Die Formatierung stimmt nicht mehr.

                                    Danke

                                    K 1 Reply Last reply
                                    0
                                    • X xatrix

                                      @kr4mb3 said in Skript für Bluetooth-Heizkörperthermostat unter IoBroker:

                                      ``

                                      Hallo,

                                      kannst du bitte das Script neu einbetten? Die Formatierung stimmt nicht mehr.

                                      Danke

                                      K Offline
                                      K Offline
                                      kr4mb3
                                      wrote on last edited by
                                      #18

                                      @xatrix Ist erledigt, ich hab mein aktuelles Skript in meinem Beitrag oben editiert.

                                      pat 0P A 2 Replies Last reply
                                      0
                                      • P Offline
                                        P Offline
                                        parabelflug1
                                        wrote on last edited by
                                        #19

                                        Moin,
                                        ich häng meine Frage mal dran: Hab eq3.exp auch problemlos am laufen - hab heute aber Xiaomi Bluetooth Thermometer bekommen, sodass ich nun auch den BLE-Adapter installiert habe. Leider scheint sich beides zu beißen - der Javascript Adapter kackt mir mehrmals in der Stunde ab. Er prüft ja alle 30s auf neue Daten von den Thermostaten - vermutlich beißt sich's da.
                                        Wie macht ihr das?

                                        1 Reply Last reply
                                        0
                                        • K kr4mb3

                                          @xatrix Ist erledigt, ich hab mein aktuelles Skript in meinem Beitrag oben editiert.

                                          pat 0P Offline
                                          pat 0P Offline
                                          pat 0
                                          wrote on last edited by pat 0
                                          #20

                                          @kr4mb3

                                          Hi kr4mb3, ich versuche gerade dein eq3 Skript im ioBroker einzubinden. Erstmal vielen Dank, dass du dir die Mühe gemacht hast und dein Skript zur Verfügung stellst. Ich habe deinen Code als Java Script importiert, MAC und Pfad geändert und gestartet. Das eQ3 Objekt und seine Eigenschaften tauchen dann auch in der Objektansicht auf, aktualisieren sich aber nicht.
                                          Auf Befehle reagiert das Thermostat leider auch nicht.

                                          Wenn ich die Heckie Befehle manuell ausführe, läuft es.

                                          Folgende Fehlermeldungen bekomme ich:
                                          25c10166-13d2-4431-9022-ac7083f68f6d-image.png

                                          Ist das Problem bekannt?

                                          Schonmal vielen Dank!

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          413

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe