Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test ViessmannAPI v2.0.0

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Test ViessmannAPI v2.0.0

Scheduled Pinned Locked Moved Tester
802 Posts 127 Posters 279.7k Views 124 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.
  • T tombox

    @ilovegym Sind die events unter viessmannapi.0.xxx.events relevant? Oder kommt da immer nur gateway online?

    ? Offline
    ? Offline
    A Former User
    wrote on last edited by A Former User
    #44

    @tombox jaein 😄

    ich habe da 42 events und die Nr 41 und 42 sind von 2014, ein burner error und ein device error.
    Dann von den letzten Tagen ein feature-changed API, anscheinend, wo ich den API Key neu erzeugt habe..

    Die anderen sind Gateway offline / online etc.. hmpff

    Also schon interessant.. mal schauen, wieviel das in Zukunft noch werden...

    1 Reply Last reply
    0
    • A Offline
      A Offline
      amgxda
      wrote on last edited by
      #45

      @ilovegym
      Es steht auch auf der Webseite, dass die Nutzung der Basisfunktionen kostenlos ist. Frage ist nur, was Viessmann als Basisfunktion definiert.

      Wenn Viessmann das Devportal als Einnahmequelle ansieht, wird es mehr Einschränkungen geben. Wenn sie es als Möglichkeit ansehen, neue, "moderne" Kundenkreise anzusprechen, bleibt es bei der jetzigen Funktionalität, mit der Möglichkeit eine erweiterte (kostenpflichtige) Lizenz zu erwerben, die beispielsweise mehr Aufrufe erlaubt.

      1 Reply Last reply
      0
      • T 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

        J Offline
        J Offline
        JohannesF
        wrote on last edited by
        #46

        @tombox Vielen Dank für den Adapter.

        Ich konnte alle relevanten Werte finden (für Heizung und Lüftung).

        Kleine Anregung:
        Man könnte den Objektbaum etwas anders aufbauen. Im Moment wird das JSON in den Objektbaum kopiert. Deswegen wiederholt sich dan z.B. 'unit'. Alternativ könnte man die Unit auch in den Datenpunkt kopieren. Dann würde IOBroker dies direkt anzeigen.

        Also zum Beispiel so:
        "common": {
        "name": "value",
        "role": "value",
        "type": "number",
        "unit": "°C",
        "write": false,
        "read": true,
        "custom": {
        "lovelace.0": {
        "enabled": true,
        "entity": "sensor",
        "name": "Aussentemperatur"
        }
        }

        Gruß Johannes

        1 Reply Last reply
        1
        • Tiger VIT Offline
          Tiger VIT Offline
          Tiger VI
          wrote on last edited by
          #47

          Super Arbeit! Auch ich konnte den Adapter bereits erfolgreich testen.

          Hat es schon jemand geschafft, erfolgreich Zeitprogramme zu erstellen?

          viessmannapi.0.xxxxx.0.features.ventilation.schedule.commands.setSchedule.setValue
          mit dem Parameter
          newSchedule:{"Fri":[{"start":"00:00","end":"24:00","mode":"intensive","position": 0}]}

          liefert mir leider nur
          Error: Request failed with status code 502

          T 1 Reply Last reply
          0
          • Tiger VIT Tiger VI

            Super Arbeit! Auch ich konnte den Adapter bereits erfolgreich testen.

            Hat es schon jemand geschafft, erfolgreich Zeitprogramme zu erstellen?

            viessmannapi.0.xxxxx.0.features.ventilation.schedule.commands.setSchedule.setValue
            mit dem Parameter
            newSchedule:{"Fri":[{"start":"00:00","end":"24:00","mode":"intensive","position": 0}]}

            liefert mir leider nur
            Error: Request failed with status code 502

            T Offline
            T Offline
            tombox
            wrote on last edited by
            #48

            @tiger-vi Probier mal nur
            {"Fri":[{"start":"00:00","end":"24:00","mode":"intensive","position": 0}]}

            T Tiger VIT 2 Replies Last reply
            0
            • T tombox

              @tiger-vi Probier mal nur
              {"Fri":[{"start":"00:00","end":"24:00","mode":"intensive","position": 0}]}

              T Offline
              T Offline
              Tometz
              wrote on last edited by
              #49

              Adapter läuft bei mir auch, Danke !!!

              Wie schalte ich das Ferienprogramm ein??

              Ausschalten geht, aber finde nicht wie ich es einschalten kann.

              1 Reply Last reply
              0
              • A asblass

                @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 Offline
                L Offline
                LaBamba
                wrote on last edited by
                #50

                @asblass
                @tombox
                Ich suche zum Umschalten zwischen standby, dhw & dhwAndHeating ein Umschaltmenü in VIS. Habt ihr eine Idee wie ich dies umsetzen könnte?
                Danke im Voraus!

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mtm87
                  wrote on last edited by
                  #51

                  Hi, habe den Adapter heute installiert bekommen, ich kann auch die Heizart umschalten unter "Objekte".
                  Bisher habe ich mit einem Java-script gearbeitet.
                  Da hatte ich folgendes drin stehen:

                  sendTo('viessmannapi.0', 'action', {
                  feature: 'heating.circuits.1.operating.modes.active',
                  action: 'setMode',
                  payload: {mode: "dhwAndHeating"}
                  });

                  ich habe jetzt schon versucht das hin zu bekommen, aber leider fehlt mir jegliche Kompetenz.
                  Kann mir jemand von euch helfen?
                  Mit freundlichen Grüßen

                  T 1 Reply Last reply
                  0
                  • A 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

                    L Offline
                    L Offline
                    LaBamba
                    wrote on last edited by
                    #52

                    @asblass
                    Es gibt bei mir in diesem Modus die Optionen:
                    dhw; = Warmwasser
                    dhwAndHeating; = Warmwasser und Heizung
                    forcedNormal;
                    forcedReduced;
                    standby;
                    normalStandby

                    Was ist der Unterschied zwischen forced Normal und forcedReduced?
                    Was ist der Unterschied zwischen standby und normal Standby?

                    1 Reply Last reply
                    0
                    • L Offline
                      L Offline
                      LaBamba
                      wrote on last edited by
                      #53

                      Gelöst: mit filter - dropdown funktioniert es sehr gut!

                      1 Reply Last reply
                      0
                      • M mtm87

                        Hi, habe den Adapter heute installiert bekommen, ich kann auch die Heizart umschalten unter "Objekte".
                        Bisher habe ich mit einem Java-script gearbeitet.
                        Da hatte ich folgendes drin stehen:

                        sendTo('viessmannapi.0', 'action', {
                        feature: 'heating.circuits.1.operating.modes.active',
                        action: 'setMode',
                        payload: {mode: "dhwAndHeating"}
                        });

                        ich habe jetzt schon versucht das hin zu bekommen, aber leider fehlt mir jegliche Kompetenz.
                        Kann mir jemand von euch helfen?
                        Mit freundlichen Grüßen

                        T Offline
                        T Offline
                        tombox
                        wrote on last edited by
                        #54

                        @mtm87 Im Javascript einfach setState oder?
                        setState('viessmanapi.0.xxxx.0.xxxxxx','dhwAndHeating')

                        Stefan EpunktS M 2 Replies Last reply
                        0
                        • T tombox

                          @mtm87 Im Javascript einfach setState oder?
                          setState('viessmanapi.0.xxxx.0.xxxxxx','dhwAndHeating')

                          Stefan EpunktS Offline
                          Stefan EpunktS Offline
                          Stefan Epunkt
                          wrote on last edited by
                          #55

                          @tombox

                          @tombox
                          Schön das es mit dem Adapter weitergeht, habe es bisher selbst aber nicht geschafft die Instanz zum laufen zu bringen.
                          Habe das aufm Raspi installiert und erhalte diese Meldung:

                          "startInstance system.adapter.viessmannapi.0: required adapter "admin" has wrong version. Installed "3.6.0", required ">=4.0.9"!"

                          Habe aber admin 4.2.1 am laufen.

                          Hier noch die Raspi Info:

                          Platform: linux
                          os: linux
                          Architecture: arm
                          CPUs: 4
                          Speed: 900 MHz
                          Model: ARMv7 Processor rev 5 (v7l)
                          RAM: 926 MB
                          System uptime: 10:09:20
                          Node.js: v12.22.4
                          NPM: 6.14.14
                          Disk size: 14.3 GiB
                          Disk free: 9.6 GiB
                          adapters count: 338
                          Uptime: 09:54:47
                          Active instances: 11

                          Die ViCare App läuft , Client ID erstellt.

                          Was kann ich noch tun?

                          Danke schonmal

                          T 1 Reply Last reply
                          0
                          • Stefan EpunktS Stefan Epunkt

                            @tombox

                            @tombox
                            Schön das es mit dem Adapter weitergeht, habe es bisher selbst aber nicht geschafft die Instanz zum laufen zu bringen.
                            Habe das aufm Raspi installiert und erhalte diese Meldung:

                            "startInstance system.adapter.viessmannapi.0: required adapter "admin" has wrong version. Installed "3.6.0", required ">=4.0.9"!"

                            Habe aber admin 4.2.1 am laufen.

                            Hier noch die Raspi Info:

                            Platform: linux
                            os: linux
                            Architecture: arm
                            CPUs: 4
                            Speed: 900 MHz
                            Model: ARMv7 Processor rev 5 (v7l)
                            RAM: 926 MB
                            System uptime: 10:09:20
                            Node.js: v12.22.4
                            NPM: 6.14.14
                            Disk size: 14.3 GiB
                            Disk free: 9.6 GiB
                            adapters count: 338
                            Uptime: 09:54:47
                            Active instances: 11

                            Die ViCare App läuft , Client ID erstellt.

                            Was kann ich noch tun?

                            Danke schonmal

                            T Offline
                            T Offline
                            tombox
                            wrote on last edited by
                            #56

                            @stefan-epunkt dann ist deine Installation schief vielleicht auf latest repo Wechsel. Auch müsste admin 5 aktuell sein

                            Stefan EpunktS 1 Reply Last reply
                            0
                            • T tombox

                              @stefan-epunkt dann ist deine Installation schief vielleicht auf latest repo Wechsel. Auch müsste admin 5 aktuell sein

                              Stefan EpunktS Offline
                              Stefan EpunktS Offline
                              Stefan Epunkt
                              wrote on last edited by
                              #57

                              @tombox

                              Moin tombox,

                              danke für deine tipps, habe eben den admin auf 5.1.23 geupdatet. Nun startet dein Adapter....und hat auch Objekte angelegt..mal gucken wie es weitergeht..

                              Danke nochmal schneller gehts nicht ...

                              1 Reply Last reply
                              0
                              • T tombox

                                @mtm87 Im Javascript einfach setState oder?
                                setState('viessmanapi.0.xxxx.0.xxxxxx','dhwAndHeating')

                                M Offline
                                M Offline
                                mtm87
                                wrote on last edited by
                                #58

                                @tombox Vielen vielen Dank, es hat funktioniert.

                                1 Reply Last reply
                                0
                                • T 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

                                  J Offline
                                  J Offline
                                  jrudolph
                                  wrote on last edited by
                                  #59

                                  @tombox Ich habe den Adapter seit dem 5.8. erfolgreich laufen. Vielen Dank nochmal für die gute Arbeit. Der Adapter zeigt welche Vielfalt an Daten über die API erreichbar ist.

                                  Folgende Beobachtungen habe ich inzwischen gemacht:

                                  1. Der Adapter kommt aus dem Fall "Limit von 1450 Calls pro Tag erreicht" nicht wieder allein raus (Fehler 429). Da hilft nur der Adapter-Neustart. Ich hatte ein Abrufintervall von 1 Minute eingestellt.
                                  2. Offensichtlich werden bei jedem Abrufintervall vor den Feature Daten (die eigentlich interessanten Data Points), auch immer die Event Daten und die Installationsdaten abgerufen. Die Installationsdaten dürften sich kaum ändern; da reicht sicher eine Abfrage beim Adapterstart. Die Event Daten sind i.d.R. auch nicht interessant (man sieht die nächtliche DSL Neuverbindung), aber möglicherweise auch Anlagenstörungen? Ein Abfrageintervall von 1x pro Tag reicht sicher. Das Intervall von 1x pro Minute für die Feature Daten wäre mir wichtig (z.B. für die Modulation des Brenners).

                                  Danke und viele Grüße
                                  Jürgen

                                  T 1 Reply Last reply
                                  0
                                  • ? Offline
                                    ? Offline
                                    A Former User
                                    wrote on last edited by
                                    #60

                                    @jrudolph sehr guter Ansatz die Abfrage zu optimieren !

                                    Störungen werden unter den Events angezeigt, hab welche von 2013 drin..

                                    1 Reply Last reply
                                    0
                                    • J jrudolph

                                      @tombox Ich habe den Adapter seit dem 5.8. erfolgreich laufen. Vielen Dank nochmal für die gute Arbeit. Der Adapter zeigt welche Vielfalt an Daten über die API erreichbar ist.

                                      Folgende Beobachtungen habe ich inzwischen gemacht:

                                      1. Der Adapter kommt aus dem Fall "Limit von 1450 Calls pro Tag erreicht" nicht wieder allein raus (Fehler 429). Da hilft nur der Adapter-Neustart. Ich hatte ein Abrufintervall von 1 Minute eingestellt.
                                      2. Offensichtlich werden bei jedem Abrufintervall vor den Feature Daten (die eigentlich interessanten Data Points), auch immer die Event Daten und die Installationsdaten abgerufen. Die Installationsdaten dürften sich kaum ändern; da reicht sicher eine Abfrage beim Adapterstart. Die Event Daten sind i.d.R. auch nicht interessant (man sieht die nächtliche DSL Neuverbindung), aber möglicherweise auch Anlagenstörungen? Ein Abfrageintervall von 1x pro Tag reicht sicher. Das Intervall von 1x pro Minute für die Feature Daten wäre mir wichtig (z.B. für die Modulation des Brenners).

                                      Danke und viele Grüße
                                      Jürgen

                                      T Offline
                                      T Offline
                                      tombox
                                      wrote on last edited by
                                      #61

                                      @jrudolph kannst du ein Beispiel log von 429 zeigen

                                      J 1 Reply Last reply
                                      0
                                      • T tombox

                                        @jrudolph kannst du ein Beispiel log von 429 zeigen

                                        J Offline
                                        J Offline
                                        jrudolph
                                        wrote on last edited by
                                        #62

                                        @tombox z.B.
                                        2021-08-07 19:33:27.023 - error: viessmannapi.0 (10019) Error: Request failed with status code 429
                                        2021-08-07 19:33:27.025 - error: viessmannapi.0 (10019) {"viErrorId":"req-5dc5529f67a74c1e9b55e75e1263d8f5","statusCode":429,"errorType":"RATE_LIMIT_EXCEEDED","message":"API calls rate limit has been exceeded. Please wait until your limit will renew.","extendedPayload":{"name":"development portal "75755f453bf1929a02b34a0eae6a4b48" daily limit","requestCountLimit":1450,"clientId":"75755f453bf1929a02b34a0eae6a4b48","userId":"c65d8494-7d16-440b-af4b-56c458dff99c","limitReset":1628380805088}}

                                        Zum Zeitpunkt LimitReset war die API wieder frei. Vorher wiederholt sich der Fehler permanent.

                                        T 1 Reply Last reply
                                        0
                                        • J jrudolph

                                          @tombox z.B.
                                          2021-08-07 19:33:27.023 - error: viessmannapi.0 (10019) Error: Request failed with status code 429
                                          2021-08-07 19:33:27.025 - error: viessmannapi.0 (10019) {"viErrorId":"req-5dc5529f67a74c1e9b55e75e1263d8f5","statusCode":429,"errorType":"RATE_LIMIT_EXCEEDED","message":"API calls rate limit has been exceeded. Please wait until your limit will renew.","extendedPayload":{"name":"development portal "75755f453bf1929a02b34a0eae6a4b48" daily limit","requestCountLimit":1450,"clientId":"75755f453bf1929a02b34a0eae6a4b48","userId":"c65d8494-7d16-440b-af4b-56c458dff99c","limitReset":1628380805088}}

                                          Zum Zeitpunkt LimitReset war die API wieder frei. Vorher wiederholt sich der Fehler permanent.

                                          T Offline
                                          T Offline
                                          tombox
                                          wrote on last edited by
                                          #63

                                          @jrudolph Ich habe mal die requests umgestellt.

                                          Es gibt jetzt ein eignen Interval für events. Default ist da 300min/5h
                                          Es werden die Features vom Gateway nicht mehr geholt.

                                          Somit sollte ein Interval von 1min möglich sein.
                                          Er sollte sich nachts um 2 selber vom 429 erholen außer er wird vorher neugestartet

                                          J B 2 Replies 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

                                          519

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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