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

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

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

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

Test ViessmannAPI v2.0.0

Geplant Angeheftet Gesperrt Verschoben Tester
802 Beiträge 127 Kommentatoren 281.1k Aufrufe 124 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.
  • A Offline
    A Offline
    amgxda
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      1
      • Tiger VIT Offline
        Tiger VIT Offline
        Tiger VI
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #48

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

          T Tiger VIT 2 Antworten Letzte Antwort
          0
          • T tombox

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

            T Offline
            T Offline
            Tometz
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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 :+1:

              L Offline
              L Offline
              LaBamba
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                mtm87
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • A asblass

                  Cool, danke @tombox für den neuen Viessmann Adapter :+1:

                  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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • L Offline
                    L Offline
                    LaBamba
                    schrieb am zuletzt editiert von
                    #53

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

                    1 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #54

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

                      Stefan EpunktS M 2 Antworten Letzte Antwort
                      0
                      • T tombox

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

                        Stefan EpunktS Offline
                        Stefan EpunktS Offline
                        Stefan Epunkt
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #56

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

                          Stefan EpunktS 1 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • T tombox

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

                              M Offline
                              M Offline
                              mtm87
                              schrieb am zuletzt editiert von
                              #58

                              @tombox Vielen vielen Dank, es hat funktioniert.

                              1 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • ? Offline
                                  ? Offline
                                  Ein ehemaliger Benutzer
                                  schrieb am zuletzt editiert von
                                  #60

                                  @jrudolph sehr guter Ansatz die Abfrage zu optimieren !

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

                                  1 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #61

                                    @jrudolph kannst du ein Beispiel log von 429 zeigen

                                    J 1 Antwort Letzte Antwort
                                    0
                                    • T tombox

                                      @jrudolph kannst du ein Beispiel log von 429 zeigen

                                      J Offline
                                      J Offline
                                      jrudolph
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antworten Letzte Antwort
                                        0
                                        • T tombox

                                          @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 Offline
                                          J Offline
                                          jrudolph
                                          schrieb am zuletzt editiert von
                                          #64

                                          @tombox Danke. Habe die Status Updates auf 1 Minute gesetzt und die Event Updates auf den voreingestellten 5h gelassen. (Nebenbei hatte ich gerade auf Admin 5 und js-controller 3.3 Master und Slave umgestellt. Daher hat es etwas bei mir gedauert.)

                                          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

                                          285

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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