Navigation

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

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test ViessmannAPI v2.0.0

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Dreman @lolax last edited by

      @lolax: Mach mal hier Druck, vielleicht kommt dann was von Viessmann 😠 .

      1 Reply Last reply Reply Quote 0
      • M
        mibr85 last edited by

        Hallo zusammen
        seit 1.7. bekomme ich über die API keine Werte mehr für:
        0.features.heating.compressors.0.heat.production.heating.week.properties.value.value
        0.features.heating.compressors.0.heat.production.dhw.week.properties.value.value
        Hat jemand das gleiche Problem?
        alle anderen Werte liefern weiterhin Daten...

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

          @mibr85 Im Forum wird darüber schon Diskutiert
          https://www.viessmann-community.com/t5/The-Viessmann-API/Datenpunkt-verschwunden/td-p/243492

          1 Reply Last reply Reply Quote 0
          • S
            skokarl last edited by skokarl

            Hallo, ich möchte gerne die Funktion "ich möchte Warmwasser" ( wie in der APP ) einschalten können. Alternativ natürlich auch wieder aus. Leider erschließt sich mir die Logik hier nicht, es gibt ja drei Zustände ...... hat das jemand realisiert ?

            edit: anscheinend alles auch schreibgeschützt.

            ww.jpg

            T 2 Replies Last reply Reply Quote 0
            • T
              tombox @skokarl last edited by

              @skokarl setValue auf true setzen geht nicht?

              1 Reply Last reply Reply Quote 0
              • S
                skokarl last edited by skokarl

                @tombox

                erklär mir mal bitte den Zusammenhang von active ( setvalue ), deactivate ( setvalue ), jeweils isExecutble mit true/false
                und dann noch properties active value .....

                ich bin gerade überfordet,
                eigentlich dachte ich man könnte wie in der APP über die Schnellwahltasten, Wasser an und ausschalten.

                das ist jetzt keine Kritik, ich raffe es gerade nicht. ( 36 Grad im Schatten )

                Bei dem Schreibschutz hatte ich den properties active value gemeint, dachte der reicht für an und ausschalten

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

                  @skokarl Ein wert der setExecutable true hat kann verändert werden in dem setValue auf true gesetzt wird zum einschalten auf activate.setValue zum ausschalten deactivate.setValue

                  den aktuellen Stand kann man sehen active.value

                  S 1 Reply Last reply Reply Quote 1
                  • S
                    skokarl @tombox last edited by

                    @tombox

                    besten Dank..... kriegst Du die Zirkulationspumpe auch noch hin ? ( Schreibschutz drin )

                    pump.jpg

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

                      @skokarl status werte gehen nicht musst du den passenden setValue finden

                      1 Reply Last reply Reply Quote 1
                      • C
                        C0rd0n last edited by C0rd0n

                        Hallo zusammen.

                        Wir haben bei uns vor einem Jahr eine neue Vitodens 333-F B3TG-11 installieren lassen.

                        Momentan ist die Heizungsanlage nur Witterungsgeführt und würde gerne einen Temperaturfühler zur Raumaufschaltung integrieren.

                        Das einfachste wäre es hierzu, eine Vitotrol 200/300-E dafür zu integrieren. Ich benötige hier jedoch nur den Temperaturfühler, nicht gleich die ganze Funktion der Fernbedienung. Jedoch ist es mit der Vitotrol möglich einen, dass die Raumtemperatur Einfluss auf die Heizkurve nimmt.

                        Ist es möglich die Raumtemperatur über iobroker anderweitig der Vitodens mitzuteilen?

                        Wieso das ganze? Ein Temperaturfühler befindet sich bei uns im Erdgeschoss. Unser Erdgeschoss ist fast komplett offen geschnitten. Scheint die Sonne, oder der Kamin ist an, wird es deutlich zu warm und die Heizung heizt munter weiter. Die Heizkurve ist aktuell so optimiert, dass die Heizung ohne Sonne und Kamin die gewünschte Temperatur gerade nochm so erreicht.

                        PS.: Nimmt die Heizung Bezug auf einen dieser Werte für mein Vorhaben?

                        heating.circuits.N.sensors.temperature.room

                        Shows the status and the value of the room temperature sensor for circuit N

                        heating.circuits.N.sensors.temperature.supply

                        Shows the status and the value of the supply temperature sensor for circuit N

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

                          https://documentation.viessmann.com/static/changelog

                          August 2022

                          Changes in IoT features - Ventilation

                          We reworked the existing ventilation.operating.programs. concept to provide more clarity on the IoT features. Therefore, we will rename certain ventilation related features:

                          ventilation.operating.programs.levelOne >> ventilation.levels.levelOne

                          ventilation.operating.programs.levelTwo >> ventilation.levels.levelTwo

                          ventilation.operating.programs.levelThree >> ventilation.levels.levelThree

                          ventilation.operating.programs.levelFour >> ventilation.levels.levelFour

                          ventilation.operating.programs.holiday >> ventilation.quickmodes.holiday

                          ventilation.operating.programs.comfort >> ventilation.quickmodes.comfort

                          ventilation.operating.programs.eco >> ventilation.quickmodes.eco

                          ventilation.operating.programs.silent >> ventilation.quickmodes.silent

                          ventilation.operating.programs.forcedLevelFour >> ventilation.quickmodes.forcedLevelFour

                          The IoT features are only renamed. There is no change in availibilty or functionality of the features itself.

                          The changes are not active as of now. We will inform you here as soon as the change is active.

                          Changes in IoT features

                          The following IoT features has been renamed in the API:

                          Old: heating.sensors.volumetricFlow.return:

                          New: heating.sensors.volumetricFlow.allengra

                          Shows information about volumetric flow on the return

                          Additionally, the following feature is now also available in the basic Version:

                          heating.solar.power.cumulativeProduced

                          Shows the cumulated value of power produced of the solar thermal in kWh

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

                            @tombox

                            Hallo zusammen. Erst mal ganz herzlichen Dank an Tombox für diesen Adapter!!

                            Meine neue Heizung (Vitodens 200w) wird ab Montag installiert. Ich habe den Adapter Viessmann API schon in ioB installiert, mir einen Developer Account angelegt und diesen erfolgreich mit ioB verbunden.

                            BITTE NICHT LACHEN: Jetzt eine vielleicht dusselige Frage. Wie kommen die Daten meiner neuen Heizung dann in den Developer Account bzw. in den Adapter?
                            Auf der (https://app.developer.viessmann.com/) habe ich ja den Account erstellt und eine clientID für ioB.
                            Muss ich nun die neue Heizung in der Viessmann App (ViCare) per Handy / Wlan "nur" mit den selben Zugangsdaten des Developer Accounts (gleicher Benutzername und Password) in Betrieb nehmen und die Anlage wird dann automatisch im Developer Account eingefügt und alles läuft dann automatisch?

                            Danke Euch
                            LG
                            LEM

                            M 1 Reply Last reply Reply Quote 1
                            • M
                              mading @lemonbiter last edited by

                              @lemonbiter

                              Bei meiner WP habe ich eine kleine Box (optolink) dazu erhalten, welche mit der Heizung verbunden und Wlan fähig ist. Du richtest dir einen Account ein und verknüpfst die Box mit deinem Account (im Zuge der Einrichtung) und bringst sie im Einrichtungsprozess in dein Wlan.

                              Ggf gibt es mittlerweile andere Lösungen.

                              1 Reply Last reply Reply Quote 1
                              • Q
                                quotschmacher @createch2 last edited by quotschmacher

                                @createch2 sagte in Test ViessmannAPI v2.0.0:

                                @jrudolph

                                Super, danke dir. Das ich den falschen Datenpunkt hatte habe ich auch gemerkt.
                                Dann werd ich wohl den Zeitplan temporär manipulieren müssen um zum Ziel zu kommen?
                                Hat das jemand mit der neuen Version des Adapters schon umgesetzt?

                                ich greife das mal auf: das sollte ja dann eigentlich zum einschalten über bewegungsmelder so laufen, das ich in viessmannapi.0.2050879.0.features.heating.dhw.pumps.circulation.schedule.commands.setSchedule.setValue bei auslösung des bewegungsmelders einen zeitplan mit der aktuellen zeit + ne stunde oder so eintrage und wenn keine bewegung mehr, dann einen leeren zeitplan. oder bin ich da jetzt ganz auf dem holzweg?

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

                                  @tombox

                                  Dein Adapter ist wirklich sehr hilfreich. Dickes Dankeschön.
                                  du hast hier geschrieben dass die Features rund um gas.consumption über die API zugänglich sind, bei mir erscheint der node gas nicht unter heating. Woran kann das liegen?
                                  no_gas_node.jpg

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

                                    @crinc Sowas im viessmann forum anfragen. Der Adapter zeigt exakt das an was die API zurückgibt

                                    1 Reply Last reply Reply Quote 0
                                    • Q
                                      quotschmacher last edited by quotschmacher

                                      @quotschmacher sagte in Test ViessmannAPI v2.0.0:

                                      ich greife das mal auf: das sollte ja dann eigentlich zum einschalten über bewegungsmelder so laufen, das ich in viessmannapi.0.2050879.0.features.heating.dhw.pumps.circulation.schedule.commands.setSchedule.setValue bei auslösung des bewegungsmelders einen zeitplan mit der aktuellen zeit + ne stunde oder so eintrage und wenn keine bewegung mehr, dann einen leeren zeitplan. oder bin ich da jetzt ganz auf dem holzweg?

                                      nochmal der vollständigkeithalber: zirkulationspumpe steuern geht soweit ganz gut (vitodens 200).

                                      // 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
                                      

                                      der vorteil das ganze über ein "begrenztes" schedule zu lösen: man muss bei der auswertung eines bewegungsmelders keine zeiten mehr auswerten. wenn der melder nach 21 triggert und das schedule neu gesetzt wird, startet die pumpe eh nicht.

                                      ich hab gestern ganz wild die schedules hin und her geschaltet und es hat super funktioniert.

                                      danke für den adapter @tombox

                                      M J 2 Replies Last reply Reply Quote 2
                                      • M
                                        mading @quotschmacher last edited by mading

                                        @quotschmacher sagte in Test ViessmannAPI v2.0.0:

                                        @quotschmacher sagte in Test ViessmannAPI v2.0.0:

                                        ich greife das mal auf: das sollte ja dann eigentlich zum einschalten über bewegungsmelder so laufen, das ich in viessmannapi.0.2050879.0.features.heating.dhw.pumps.circulation.schedule.commands.setSchedule.setValue bei auslösung des bewegungsmelders einen zeitplan mit der aktuellen zeit + ne stunde oder so eintrage und wenn keine bewegung mehr, dann einen leeren zeitplan. oder bin ich da jetzt ganz auf dem holzweg?

                                        nochmal der vollständigkeithalber: zirkulationspumpe steuern geht soweit ganz gut (vitodens 200).

                                        // 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
                                        

                                        der vorteil das ganze über ein "begrenztes" schedule zu lösen: man muss bei der auswertung eines bewegungsmelders keine zeiten mehr auswerten. wenn der melder nach 21 triggert und das schedule neu gesetzt wird, startet die pumpe eh nicht.

                                        ich hab gestern ganz wild die schedules hin und her geschaltet und es hat super funktioniert.

                                        danke für den adapter @tombox

                                        Hey, da will ich mich mal dran hängen. Ich hatte überlegt, mir einen kippschalter im Bad irgendwo zu platzieren, mit dem ich die Zirkulationspumpe ad hoc starten kann (Use Case: man steht im Bad und will duschen/ das Waschbecken mit WW benutzen). Eigentlich sollte es doch mit dem Skript kein Problem sein:

                                        • Eine Schaltervariable (bool) in den eigenen Datenpunkten zu setzen, welche von einem Blockly überwacht wird
                                        • ist die Variable auf true, wird der schedule (pump_on) gesetzt -> die Zirkulation läuft an
                                        • nach z.B. 5min wird automatisch pump_off gesetzt

                                        Verstehe ich es richtig, dass mit deinem Skript die Zirkulationspumpe von 6-21 Uhr durch laufen würde, wenn sie nicht wieder deaktiviert wird?

                                        edit: hab mal ein blockly gebaut

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                          <block type="procedures_defcustomnoreturn" id="C|6p3lu0hRewiE]Z{qnx" x="188" y="88">
                                            <mutation statements="false"></mutation>
                                            <field name="NAME">start-zirk</field>
                                            <field name="SCRIPT">Ly8gc2NoZWR1bGUgenVtIGVpbnNjaGFsdGVuLCBhbGxlcmRpbmdzIG51ciB6d2lzY2hlbiA2IHVuZCAyMSB1aHINCg0KdmFyIHB1bXBfb24gPSAneyJtb24iOlt7InN0YXJ0IjoiMDA6MDAiLCJlbmQiOiIyMzo1OSIsIm1vZGUiOiJvbiIsInBvc2l0aW9uIjowfV0sInR1ZSI6W3sic3RhcnQiOiIwNjowMCIsImVuZCI6IjIxOjAwIiwibW9kZSI6Im9uIiwicG9zaXRpb24iOjB9XSwid2VkIjpbeyJzdGFydCI6IjA2OjAwIiwiZW5kIjoiMjE6MDAiLCJtb2RlIjoib24iLCJwb3NpdGlvbiI6MH1dLCJ0aHUiOlt7InN0YXJ0IjoiMDY6MDAiLCJlbmQiOiIyMTowMCIsIm1vZGUiOiJvbiIsInBvc2l0aW9uIjowfV0sImZyaSI6W3sic3RhcnQiOiIwNjowMCIsImVuZCI6IjIxOjAwIiwibW9kZSI6Im9uIiwicG9zaXRpb24iOjB9XSwic2F0IjpbeyJzdGFydCI6IjA2OjAwIiwiZW5kIjoiMjE6MDAiLCJtb2RlIjoib24iLCJwb3NpdGlvbiI6MH1dLCJzdW4iOlt7InN0YXJ0IjoiMDY6MDAiLCJlbmQiOiIyMTowMCIsIm1vZGUiOiJvbiIsInBvc2l0aW9uIjowfV19Jw0KDQpzZXRTdGF0ZSgidmllc3NtYW5uYXBpLjAuNjQ4NTEuMC5mZWF0dXJlcy5oZWF0aW5nLmRody5wdW1wcy5jaXJjdWxhdGlvbi5zY2hlZHVsZS5jb21tYW5kcy5zZXRTY2hlZHVsZS5zZXRWYWx1ZSIsIEpTT04ucGFyc2UocHVtcF9vbikpOyAvLyBvZGVyIHB1bXBfb2Zm</field>
                                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                          </block>
                                          <block type="on_ext" id="OrrP|oAEW44xm)#CHi/x" x="563" y="88">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                            <field name="CONDITION">ne</field>
                                            <field name="ACK_CONDITION"></field>
                                            <value name="OID0">
                                              <shadow type="field_oid" id="Vf:2${EvnUSG~})eift%">
                                                <field name="oid">0_userdata.0.EigeneDatenpunkte.Heizung.ZirkulationAn</field>
                                              </shadow>
                                            </value>
                                            <statement name="STATEMENT">
                                              <block type="controls_if" id=")wR[o:^O40MXsYo|IaVD">
                                                <value name="IF0">
                                                  <block type="logic_compare" id="vKpLM;XY_RcIGh6,W8}T">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="on_source" id=")fMs4Fcf$,iYXBW!bX,$">
                                                        <field name="ATTR">state.val</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="logic_boolean" id="J5ijXAEjpY!7;c[{N/*G">
                                                        <field name="BOOL">TRUE</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO0">
                                                  <block type="procedures_callcustomnoreturn" id="cPECRG/O*H71[C0pKS3W">
                                                    <mutation name="start-zirk"></mutation>
                                                    <next>
                                                      <block type="telegram" id="T9Dc^Salh?]_(:9YeLNs">
                                                        <field name="INSTANCE"></field>
                                                        <field name="LOG"></field>
                                                        <field name="SILENT">FALSE</field>
                                                        <field name="PARSEMODE">default</field>
                                                        <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                                                        <value name="MESSAGE">
                                                          <shadow type="text" id="1_-=OC9}y+2rbxEF,Ps7">
                                                            <field name="TEXT">Zirkulationspumpe gestartet. 5 Minuten Timeout</field>
                                                          </shadow>
                                                        </value>
                                                        <next>
                                                          <block type="timeouts_wait" id="^+@b5Hgy=9Kt_8[LpCQ#">
                                                            <field name="DELAY">5</field>
                                                            <field name="UNIT">min</field>
                                                            <next>
                                                              <block type="update" id="3`LHXWh~d.hYJhTrvq]*">
                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                <field name="OID">0_userdata.0.EigeneDatenpunkte.Heizung.ZirkulationAn</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE">
                                                                  <block type="logic_boolean" id="ex|rf*=(uRZ~2{=|JWFM">
                                                                    <field name="BOOL">FALSE</field>
                                                                  </block>
                                                                </value>
                                                                <next>
                                                                  <block type="procedures_callcustomnoreturn" id="/vYJRv|tZ55;~!uax+W3">
                                                                    <mutation name="stop-zirk"></mutation>
                                                                    <next>
                                                                      <block type="telegram" id=":QA|!PHN6C*+Eo6eIfHX">
                                                                        <field name="INSTANCE"></field>
                                                                        <field name="LOG"></field>
                                                                        <field name="SILENT">FALSE</field>
                                                                        <field name="PARSEMODE">default</field>
                                                                        <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                                                                        <value name="MESSAGE">
                                                                          <shadow type="text" id="G!f5)/iMynkY@xR7o@ZR">
                                                                            <field name="TEXT">Zirkulationspumpe gestoppt.</field>
                                                                          </shadow>
                                                                        </value>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </statement>
                                              </block>
                                            </statement>
                                          </block>
                                          <block type="procedures_defcustomnoreturn" id="]0SXN4W+S6mvOy.:^$No" x="188" y="113">
                                            <mutation statements="false"></mutation>
                                            <field name="NAME">stop-zirk</field>
                                            <field name="SCRIPT">Ly8gc2NoZWR1bGUgbGVlcmVuIC0gcHVtcGUgYXVzc2NoYWx0ZW4NCg0KdmFyIHB1bXBfb2ZmID0gJ3sibW9uIjpbXSwgInR1ZSI6W10sIndlZCI6W10sInRodSI6W10sImZyaSI6W10sInNhdCI6W10sInN1biI6W119JyANCg0KIA0KDQpzZXRTdGF0ZSgidmllc3NtYW5uYXBpLjAuNjQ4NTEuMC5mZWF0dXJlcy5oZWF0aW5nLmRody5wdW1wcy5jaXJjdWxhdGlvbi5zY2hlZHVsZS5jb21tYW5kcy5zZXRTY2hlZHVsZS5zZXRWYWx1ZSIsIEpTT04ucGFyc2UocHVtcF9vZmYpKTsgLy8gb2RlciBwdW1wX29mZg==</field>
                                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                          </block>
                                        </xml>
                                        

                                        Danke!
                                        mading

                                        M Q BanditFG I 5 Replies Last reply Reply Quote 0
                                        • M
                                          mading @mading last edited by

                                          @mading scheint zu funktionieren, die ZP bekommt strom und zirkuliert.

                                          1 Reply Last reply Reply Quote 0
                                          • Q
                                            quotschmacher @mading last edited by

                                            @mading sagte in Test ViessmannAPI v2.0.0:

                                            Verstehe ich es richtig, dass mit deinem Skript die Zirkulationspumpe von 6-21 Uhr durch laufen würde, wenn sie nicht wieder deaktiviert wird?

                                            das tut sie so auch, dadurch das meist jemand zu hause ist. da ist es schon eine verbesserung denke ich mal, wenn sie ab und mal nicht korrekt schalten sollte, aber meist schon.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            730
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            125
                                            791
                                            186339
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo