Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test ViessmannAPI v2.0.0

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Test ViessmannAPI v2.0.0

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

      Hi ich habe ein neuen Adapter für Viessman erstellt

      Man benötigt eine ClientID von der Viessmann API

      https://app.developer.viessmann.com besuchen und eine Client ID mit diesen Optionen erstellen:

      Name: iobroker
      Google reCAPTCHA deaktivieren
      Redirect URI: http://localhost:4200/

      Die Client ID in die Einstellungen kopieren

      Außentemperatur findet sich z.B. hier:
      viessmannapi.0.XXXXX.0.features.heating.sensors.temperature.outside.properties.value.value

      Weitere Beispiele siehe Unten

      Remote Befehle sind möglich unter
      viessmannapi.0.XXXXX.0.features.heating.dhw.temperature.main.commands.setTargetTemperature.setValue

      Zum Installieren:
      Via Adaptersuche

      In den Instanzoptionen die jeweiligen Optionen einstellen.

      Github
      https://github.com/TA2k/ioBroker.viessmannapi

      Kompatibilitätsliste:
      https://documentation.viessmann.com/static/compatibility
      Regelungen für Wand- oder Kompaktgeräte
      Vitotronic 200, Typ HO1, HO1A, HO1B, HO1D, HO2B, HO2C
      Vitotronic 200 RF, Typ HO1C, HO1E
      Regelungen für bodenstehende Heizkessel
      Vitotronic 200, Typ KO1B, KO2B, KW6, KW6A, KW6B, KW1, KW2, KW4, KW5
      Vitotronic 300, Typ KW3
      Regelungen für Wärmepumpen und Hybridgeräte
      Vitotronic 200, Typ WO1A, WO1B, WO1C
      Regelungen für Festbrennstoffkessel
      Vitoligno 200-S mit Ecotronic (ab Softwarestand 2.03)
      Vitoligno 250-S mit Ecotronic (ab Softwarestand 2.00)
      Vitoligno 300-C mit Ecotronic (ab Softwarestand 2.12)
      Vitoligno 300-P mit Vitotronic 200 FO1
      Vitoligno 300-S mit Ecotronic (ab Softwarestand 2.04)

      Liste aller Datenpunkte:
      https://documentation.viessmann.com/static/iot/data-points

      Frage zu fehlende Datenpunkte bitte direkt an Viessmann
      https://www.viessmann-community.com/t5/The-Viessmann-API/bd-p/dev-viessmann-api

      Beispiele:

      Vorlauftemperatur: 
      viessmannapi.0.XXXX.features.heating.circuits.0.sensors.temperature.supply.properties.value.value, 
      
      Brennerstatus:
      viessmannapi.0.XXXX.0.features.heating.burners.0.properties.active.value
      
      Anzahl Zündungen:
      viessmannapi.0.XXXXX.features.heating.burners.0.statistics.properties.starts.value
      
      Betriebsstunden
      viessmannapi.0.XXXXX.features.heating.burners.0.statistics.properties.hours.value
      
      Kesseltemperatur
      viessmannapi.0.XXXXX.features.heating.boiler.sensors.temperature.main.properties.unit.value
      
      Kompressor aktiv:		viessmannapi.0.xxx.0.features.heating.compressors.0.properties.active.value
      Heizkreispumpe aktiv:		viessmannapi.0.xxx.0.features.heating.circuits.1.circulation.pump.properties.status.value
      Warmwasserbereitung:		viessmannapi.0.xxx.0.features.heating.dhw.charging.properties.active.value
      Heizungsmodus:			viessmannapi.0.xxx.0.features.heating.circuits.1.operating.modes.active.properties.value.value
      Heizprogramm:			viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.active.properties.value.value
      Temperatur Heizprogramm normal:	viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.normal.properties.temperature.value
      Temperatur Heizprogramm reduz.:	viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.reduced.properties.temperature.value
      Warmwasser Soll Temperatur:	viessmannapi.0.xxx.0.features.heating.dhw.temperature.properties.value.value
      Warmwasser Ist Temperatur:	viessmannapi.0.xxx.0.features.heating.dhw.sensors.temperature.hotWaterStorage.properties.value.value
      Temperatur Außensensor:		viessmannapi.0.xxx.0.features.heating.sensors.temperature.outside.properties.value.value
      Statistik Kompressor Starts:	viessmannapi.0.xxx.0.features.heating.compressors.0.statistics.properties.starts.value
      Statistik Kompressor Stunden:	viessmannapi.0.xxx.0.features.heating.compressors.0.statistics.properties.hours.value
      Temperatursensoren der Heizkreise:   viessmannapi.0.xxxxxxx.0.features.heating.circuits.0.sensors.temperature.supply.properties.value.value
       
      Primärkreis Vorlauftemperatur:		viessmann.0.xxx.0.features.heating.primaryCircuit.sensors.temperature.supply.properties.value.value
      Sekundärkreis Vorlauftemperatur:	viessmann.0.xxx.0.features.heating.secondaryCircuit.sensors.temperature.supply.properties.value.value
      Sekundärkreis Rücklauftemperatur:	viessmann.0.xxx.0.features.heating.secondaryCircuit.sensors.temperature.return.properties.value.value
      ?					viessmann.0.xxx.0.features.heating.sensors.temperature.return.properties.value.value
      
      
      Heizung an (Kompressor): viessmannapi.0.x.0.features.heating.compressors.0.properties.active.value
      
      WW Temp viessmannapi.0.x.0.features.heating.dhw.sensors.temperature.hotWaterStorage.properties.value.value
      
      HW Temp  viessmannapi.0.x.0.features.heating.buffer.sensors.temperature.main.properties.value.value
      
      ZP features.heating.circuits.1.circulation.pump.properties.status.value
      
      WP_Aussentemperatur 0.features.heating.sensors.temperature.outside.properties.value.value
      WP_gemeinsame Vorlauftemperatur 0.features.heating.boiler.sensors.temperature.commonSupply.properties.value.value
      WP_Temperatur Pufferspeicher 0.features.heating.buffer.sensors.temperature.main.properties.value.value
      WP_Heizkörper_Umwälzpumpe ON/OFF 0.features.heating.circuits.0.circulation.pump.properties.status.value
      WP_Heizkörper_Umwälzpumpe_Frostschutz 0.features.heating.circuits.0.frostprotection.properties.status.value
      WP_Heizkörper_Niveau 0.features.heating.circuits.0.heating.curve.properties.shift.value
      WP_Heizkörper_Neigung 0.features.heating.circuits.0.heating.curve.properties.slope.value
      WP_Heizkörper_Zeitplan 0.features.heating.circuits.0.heating.schedule.properties.entries.value
      WP_Heizkörper_Komfort_Solltemperatur 0.features.heating.circuits.0.operating.programs.comfortHeating.properties.temperature.value
      WP_Heizkörper_Normal_Solltemperatur 0.features.heating.circuits.0.operating.programs.normalHeating.properties.temperature.value
      WP_Heizkörper_Reduziert_Solltemperatur 0.features.heating.circuits.0.operating.programs.reducedHeating.properties.temperature.value
      WP_Vorlauftemperatur Heizkörper 0.features.heating.circuits.0.sensors.temperature.supply.properties.value.value
      ???? 0.features.heating.circuits.0.operating.programs.comfortEnergySaving.properties.reason.value
      ???? 0.features.heating.circuits.0.operating.programs.normalEnergySaving.properties.reason.value
      WP_Heizkörper_FBH ON/OFF 0.features.heating.circuits.1.circulation.pump.properties.status.value
      WP_FBH_Umwälzpumpe_Frostschutz 0.features.heating.circuits.1.frostprotection.properties.status.value
      WP_FBH_Niveau 0.features.heating.circuits.1.heating.curve.properties.shift.value
      WP_FBH_Neigung 0.features.heating.circuits.1.heating.curve.properties.slope.value
      WP_FBH_Zeitplan 0.features.heating.circuits.1.heating.schedule.properties.entries.value
      
      WP_FBH_Komfort_Solltemperatur 0.features.heating.circuits.1.operating.programs.comfortHeating.properties.temperature.value
      WP_FBH_Normal_Solltemperatur 0.features.heating.circuits.1.operating.programs.normalHeating.properties.temperature.value
      WP_FBH_Reduziert_Solltemperatur 0.features.heating.circuits.1.operating.programs.reducedHeating.properties.temperature.value
      
      WP_FBH_Vorlauftemperatur 0.features.heating.circuits.1.sensors.temperature.supply.properties.value.value
      
      WP_Stromverbrauch_HEUTE 0.features.heating.power.consumption.summary.heating.properties.currentDay.value
      WP_Stromverbrauch_MONAT 0.features.heating.power.consumption.summary.heating.properties.currentMonth.value
      WP_Stromverbrauch_JAHR 0.features.heating.power.consumption.summary.heating.properties.currentYear.value
      WP_Stromverbrauch_LETZTER_MONAT 0.features.heating.power.consumption.summary.heating.properties.lastMonth.value
      WP_Stromverbrauch_LETZTEN_7_TAGE 0.features.heating.power.consumption.summary.heating.properties.lastSevenDays.value
      WP_Stromverbrauch_LETZTES_JAHR 0.features.heating.power.consumption.summary.heating.properties.lastYear.value
      WP_Primärkreis_Temperatur 0.features.heating.primaryCircuit.sensors.temperature.supply.properties.value.value
      WP_Sekundärkreis_Temperatur 0.features.heating.secondaryCircuit.sensors.temperature.supply.properties.value.value
      WP_Rücklauftemperatur 0.features.heating.sensors.temperature.return.properties.value.value
      WP_Volumenstrom 0.features.heating.sensors.volumetricFlow.allengra.properties.value.value
      Betriebsstunden Verdichter 0.features.heating.compressors.0.statistics.properties.hours.value
      

      Beispiel zum setzen eines Schedule:

      var standard = '{"mon":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"tue":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],\
                    "wed":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"thu":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],\
                    "fri":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"sat":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],\
                    "sun":[{"start":"00:00","end":"24:00","mode":"standard","position":0}]}'
       
      setState("viessmannapi.0.xxxxxxx.0.features.ventilation.schedule.commands.setSchedule.setValue", JSON.parse(standard)); 
      

      Beispiel zirkulationspumpe

      // schedule zum einschalten, allerdings nur zwischen 6 und 21 uhr
      var pump_on = '{"mon":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"tue":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"wed":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"thu":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"fri":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"sat":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"sun":[{"start":"06:00","end":"21:00","mode":"on","position":0}]}'
      // schedule leeren - pumpe ausschalten
      var pump_off = '{"mon":[], "tue":[],"wed":[],"thu":[],"fri":[],"sat":[],"sun":[]}' 
       
      setState("viessmannapi.0.xxx.features.heating.dhw.pumps.circulation.schedule.commands.setSchedule.setValue", JSON.parse(pump_on)); // oder pump_off
      

      Die Max. Heizleistung gibt es nicht als API Datenpunkt, kann nur am Gerät geändert werden.

      Kostenlose Paket enthält:
      23a824bd-cb36-4930-b8c0-cde030634129-image.png

      Neuschwansteini C J A A 22 Replies Last reply Reply Quote 6
      • Neuschwansteini
        Neuschwansteini @tombox last edited by Neuschwansteini

        @tombox Hi, installiert und laeuft ohne Fehler, holt jede Menge Daten und ich bin Happy!

        System: Debian 10 Lxc, Node 14, js-controller 3.3.15

        Super, vielen vielen Dank!

        1 Reply Last reply Reply Quote 0
        • C
          ckerfurt @tombox last edited by

          Hi @tombox,

          ist installiert und läuft fehlerfrei. Alle benötigten Werte werden ausgelesen.

          System:
          js-controller 3.2.16
          Node.js 12.20.2
          Debian 10

          Viele Grüße und vielen Dank!
          Christoph

          1 Reply Last reply Reply Quote 0
          • J
            jrudolph @tombox last edited by

            @tombox Habe den Adapter auch gerade installiert. Er läuft problemlos. Bislang hatte ich viessmannapi verwendet.
            Mein System:
            Debian 10, Node.js 12.20.2, js-controller 3.2.16

            Vielen Dank!

            Gruß,
            Jürgen

            1 Reply Last reply Reply Quote 0
            • A
              amgxda @tombox last edited by

              @tombox

              Funktioniert "out of the box". Alle erwarteten Datenpunkte wurden ausgelesen.

              Schreiben in Datenpunkte noch nicht getestet. Die Developer-Portal API-Call-Statistik zeigt bisher keine großen Ausschläge, von daher gehe ich davon aus, dass die API-Calls die Viessmann-API nicht überfordern und es nicht zum Blocking kommt.

              System: Debian 10, Node 12.2, js-controller 3.3

              Danke für die tolle Arbeit!

              1 Reply Last reply Reply Quote 0
              • H
                Hansi1234 last edited by

                läuft bei mir auch, vielen Dank!

                1 Reply Last reply Reply Quote 0
                • A
                  Ahnungsbefreit @tombox last edited by Ahnungsbefreit

                  @tombox Läuft auf Anhieb und produziert jede Menge Daten, allerdings habe ich bis jetzt noch kaum relevanten Daten wir Programm, Kesseltemperatur etc. geliefert. Ich habe eine Vitodens 222-F, könnte das daran liegen? Die ist ja nicht in Deiner Liste oben.

                  EDIT: Die Kesseltemperatur habe ich eben in den Untiefen des Datenbaums gefunden 🙂

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    tombox @Ahnungsbefreit last edited by

                    @ahnungsbefreit

                    Schreib ruhig die states dann kann ich sie in die readme aufnehmen

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      DH1979 @tombox last edited by

                      @tombox : Bei mir funktioniert der Adapter auch wunderbar.
                      Danke für die tolle Arbeit:
                      Er produziert unheimlich viele Daten:
                      u.a.

                      Vorlauftemperatur: viessmann.0.1344232.0.features.heating.circuits.0.sensors.temperature.supply.properties.value.value, hier müsste die zu finden sein,

                      Anzahl Zündungen:
                      viessmann.0.1344232.0.features.heating.burners.0.statistics.properties.starts.value

                      Betriebsstunden unter: viessmann.0.1344232.0.features.heating.burners.0.statistics.properties.hours.value

                      Kesseltemperatur müsste unter:
                      viessmann.0.1344232.0.features.heating.boiler.sensors.temperature.main.properties.unit.value

                      zu finden sein.

                      Weiß jemand wo man seinen Heizkreis ein- und ausschalten kann?

                      Viele Grüße
                      Daniel

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        tombox @DH1979 last edited by

                        @dh1979 @Ahnungsbefreit @Hansi1234

                        Ich musst den Adapter nochmal umbennen da er ja den Adapter viessmannapi ersetzt. Ich empfehle den alten Adapter unter viessmann zu löschen und neuzuinstallieren damit ihr die zukünftigen updates mitbekommt.

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          amgxda @tombox last edited by

                          @tombox

                          Hier ein paar Datenpunkte (Luftwärmepumpe):

                          Kompressor aktiv:		viessmannapi.0.xxx.0.features.heating.compressors.0.properties.active.value
                          Heizkreispumpe aktiv:		viessmannapi.0.xxx.0.features.heating.circuits.1.circulation.pump.properties.status.value
                          Warmwasserbereitung:		viessmannapi.0.xxx.0.features.heating.dhw.charging.properties.active.value
                          Heizungsmodus:			viessmannapi.0.xxx.0.features.heating.circuits.1.operating.modes.active.properties.value.value
                          Heizprogramm:			viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.active.properties.value.value
                          Temperatur Heizprogramm normal:	viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.normal.properties.temperature.value
                          Temperatur Heizprogramm reduz.:	viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.reduced.properties.temperature.value
                          Warmwasser Soll Temperatur:	viessmannapi.0.xxx.0.features.heating.dhw.temperature.properties.value.value
                          Warmwasser Ist Temperatur:	viessmannapi.0.xxx.0.features.heating.dhw.sensors.temperature.hotWaterStorage.properties.value.value
                          Temperatur Außensensor:		viessmannapi.0.xxx.0.features.heating.sensors.temperature.outside.properties.value.value
                          Statistik Kompressor Starts:	viessmannapi.0.xxx.0.features.heating.compressors.0.statistics.properties.starts.value
                          Statistik Kompressor Stunden:	viessmannapi.0.xxx.0.features.heating.compressors.0.statistics.properties.hours.value
                          
                          
                          ?Primärkreis Vorlauftemperatur:		viessmann.0.xxx.0.features.heating.primaryCircuit.sensors.temperature.supply.properties.value.value
                          ?Sekundärkreis Vorlauftemperatur:	viessmann.0.xxx.0.features.heating.secondaryCircuit.sensors.temperature.supply.properties.value.value
                          ?Sekundärkreis Rücklauftemperatur:	viessmann.0.xxx.0.features.heating.secondaryCircuit.sensors.temperature.return.properties.value.value
                          ?					viessmann.0.xxx.0.features.heating.sensors.temperature.return.properties.value.value
                          
                          D L 2 Replies Last reply Reply Quote 1
                          • D
                            DH1979 @amgxda last edited by

                            @amgxda: Weißt du welcher Datenpunkt es ermöglicht die Heizung einfach aus bzw. anzustellen?

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              asblass last edited by asblass

                              Cool, danke @tombox für den neuen Viessmann Adapter 👍

                              Auslesen der Werte meiner Wärmepumpe klappt super. Auch setzten von Temperaturwerten funktioniert, allerdings bekomme ich bei Strings eine Fehlermeldung. Ich habe versucht den Betriebsmodus auf dhw zu setzen, bekomme aber einen Error 422 von der API zurück. Benutzt habe ich den Datenpunkt hier: viessmannapi.0.xxxxxx.0.features.heating.circuits.0.operating.modes.active.commands.setMode.setValue

                              Im Log finde ich folgende Fehlermeldung:

                              [39m: viessmannapi.0 (6574) {"viErrorId":"req-7cb439014b054530bd19203d937e34d7","statusCode":422,"errorType":"VALIDATION_ERROR","message":"VALIDATION_ERROR","validationErrors":[],"extendedPayload":{"code":"400","reason":"VALIDATION_ERROR","details":"The parameter mode=0 does not meet the constraints {\"type\":\"string\",\"enum\":[\"standby\",\"dhw\",\"dhwAndHeatingCooling\"]}: Value '0' should be a string."}}
                              

                              Sieht irgendwie so aus, als ob aus meinem String eine Zahl wird.

                              Viele Grüße
                              Andreas

                              T L 2 Replies Last reply Reply Quote 0
                              • A
                                asblass @DH1979 last edited by asblass

                                @dh1979

                                Ich nutze dafür den hier: viessmannapi.0.xxxxxx.0.features.heating.circuits.0.operating.modes.active.commands.setMode.setValue

                                Der kennt Standby (standby), Brauchwasser (dhw) und Heizen&Brauchwasser (dhwAndHeatingCooling). Bekomme den derzeit aber nicht geschrieben.

                                Viele Grüße
                                Andreas

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  DH1979 @asblass last edited by

                                  @asblass : Danke werde ich ausprobieren.

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    tombox @asblass last edited by

                                    @asblass alle states nochmal löschen und Adapter neuinstallieren und nochmal probieren

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      asblass @tombox last edited by

                                      @tombox Super, das war es 😀 Seit der Neuinstallation klappt es und ich kann wieder meine Heizung per ioBroker zwischen Brauchwasser und Standby hin und her schalten.

                                      Dank Dir
                                      Andreas

                                      D T 2 Replies Last reply Reply Quote 0
                                      • D
                                        DH1979 @asblass last edited by

                                        @asblass: Geht bei mir jetzt auch. Danke für deinen Tipp!

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          tombox @asblass last edited by

                                          @asblass kannst du den genauen State sagen und die Werte die du einsetzt

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            asblass @tombox last edited by

                                            @tombox Ich nutze viessmannapi.0.xxxxxx.0.features.heating.circuits.0.operating.modes.active.commands.setMode.setValue

                                            Mögliche Werte sind standby, dhw & dhwAndHeatingCooling. Nachdem ich den Adapter gelöscht und neu installiert habe, klappt jetzt aber alles so wie es soll 👍

                                            L J 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            125
                                            791
                                            175379
                                            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