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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Viessmann-Adapter

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    996

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Viessmann-Adapter

Scheduled Pinned Locked Moved ioBroker Allgemein
viesmann
523 Posts 50 Posters 157.5k Views 19 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B4n4n3B Offline
    B4n4n3B Offline
    B4n4n3
    wrote on last edited by
    #341

    Hallo zusammen,

    ich bin gerade dabei eine Vitotronic 300 GW2 anzubinden.

    vcontrold und der Viessmann-Adapter laufen soweit.

    Ich hab schwierigkeiten herauszufinden welches Protocol ich verwenden muss.

    Hat jemand für die Heizungssteuerung eine Vito.xml?

    Ich denke mir würde auch weiterhelfen wenn ich verstehen könnte wie ich die Adressen herraus finden kann.

    Vielleicht kann mir jemand dabei etwas weiterhelfen.

    Vielen Dank!

    Grüße B4n4n3

    1 Reply Last reply
    0
    • X Offline
      X Offline
      XerXes777
      wrote on last edited by
      #342

      @passuff:

      Generell kann ich nur empfehlen, sich die vito.xml anhand der vitosoft 300 demo mitgelieferten Beschreibungsdateien selsbt zu basteln oder zumindest zu überprüfen. Es geistert auch viel Mist herum. Die benötigten Infos/Dateien findet man nach der Installation im Verzeichnis: …\Viessmann Vitosoft 300 SID1\ServiceTool\MobileClient\Config

      Eurn Heizungstypen könnt ihr auch vorab mit dem Optolinkkabel, der Vitosoft Demo und einem Laptop in Erfahrung bringen.. `

      Wie bist du daran gekommen an die Software ?

      1 Reply Last reply
      0
      • P Offline
        P Offline
        passuff
        wrote on last edited by
        #343

        Hier gibts die 90 Tage Demo:

        https://connectivity.viessmann.com/de-d … osoft.html

        1 Reply Last reply
        0
        • X Offline
          X Offline
          XerXes777
          wrote on last edited by
          #344

          Wie hoch ist Chance, das man seine Parameter von der Heizung zerschießt?

          Habe zu Anfang mit den ganzen Tools,

          testweise eine Verbindung aufgebaut.

          Eigentlich mit allen Tools für Windows,

          die im Wiki gelistet sind, wo auch die Anleitung

          für eine Installation für den Pi und vcontrold

          sind.

          Habe mit dem einem test Tool auch einen Wert

          glaube das war 2020 ausversehen gesendet.

          Habe mir jetzt mal die Demo von Vitosoft 300 geladen.

          Und mir alle Parameter mal so angeschaut.

          Dabei sind mir ein paar seltsame Werte aufgefallen.

          Siehe Bilder

          Siehe HK Name:
          5054_10.png

          Siehe mehrere Parameter mit 255:
          5054_14.png

          1 Reply Last reply
          0
          • L Online
            L Online
            Linedancer
            wrote on last edited by
            #345

            Ich hab vor einigen Tagen festgestellt das das Schreiben des Niveau mit Werten kleiner Null nicht funktioniert. Scheint aber kein Problem des Adapters zu sein, vcontrold macht das anscheinend nicht korrekt.

            –

            Ciao, Gerhard

            1 Reply Last reply
            0
            • P Offline
              P Offline
              passuff
              wrote on last edited by
              #346

              Ich bin gerade auf einen interessanten thread in vcontrold github gestoßen:

              https://github.com/openv/openv/issues/218

              Axel Hoogestraat beschreibt hier sehr schön, wie er:

              1. die verfügbaren Mess- und Verstellgrößen der eigenen Anlage aus der Vitosoft 300 Demo bekommt (wie hier auch schon beschrieben)

              2. verschieden Messgrößen auf der selben Adresse aber unterschiedlichen Bits auslesen kann (wie hier in den letzten Jahren des öfteren Beschriebene Adresse 0x2500 für HK_RaumsolltemperaturaktuellA1M1, HK_Frostgefahr_aktivA1M1 und HK_AktuelleBetriebsartA1M1)

              3. alle verfügbaren Anlagentypen und deren Mess-/Verstellgrößen in eine Datenbank gespeichert hat

              Ich versuche gerade den Ansatz nachzuvollziehen sowie herauszufinden, ob Axel seine DB jemals veröffentlicht hat.

              Diese Konversation ist leider ein Übertrag aus dem openv /vcontrold wikispace, welches geschlossen wurde. Axel schreibt aber von der CCU.IO, daher habe ich gehofft ihn hier zu finden oder zumindest jemand der weiß was aus der Datenbank bzw. seinen Berechnungen geworden ist. Im Netz bin ich jedenfalls bisher auf keine xml Dateien gestoßen, welche auf ein und der selben Adresse zwei Messwerte ermitteln können.

              1 Reply Last reply
              0
              • D Offline
                D Offline
                dtp
                wrote on last edited by dtp
                #347

                Ich zeige euch hier mal meine vis-Steuerung unserer Viessmann Vitodens 200W (VScotHO1), weil ich bereits mehrfach darum gebeben wurde. Das Ganze ist aber absolut ohne Gewähr und Support. Aber es funktioniert bei mir nun so schon seit geraumer Zeit ohne Probleme.

                Die Seite zum Anzeigen der aktuellen Timer-Werte:
                996_2019-01-02_17h56_30.png

                Hier als txt-Datei zum Importieren:

                Das zugehörige Javaskript (sicherlich an einigen Stellen noch verbesserungswürdig, da ich kein "großer" Javaskript-Programmierer bin 8-) ):

                EDIT (15.01.2020): Da es Probleme gab mit der Datenübernahme bei der Forumsumstellung, habe ich den fehlerhaft übernommenen Code vorerst entfernt. Ich werde ihn aber zeitnah neu einfügen.

                ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                1 Reply Last reply
                0
                • P Offline
                  P Offline
                  passuff
                  wrote on last edited by
                  #348

                  @ Thorsten: Vielen Dank für deine Files!

                  Ich habe es mittlerweile geschafft die Brennerleistung und den Status für die VScotHO1 hinzuzufügen. Beides auf der selben Adresse, allerdings verschiedene Bytes (0/1).Prinzipiell funktioniert es also. Leider kann man mit vcontrold derzeit meines Wissens zwar lange Blöcke lesen, aber nciht auswerten. Für die Auswertung sind derzeit nur 10 Bytes zugelassen.

                  Für manche vl nichts Neues, für andere hier Brennerstatus/-leistung:

                  vcontrold.xml

                  ! <unit name="Prozent"><abbrev>PC1</abbrev>
                  ! <calc get="V/2" set="V*2"><type>short</type>
                  ! <entity>%</entity></calc></unit>
                  ! <unit name="StatusByte2"><abbrev>STB2</abbrev>
                  ! <calc get="B1" set="B1"><type>char</type></calc></unit>

                  vito.xml

                  ! <command name="getVitoPWRState_CFDM_value" protocmd="getaddr"></command>
                  ! <addr>A38F</addr>
                  ! <len>1</len>
                  ! <unit>PC1</unit>
                  ! <description>Brennerleistung in %</description>
                  ! <command name="getVitoPWRState_CFDM_state" protocmd="getaddr"></command>
                  ! <addr>A38F</addr>
                  ! <len>2</len>
                  ! <unit>STB2</unit>
                  ! <description>Brennerstatus</description>

                  Ich mache mich jetzt an den vcontrold source code um die 0..9Byte Begrenzung https://github.com/openv/openv/wiki/vcontrold.xml aufzuheben. Um zB den Frostschutzstatus, oder die Aktuelle SollRaumTemp zu lesen benötigt man mindestens 16 Byte.

                  Ich habe gerade ein Problem mit dem Viessmann Adapter. Wenn ich meiner Vito.xml Messgrößen hinzufüge und die xml im Adapter neu einlese werden diese hinzugefügt, lösche ich allerdings im xml Messgrößen, werden diese im Adapter nicht entfernt. Einzige Lösung für mich: Adapter deinstallieren.

                  1 Reply Last reply
                  0
                  • B4n4n3B Offline
                    B4n4n3B Offline
                    B4n4n3
                    wrote on last edited by
                    #349

                    dein letzt genanntes Problem kann ich bestätigen.

                    1 Reply Last reply
                    0
                    • blauholstenB Offline
                      blauholstenB Offline
                      blauholsten
                      Developer
                      wrote on last edited by
                      #350

                      @passuff:

                      .

                      Ich habe gerade ein Problem mit dem Viessmann Adapter. Wenn ich meiner Vito.xml Messgrößen hinzufüge und die xml im Adapter neu einlese werden diese hinzugefügt, lösche ich allerdings im xml Messgrößen, werden diese im Adapter nicht entfernt. Einzige Lösung für mich: Adapter deinstallieren. `

                      Hi,

                      Ich kann das reproduzieren. Schaue es mir die Tage an, auf die schnelle kann ich nichts entdecken. Bitte ein wenig Geduld, danke

                      Entwickler vom: - Viessman Adapter
                      - Alarm Adapter

                      1 Reply Last reply
                      0
                      • X Offline
                        X Offline
                        XerXes777
                        wrote on last edited by
                        #351

                        Moin Moin,

                        anbei kurz meine Daten:

                        Vitodens 222-F

                        Typ B2SB

                        Mit Vitotronic 200, Typ HO1B

                        Typ von Vitosoft:

                        VScotHO1_200_11

                        Möchte gleich auf das 300er Protokoll aufbauen.

                        Im vcontrold Ordner befindet sich ja schon gefüllte xml Dateien.

                        Ich möchte aber erstmal klein starten.

                        Und erstmal mit einfachen Dingen anfangen um auch die Thematik zu verstehen.

                        Mag mir einer eine vito.xml und vcontrold.xml

                        mit 2-3 Werten für meine Heizung erstellen?

                        So das ich auch Rückschlüsse ziehen kann,

                        welche Sachen noch in so eine xml Datei sowie mit rein muss.

                        Vielen Dank im Voraus.

                        1 Reply Last reply
                        0
                        • X Offline
                          X Offline
                          XerXes777
                          wrote on last edited by
                          #352

                          @dtp:

                          http://forum.iobroker.net/viewtopic.php?f=23&t=3048&p=27794#p27794 hatte ich meine XML-Dateien für die VScotHO1 angefügt. Vielleicht hilft's. Hab sie gerade mal aktualisiert.

                          …

                          Gruß,

                          Thorsten `

                          Hast du eventuell die schonmal wieder aktualisiert ?

                          Mit freundlichen Grüßen

                          Kevin

                          1 Reply Last reply
                          0
                          • P Offline
                            P Offline
                            passuff
                            wrote on last edited by
                            #353

                            @blauholsten:

                            Hi,

                            Ich kann das reproduzieren. Schaue es mir die Tage an, auf die schnelle kann ich nichts entdecken. Bitte ein wenig Geduld, danke `

                            Danke.

                            Mir ist noch was anderes aufgefallen. Solange die AUßentemperatur im positiven liegt, werden die Messgrößen gerundet und korrekt im Objektreiter angezeigt und auch in der influxdb gespeichert. Sobald die Temperatur aber unter 0 geht, sehe ich die Nachkommastellen (so wie auch die Rohwerte) und ich bekomme von influxdb die folgende Fehlermeldung:

                            2019-01-03 05:40:35.984 - warn: influxdb.0 Add viessmann.0.get.VitoTempAussenIst to conflicting Points (71 now)
                            2019-01-03 05:41:35.163 - warn: influxdb.0 Error on writePoint("{"value":"-0.100000 °C","time":"2019-01-03T04:41:34.885Z","from":"system.adapter.viessmann.0","q":0,"ack":true}): Error: {"error":"field type conflict: input field \"value\" on measurement \"viessmann.0.get.VitoTempAussenIst\" is type string, already exists as type float dropped=1"}
                            / "{\"error\":\"field type conflict: input field \\\"value\\\" on measurement \\\"viessmann.0.get.VitoTempAussenIst\\\" is type string, already exists as type float dropped=1\"}\n"
                            

                            Rohwerte im vcontrold telnet:

                            5050_2019-01-03_01-53-26.jpg

                            Gekürzte positive / ungekürzte negative Messwerte:

                            5050_2019-01-03_01-53-50.jpg

                            @XerXes777:

                            Moin Moin,

                            ….

                            VScotHO1_200_11

                            Mag mir einer eine vito.xml und vcontrold.xml `

                            Wenn du vcontrold bereits installiert hast, kennst du ja schon das Wiki.

                            https://github.com/openv/openv/wiki/vito.xml

                            https://github.com/openv/openv/wiki/vcontrold.xml

                            Hier noch meine Files für die VScotHO1_4 für zwei Heizkreise (A1M1/M2) mit WW Speicher ohne Solar etc:
                            5050_vito.xml
                            5050_vcontrold.xml

                            1 Reply Last reply
                            0
                            • blauholstenB Offline
                              blauholstenB Offline
                              blauholsten
                              Developer
                              wrote on last edited by
                              #354

                              Ich dachte das mit den negativ werten war schon erledigt :oops:

                              Schaue es mir die Tage an….

                              Entwickler vom: - Viessman Adapter
                              - Alarm Adapter

                              1 Reply Last reply
                              0
                              • P Offline
                                P Offline
                                passuff
                                wrote on last edited by
                                #355

                                @blauholsten:

                                Ich dachte das mit den negativ werten war schon erledigt :oops:

                                Schaue es mir die Tage an…. `

                                Danke Dir.

                                Ich bin mit dem Auswerten der Bytes >9 etwas weiter gekommen. Der code steckt in der "arithmetic.c".:

                                Da man B0-B9 nicht ohne weiteres um B10 -Boo abändern kann, habe ich es folgendermaßen gelöst. Vl fällt einem richtigen Programmierer etwas besseres ein:

                                ! case 'B':
                                ! count = 2;
                                ! switch (
                                (*str)++) {
                                ! case '0':
                                ! return BYTE0;
                                ! case '1':
                                ! return BYTE1;
                                ! case '2':
                                ! return BYTE2;
                                ! case '3':
                                ! return BYTE3;
                                ! case '4':
                                ! return BYTE4;
                                ! case '5':
                                ! return BYTE5;
                                ! case '6':
                                ! return BYTE6;
                                ! case '7':
                                ! return BYTE7;
                                ! case '8':
                                ! return BYTE8;
                                ! case '9':
                                ! return BYTE9;
                                ! case 'A':
                                ! return BYTEA;
                                ! case 'B':
                                ! return BYTEB;
                                ! case 'C':
                                ! return BYTEC;
                                ! case 'D':
                                ! return BYTED;
                                ! case 'E':
                                ! return BYTEE;
                                ! case 'F':
                                ! return BYTEF;
                                ! case 'G':
                                ! return BYTEG;
                                ! case 'H':
                                ! return BYTEH;
                                ! case 'I':
                                ! return BYTEI;
                                ! case 'J':
                                ! return BYTEJ;
                                ! case 'K':
                                ! return BYTEK;
                                ! case 'L':
                                ! return BYTEL;
                                ! case 'M':
                                ! return BYTEM;
                                ! case 'P':
                                ! return BITPOS;

                                D.h. man kann jetzt mit den Buchstaben A-M die Bytes 10-22 zurückgemeldet bekommen.

                                Damit ist es mir nun endlich möglich, die aktuelle Raum Soll Temp auf 0x2500 auszulesen:

                                Wäre schön wenn das jemand bei sich ausprobieren und bestätigen könnte.

                                vito.xml code````
                                <command name="getVitoTempRaumAktSoll_A1" protocmd="getaddr"></command>
                                <addr>2500</addr>
                                <len>13</len>
                                <unit>TDA</unit>
                                <description>Raumsolltemperatur aktuell in °C</description>

                                
                                vcontrold.xml code````
                                 <unit name="Temperatur"><abbrev>TDA</abbrev>
                                 <calc get="BC/10" set="BC*10"><type>short</type>
                                 <entity>°C</entity></calc></unit> 
                                

                                5050_arithmetic.c

                                1 Reply Last reply
                                0
                                • B4n4n3B Offline
                                  B4n4n3B Offline
                                  B4n4n3
                                  wrote on last edited by
                                  #356

                                  @dtp:

                                  Hier als txt-Datei zum Importieren: `

                                  Hallo Thorsten,

                                  was mach ich beim import deiner View falsch?

                                  Ich gehe auf "View importieren" und füge in das vorgesehene Feld den Inhalt deiner Text-Datei an.

                                  Dann vergebe ich noch einen Namen für die View… z.B. HeizungTimer

                                  Ich bekomme jedoch die Meldung: "Cannot render view HeizungTimer. Invalid Settings

                                  Irgendeinen Tip für mich? Ich musste bisher keine Views importieren und bin dahingehend unerfahren.

                                  gruß B4n4n3

                                  EDIT: ... WIDGET... es ist ein WIDGET... Über den Widget-Import scheint es zu gehen....sorry! :o

                                  1 Reply Last reply
                                  0
                                  • blauholstenB Offline
                                    blauholstenB Offline
                                    blauholsten
                                    Developer
                                    wrote on last edited by
                                    #357

                                    @passuff:

                                    Danke.

                                    Mir ist noch was anderes aufgefallen. Solange die AUßentemperatur im positiven liegt, werden die Messgrößen gerundet und korrekt im Objektreiter angezeigt und auch in der influxdb gespeichert. Sobald die Temperatur aber unter 0 geht, sehe ich die Nachkommastellen (so wie auch die Rohwerte) und ich bekomme von influxdb die folgende Fehlermeldung: `
                                    Kannst du die GitHub Version testen? Ich hoffe den Fehler beseitigt zu haben. Ich konnte allerdings nicht testen, da ich keine negativen Werte habe.

                                    Es wäre toll wenn du ein Feedback geben könntest, bei Erfolg, mache ich eine neue Version.

                                    Entwickler vom: - Viessman Adapter
                                    - Alarm Adapter

                                    1 Reply Last reply
                                    0
                                    • B4n4n3B Offline
                                      B4n4n3B Offline
                                      B4n4n3
                                      wrote on last edited by
                                      #358

                                      @dtp:

                                      …

                                      Und schließlich auch hier mein zughöriges Javaskript (räusper):

                                      ...

                                      Würde mich freuen, wenn wir das Ganze gemeinsam verbessern könnten, auch wenn es - wie gesagt - schon jetzt ganz gut funktioniert. `

                                      Hallo Thorsten,

                                      mir ist folgendes im Script für das setzen der Werte aufgefallen:

                                      Er mosert an das Porperty 'states' nicht existiert … aber warum das so ich konnte ich bisher auch nicht rausfinden.

                                      3387_screenshot_1.jpg

                                      Des Weiteren setzt du die Variable timer1AN und timer1AUS (Gilt auch für timer 2 - 4) über folgenden Code:

                                       timer1An = 60*timer1hAn+timer1mAn;
                                       timer1Aus = 60*timer1hAus+timer1mAus;
                                      

                                      Hierbei willst du string mit integer multiplizieren und addieren. Ich denke das hat trotzdem funktioniert …

                                      Schöner wäre vermutlich folgender Code:

                                       timer1An = 60*parseInt(timer1hAn,10)+parseInt(timer1mAn,10);
                                       timer1Aus = 60*parseInt(timer1hAus,10)+parseInt(timer1mAus,10);
                                      

                                      Hoffe ich hab nichts falsches verbreitet… wenn doch bitte schreien ;-)

                                      1 Reply Last reply
                                      0
                                      • B4n4n3B Offline
                                        B4n4n3B Offline
                                        B4n4n3
                                        wrote on last edited by
                                        #359

                                        Noch was… ich denke das folgende Variable so auch nicht korrekt ist...

                                        3387_screenshot_2.jpg

                                        Die Zeile müsste vermutlich nur wie folgt lauten:

                                        setState(path+'setVitoTimerSetzen', false);
                                        
                                        1 Reply Last reply
                                        0
                                        • D Offline
                                          D Offline
                                          dtp
                                          wrote on last edited by
                                          #360

                                          @B4n4n3

                                          Vielen Dank für Deine Hinweise. Hab's bei mir entsprechend korrigiert. Die Meldung zu common.states ist mir auch bereits aufgefallen. Aber bisher hatte ich da noch nicht weiter nach einer Lösung gesucht, weil es trotzdem funktoinierte. ;)

                                          Gruß,

                                          Thorsten

                                          ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          702

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe