Skip to content
  • 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
  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.2k

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

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

Test ViessmannAPI v2.0.0

Geplant Angeheftet Gesperrt Verschoben Tester
802 Beiträge 127 Kommentatoren 279.9k 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.
  • M Offline
    M Offline
    mibr85
    schrieb am zuletzt editiert von
    #405

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

    T 1 Antwort Letzte Antwort
    0
    • M mibr85

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

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

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

      1 Antwort Letzte Antwort
      0
      • 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 Online
                          M Online
                          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 Online
                                    M Online
                                    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 Online
                                      M Online
                                      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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          683

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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