Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test ViessmannAPI v2.0.0

NEWS

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

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

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

Test ViessmannAPI v2.0.0

Geplant Angeheftet Gesperrt Verschoben Tester
802 Beiträge 127 Kommentatoren 281.8k Aufrufe 124 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    skokarl
    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #408

      @skokarl setValue auf true setzen geht nicht?

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        skokarl
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • S skokarl

              @tombox

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

              pump.jpg

              T Offline
              T Offline
              tombox
              schrieb am zuletzt editiert von
              #412

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

              1 Antwort Letzte Antwort
              1
              • C Offline
                C Offline
                C0rd0n
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #419

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

                            1 Antwort Letzte Antwort
                            0
                            • Q Offline
                              Q Offline
                              quotschmacher
                              schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                              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
                                schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #422

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

                                  1 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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.. :-1: 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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          326

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe