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.8k

  • 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
    #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

                      676

                      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