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

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    207

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

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

Test ViessmannAPI v2.0.0

Test ViessmannAPI v2.0.0

Scheduled Pinned Locked Moved Tester
802 Posts 127 Posters 279.5k 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.
  • S Offline
    S Offline
    skokarl
    wrote on last edited by skokarl
    #407

    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

    IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

    T 2 Replies Last reply
    0
    • S 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 Offline
      T Offline
      tombox
      wrote on last edited by
      #408

      @skokarl setValue auf true setzen geht nicht?

      1 Reply Last reply
      0
      • S Offline
        S Offline
        skokarl
        wrote on last edited by skokarl
        #409

        @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

        IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

        1 Reply Last reply
        0
        • S 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 Offline
          T Offline
          tombox
          wrote on last edited by
          #410

          @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
          1
          • T tombox

            @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 Offline
            S Offline
            skokarl
            wrote on last edited by
            #411

            @tombox

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

            pump.jpg

            IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

            T 1 Reply Last reply
            0
            • S skokarl

              @tombox

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

              pump.jpg

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

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

              1 Reply Last reply
              1
              • C Offline
                C Offline
                C0rd0n
                wrote on last edited by C0rd0n
                #413

                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
                0
                • C 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 Offline
                  T Offline
                  tombox
                  wrote on last edited by
                  #414

                  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

                  lemonbiterL 1 Reply Last reply
                  0
                  • T tombox

                    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

                    lemonbiterL Offline
                    lemonbiterL Offline
                    lemonbiter
                    wrote on last edited by lemonbiter
                    #415

                    @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
                    1
                    • lemonbiterL 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 Offline
                      M Offline
                      mading
                      wrote on last edited by
                      #416

                      @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
                      1
                      • C createch2

                        @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?

                        Q Offline
                        Q Offline
                        quotschmacher
                        wrote on last edited by quotschmacher
                        #417

                        @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
                        0
                        • T tombox

                          October 2021
                          Update zu neuen Device Features - Gas / Power consumption
                          Folgende Features sind nun über die API zugänglich.

                          heating.gas.consumption.summary.heating

                          heating.gas.consumption.summary.dhw

                          heating.power.consumption.summary.heating

                          heating.power.consumption.summary.dhw

                          C Offline
                          C Offline
                          crinc
                          wrote on last edited by
                          #418

                          @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
                          0
                          • C crinc

                            @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 Offline
                            T Offline
                            tombox
                            wrote on last edited by
                            #419

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

                            1 Reply Last reply
                            0
                            • Q Offline
                              Q Offline
                              quotschmacher
                              wrote on last edited by quotschmacher
                              #420

                              @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
                              1
                              • Q 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 Offline
                                M Offline
                                mading
                                wrote on last edited by mading
                                #421

                                @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 BanditFGB I 5 Replies Last reply
                                0
                                • M 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 Offline
                                  M Offline
                                  mading
                                  wrote on last edited by
                                  #422

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

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

                                    Q Offline
                                    Q Offline
                                    quotschmacher
                                    wrote on last edited by
                                    #423

                                    @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
                                    0
                                    • M 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

                                      BanditFGB Offline
                                      BanditFGB Offline
                                      BanditFG
                                      wrote on last edited by
                                      #424

                                      @mading

                                      hallo, verstehe ich dein Blockly richtig, das du über deinen eigenen Datenpunkt die Zirkulationspumpe für 5min einschaltest und diese dann automatisch wieder ausgeht??

                                      bei uns läuft die Pumpe aktuell nur Früh (4:30 - 11:00)und Abends (16:00 - 22:00) ich überlege das aber per Anwesenheit zu machen, falls keiner da ist, soll sie eben aus sein..

                                      hoffe damit lässt sich noch bissel Energie sparen

                                      könntest du mir eventuell helfen das Blockly anzupassen?

                                      M 1 Reply Last reply
                                      0
                                      • BanditFGB BanditFG

                                        @mading

                                        hallo, verstehe ich dein Blockly richtig, das du über deinen eigenen Datenpunkt die Zirkulationspumpe für 5min einschaltest und diese dann automatisch wieder ausgeht??

                                        bei uns läuft die Pumpe aktuell nur Früh (4:30 - 11:00)und Abends (16:00 - 22:00) ich überlege das aber per Anwesenheit zu machen, falls keiner da ist, soll sie eben aus sein..

                                        hoffe damit lässt sich noch bissel Energie sparen

                                        könntest du mir eventuell helfen das Blockly anzupassen?

                                        M Offline
                                        M Offline
                                        mading
                                        wrote on last edited by mading
                                        #425

                                        @banditfg das Blockly schaltet die ZP ein als würde sie dauernd laufen. Nach 5 Min Timeout schaltet sie den schedule wieder aus.

                                        Klar, helfe gern. Welcher Datenpunkt bestimmt bei dir, ob jemand da ist?

                                        Blöde Frage: läuft bei dir die Zirkulationspumpe wirklich stundenlang? Du verlierst doch wahnsinnig viel Wärme.

                                        BanditFGB 1 Reply Last reply
                                        0
                                        • M mading

                                          @banditfg das Blockly schaltet die ZP ein als würde sie dauernd laufen. Nach 5 Min Timeout schaltet sie den schedule wieder aus.

                                          Klar, helfe gern. Welcher Datenpunkt bestimmt bei dir, ob jemand da ist?

                                          Blöde Frage: läuft bei dir die Zirkulationspumpe wirklich stundenlang? Du verlierst doch wahnsinnig viel Wärme.

                                          BanditFGB Offline
                                          BanditFGB Offline
                                          BanditFG
                                          wrote on last edited by
                                          #426

                                          @mading

                                          der Datenpunkt der bei mir bestimmt ob jemand da ist heißt einfach "Anwesend", der steht auf true wenn entweder das Handy meine Frau oder meins Zuhause ist. (per Geofency)

                                          Ja die Zirkulationspumpe läuft aktuell Früh (4:30 - 11:00)und Abends (16:00 - 22:00) in dem 5/10 (im Zeitraum von 10Minuten läuft die Pumpe 5min) Intervall.

                                          Das hab ich erst vor paar tagen so eingestellt, vorher lief die immer durch..

                                          Du hast schon recht, in der Zeit wo die Zirkulationspumpe läuft kann man zusehen wie die Boilertemperatur runter geht.. 👎 Das 5/25 Intervall würde vielleicht noch was sparen...

                                          Deswegen war nun meine Überlegung die Zirkulationspumpe nur bei Anwesenheit in den Zeitfenstern laufen zu lassen.. denkst du das ist machbar??

                                          M 1 Reply 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

                                          110

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          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