Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Tado Heizung Skript

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[Vorlage] Tado Heizung Skript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascripttemplateheating
15 Beiträge 5 Kommentatoren 3.5k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • E Offline
    E Offline
    eXTreMe
    schrieb am zuletzt editiert von
    #4

    @senger1985:

    Hallo Lucky,

    genau nach diesem Script habe ich gesucht.

    Wenn ich es jetzt aber ausführen, bekomme ich immer folgende Fehlermeldung:

    23:45:12.660 [error] javascript.0 script.js.Skript1: 401 Fehler bei Refresh Token !

    Könntest du mir erklären, woran das liegen könnte.

    Wünsche ein schönes Wochenende. `

    Hast du deine Logindaten in die Datenpunkte die das Script erstellt eingetragen und dort über die buttons den Login gestartet?

    Ist der Datenpunkt 'javascript.0.Tado.Authorization.Authorized' auf true?

    Ich hatte auch mal ein kleines (nicht so umfangreiches wie das von Lucky) Script für tado zum auslesen der Werte geschrieben. schau mal hier, evtl hilft dir das auch weiter:

    http://forum.iobroker.net/viewtopic.php … 45#p112945

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      senger1985
      schrieb am zuletzt editiert von
      #5

      Hallo eXTreMe,

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

      1 Antwort Letzte Antwort
      0
      • E Offline
        E Offline
        eXTreMe
        schrieb am zuletzt editiert von
        #6

        @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 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          senger1985
          schrieb am zuletzt editiert von
          #7

          @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 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            senger1985
            schrieb am zuletzt editiert von
            #8

            Hallo,

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

            1 Antwort Letzte Antwort
            0
            • E Offline
              E Offline
              eXTreMe
              schrieb am zuletzt editiert von Jey Cee
              #9

              @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 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                senger1985
                schrieb am zuletzt editiert von
                #10

                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 Antwort Letzte Antwort
                0
                • E Offline
                  E Offline
                  eXTreMe
                  schrieb am zuletzt editiert von
                  #11

                  @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 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    senger1985
                    schrieb am zuletzt editiert von
                    #12

                    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 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      steckenpferd
                      schrieb am zuletzt editiert von
                      #13

                      Habe es mal in die Adapter Request Liste aufgenommen:

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

                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        senger1985
                        schrieb am zuletzt editiert von
                        #14

                        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 Antwort Letzte Antwort
                        0
                        • DutchmanD Offline
                          DutchmanD Offline
                          Dutchman
                          Developer Most Active Administrators
                          schrieb am zuletzt editiert von
                          #15

                          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 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          698

                          Online

                          32.6k

                          Benutzer

                          82.3k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe