Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Tado Heizung Skript

    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

    [Vorlage] Tado Heizung Skript

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

      Hallo eXTreMe,

      Authorized ist bei mir auf "true", wie bekomme ich jetzt z. B. die aktuelle Temperatur im VIS angezeigt?

      1 Reply Last reply Reply Quote 0
      • E
        eXTreMe last edited by

        @senger1985:

        Hallo eXTreMe,

        Authorized ist bei mir auf "true", wie bekomme ich jetzt z. B. die aktuelle Temperatur im VIS angezeigt? `

        Habe mir das Script von Lucky (bzw die Datenpunkte die es erstellt) nun erstmal im Detail genau angeschaut…. es scheint alsob die Werte mit der aktuellen temperatur noch fehlen.

        In meinem Script habe ich das drin, da ist aber nur das problem, dass die werte nur aktualisiert werden, wenn das thermostat auch am heizen ist....

        bin leider auch kein script profi und habe auch nur wenig Ahnung von APIs. Ich hoffe dass Lucky demnächst eine neuere Version des Scripts mit uns teilt, in der auch die interessanten Datenpunkte wie Temperatur usw drin sind ;=) Er sagte ja, dass das Script noch in einem sehr frühen Stadium ist, vieles fehlt oder nicht richtig funktioniert.

        1 Reply Last reply Reply Quote 0
        • S
          senger1985 last edited by

          @eXTreMe:

          @senger1985:

          Hallo eXTreMe,

          Authorized ist bei mir auf "true", wie bekomme ich jetzt z. B. die aktuelle Temperatur im VIS angezeigt? `

          Habe mir das Script von Lucky (bzw die Datenpunkte die es erstellt) nun erstmal im Detail genau angeschaut…. es scheint alsob die Werte mit der aktuellen temperatur noch fehlen.

          In meinem Script habe ich das drin, da ist aber nur das problem, dass die werte nur aktualisiert werden, wenn das thermostat auch am heizen ist....

          bin leider auch kein script profi und habe auch nur wenig Ahnung von APIs. Ich hoffe dass Lucky demnächst eine neuere Version des Scripts mit uns teilt, in der auch die interessanten Datenpunkte wie Temperatur usw drin sind ;=) Er sagte ja, dass das Script noch in einem sehr frühen Stadium ist, vieles fehlt oder nicht richtig funktioniert. `

          Eilt ja alles nicht.

          War/bin nur gerade dabei mir eine kleine "Schaltzentrale" zu basteln und habe halt nach eine Möglichkeit gesucht, die Werte von Tado auszulesen.

          Wünsche dir ein schönen Sonntag

          1 Reply Last reply Reply Quote 0
          • S
            senger1985 last edited by

            Hallo,

            gibt es hier inzwischen eine Möglichkeit, auch die momentane Temperatur auszulesen?

            1 Reply Last reply Reply Quote 0
            • E
              eXTreMe last edited by Jey Cee

              @senger1985:

              Hallo,

              gibt es hier inzwischen eine Möglichkeit, auch die momentane Temperatur auszulesen? `

              Versuch mal mein Script, es liefert aber fehler wenn das Thermostat ausgeschaltet ist. Mir ist auch schonmal der Javascript Adapter dadurch abgeschmiert. Bin leider kein Script Profi.

              Das Skript ist auch etwas komplizierter einzurichten. Ich nutze es inzwischen auch selber garnicht mehr und warte darauf dass tado es endlich schafft eine öffentliche API rauszubringen.

              Zur Steuerung der Heizung habe ich einfach die tado login webseite in vis als iframe eingebunden. War das unkomplizierteste…

              Hier das Script, bitte die Hinweise in den Kommentaren im Code beachten!

              // tado Script für ioBroker
              // Version 0.1
              //
              // Anleitung:
              // 1\. Pro Thermostat muss ein Script erstellt und individuell konfiguriert werden!
              // 2\. Eindeutigen Raumname im Konfig-Bereich des Scripts für das Thermostat angeben. Bei mehreren Thermostaten in einem Raum bitte unterschiedliche Raumnamen verwenden.
              // 3\. Über folgende URL (Nutzername und Passwort in der URL angeben) per Webbrowser die HomeID ermitteln und in dem Konfigurations-Teil des Scripts eintragen:
              //    https://my.tado.com/api/v2/me?username=USERNAME&password=PASSWORT
              // 4\. Über folgende URL (HOME ID, Nutzername(E-Mail) und Passwort in der URL angeben, wenn das PW Sonderzeichen enthält dann müssen diese encodiert angegeben werden) per Webbrowser die ZoneID ermitteln und in dem Konfigurations-Teil des Scripts eintragen:
              //    https://my.tado.com/api/v2/homes/HOMEID/zones/2/state?username=USERNAME&password=PASSWORT
              //     - Die "2" im Link steht für ZoneID 2, in meinem Fall ist das das Thermostat im Wohnzimmer
              //     - am besten unterschiedliche Temperaturen in den Räumen per App einstellen und dann verschiedene Zahlen im Link durchprobieren)
              //
              //
              // Quellen die bei der Scripterstellung geholfen haben:
              // http://wirres.net/article/articleview/10326/1/6/
              // http://blog.scphillips.com/posts/2017/01/the-tado-api-v2/
               //Konfiguration:
              var Raumname = 'Wohnzimmer'; // Der hier angegebene Raumname dient zur Benennung des erzeugten Channel Objekts in ioBroker
              var ZoneID = "2"; // Zonennummer des Raums (muss über API URL ermittelt werden)
              var HomeID = "meine-home-id"; // HomeID aus API Abfrage
              var Username = "mein-nutzername"; // tado Username (E-Mail Adresse)
              var Password = "meinpasswort"; // tado Passwort (Sonderzeichen müssen encodiert eingetragen werden, z.B. # als %23 -> google hilft hier!)
               //Datenpunkterstellung:
              createState("tado." + Raumname + ".temperature", 0, false, {type: "number", name: "temperature", desc: "Eingestellte Temperatur", role: "value.temperature", unit: "°C", read: true, write: true});
              createState("tado." + Raumname + ".power", "OFF", false, {type: "string", name: "power", desc: "Aufheizen", read: true, write: true});
              createState("tado." + Raumname + ".inside_temperature", 0, false, {type: "number", name: "inside_temperature", desc: "Gemessene (Raum-)Temperatur", role: "value.temperature", unit: "°C", read: true, write: true});
              createState("tado." + Raumname + ".humidity", 0, false, {type: "number", name: "humidity", desc: "Luftfeuchtigkeit", role: "value.humidity", unit: "%", min: 0, max: 100, read: true, write: true});
              createState("tado." + Raumname + ".heatingpower", 0, false, {type: "number", name: "heatingpower", desc: "Heizkraft", unit: "%", min: 0, max: 100, read: true, write: true});
               // SCRIPTBEGINN - AB HIER NICHTS VERÄNDERN (außer den schedule zeitwert in der nächsten zeile der aktuell auf 10min gesetzt ist)!
              schedule("*/10 * * * *", function () { // Zeiteinstellung: Script aktualisiert alle 10 Min die Werte. Bei geringeren Abfrageintervallen kann es zu Verbindungsabbrüchen kommen und alle Geräte müssen neugestartet werden!
              
                  //API URL mit Username und Passwort
              	var url = "https://my.tado.com/api/v2/homes/"+HomeID+"/zones/"+ZoneID+"/state?username="+Username+"&password="+Password;
                 	//läd die Json herunter
                	var request = require("request");
                  request(url, function (error, response, body) {
                	//parst die Json
                  var json = JSON.parse(body);
              
                  //Datenabfrage:
                  //Temperatur:
                	setState("javascript.0.tado."+Raumname+".temperature", json.setting.temperature.celsius);
                	log('tado Temperatur '+Raumname+': ' + json.setting.temperature.celsius);
                	//Power:
                	setState("javascript.0.tado."+Raumname+".power", json.setting.power);
                	log('tado Power-Setting '+Raumname+': ' + json.setting.power);
                	//Humidity:
                	setState("javascript.0.tado."+Raumname+".humidity", json.sensorDataPoints.humidity.percentage);
                	log('tado Humidity '+Raumname+': ' + json.sensorDataPoints.humidity.percentage);
                	//Inside Temperature:
                	setState("javascript.0.tado."+Raumname+".inside_temperature", json.sensorDataPoints.insideTemperature.celsius);
                	log('tado Inside Temperature '+Raumname+': ' + json.sensorDataPoints.insideTemperature.celsius);
                	//Heating Power:
                	setState("javascript.0.tado."+Raumname+".heatingpower", json.activityDataPoints.heatingPower.percentage);
                	log('tado Heating Power '+Raumname+': ' + json.activityDataPoints.heatingPower.percentage);
                	});
              }); 
              
              1 Reply Last reply Reply Quote 0
              • S
                senger1985 last edited by

                Hallo eXTreMe,

                dein Script habe ich versucht gehabt und er hat mir gar keine Werte ausgeworfen, leider.

                Aber super, dass du dich auch damit beschäftigst.

                1 Reply Last reply Reply Quote 0
                • E
                  eXTreMe last edited by

                  @senger1985:

                  Hallo eXTreMe,

                  dein Script habe ich versucht gehabt und er hat mir gar keine Werte ausgeworfen, leider.

                  Aber super, dass du dich auch damit beschäftigst. `

                  Hast du auch alle Anpassungen im Script vorgenommen?

                  Username, Passwort, HomeID, usw. eingetragen?

                  Du kannst auch über deinen Browser checken ob die von dir eingetragenen Daten korrekt sind indem du die API Links direkt aufrufst und deine Angaben dort reinsetzt.

                  Link 1 zur ermittlung der HomeID (die HomeID dann im Link 2 einfügen):

                  https://my.tado.com/api/v2/me?username=%5Bb%5DUSERNAME&password=PASSWORT

                  Link 2 zur anzeige der Zone Nummer 2 (zahl kann geändert werden im link für andere räume)

                  https://my.tado.com/api/v2/homes/%5Bb%5DHOMEID/zones/2/state?username=USERNAME&password=PASSWORT

                  Wenn du alles richtig eingegeben hast sollten die Werte deines Thermostats in dem Raum mit der eingetragenen Zone ID angezeigt werden.

                  bei mir sieht das z.B. so aus (damit es so geordnet angeziegt wird nutze ich das firefox addon "json viewer")
                  2665_tado.png

                  1 Reply Last reply Reply Quote 0
                  • S
                    senger1985 last edited by

                    ioBroker möchte mich einfach etwas ärgern und es mir komplizierter machen, als es eigentlich sein muss.

                    Darum nutze ich inzwischen aber auch die "iframe"-Variante! 😉

                    1 Reply Last reply Reply Quote 0
                    • S
                      steckenpferd last edited by

                      Habe es mal in die Adapter Request Liste aufgenommen:

                      https://github.com/ioBroker/AdapterRequests/issues/71

                      steckenpferd created this issue in ioBroker/AdapterRequests

                      closed Tado Adapter #71

                      1 Reply Last reply Reply Quote 0
                      • S
                        senger1985 last edited by

                        Heute kam ein Update der Tado-App(Android), welches jetzt auch die Luftqualität und den Pollenflug anzeigt.

                        Weiß jemand, ob und wenn, wie ich diese Daten jetzt in den ioBroker bekomme?

                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators last edited by

                          Ab jetzt auch als adapter verfügbar : https://forum.iobroker.net/topic/25723/aufruf-neuer-adaper-tado

                          luftkwalitaet und Pollenflug hab ich in der API noch nicht gesehen aber schau es mir mal an.

                          Bitte issue auf GitHub beim adapter anlegen damit es nicht vergessen wird

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          915
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          heating javascript template
                          5
                          15
                          2952
                          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