Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Viessmann-Adapter mit vcontrol

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Viessmann-Adapter mit vcontrol

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MartyBr @Issr4k last edited by MartyBr

      @issr4k Ich habe mir verschiede vcontrold.xml Dateien angeschaut. Dort werden die <unit> Definitionen erstellt.

      Issr4k 1 Reply Last reply Reply Quote 0
      • Issr4k
        Issr4k @MartyBr last edited by

        @martybr Kannst du mir das an einem Beispiel erklären?

        M 1 Reply Last reply Reply Quote 0
        • M
          MartyBr @Issr4k last edited by

          @issr4k
          Hier zwei Unit-Einträge:

          <unit name='BetriebsArt'>
          	   <abbrev>BA</abbrev>
          	   <type>enum</type>
          	   <enum bytes='00' text='Abschaltbetrieb'/>
          	   <enum bytes='01' text='Warmwasser'/>
          	   <enum bytes='02' text='Heizen und Warmwasser'/>
          	   <enum bytes='03' text='3'/>
          	   <enum bytes='04' text='dauernd reduziert'/>
          	   <enum bytes='05' text='dauernd normal'/>
          	   <enum bytes='06' text='normal Abschalt'/>
           	   <enum bytes='07' text='nur Kuehlen'/>
                 <enum text='UNKNOWN'/>
          </unit>
          <unit name='Aktuelle Betriebsart'>
          			<abbrev>ABA</abbrev>
          			<type>enum</type>
          			<enum bytes='00' text='Abschaltbetr. (Dauernd)'/>
          			<enum bytes='01' text='Red. Betrieb (Schaltuhr)'/>
          			<enum bytes='02' text='Normalbetrieb (Schaltuhr)'/>
          			<enum bytes='03' text='Normalbetrieb (Dauernd)'/>
          			<enum text='?'/>
          </unit>
          

          Der obere steht in jeder XML. Hier werden Werte von 00 bis 07 ausgewertet. Der untere ist eine Variation, der die Werte von 00 bis 03 auswertet. Je nach Datenpunkt kannst du dann die entsprechende unit eintragen.

          Beispiel vito.xml:

            <command name="getTempSekVL" protocmd="getaddr">
                   <addr>0105</addr>
                   <len>2</len>
                   <unit>UT</unit>
                   <description>Information - Heizkreis HK1: Vorlauftemperatur Sekundaer 1 (0..95)</description>
               </command>
          

          Hier wird die unit == UT eingetragen. Die Definition steht wieder in der vcontrold.xml.

          Hier:

          <unit name='Temperatur'>
          	   <abbrev>UT</abbrev>
          	   <calc get='V/10' set='V*10'/>
          	   <type>short</type>
          	   <entity>° C</entity>
          </unit>
          
          Issr4k 1 Reply Last reply Reply Quote 0
          • Issr4k
            Issr4k @MartyBr last edited by

            @martybr sagte in Viessmann-Adapter mit vcontrol:

            @issr4k
            Hier zwei Unit-Einträge:

            <unit name='BetriebsArt'>
            	   <abbrev>BA</abbrev>
            	   <type>enum</type>
            	   <enum bytes='00' text='Abschaltbetrieb'/>
            	   <enum bytes='01' text='Warmwasser'/>
            	   <enum bytes='02' text='Heizen und Warmwasser'/>
            	   <enum bytes='03' text='3'/>
            	   <enum bytes='04' text='dauernd reduziert'/>
            	   <enum bytes='05' text='dauernd normal'/>
            	   <enum bytes='06' text='normal Abschalt'/>
             	   <enum bytes='07' text='nur Kuehlen'/>
                   <enum text='UNKNOWN'/>
            </unit>
            <unit name='Aktuelle Betriebsart'>
            			<abbrev>ABA</abbrev>
            			<type>enum</type>
            			<enum bytes='00' text='Abschaltbetr. (Dauernd)'/>
            			<enum bytes='01' text='Red. Betrieb (Schaltuhr)'/>
            			<enum bytes='02' text='Normalbetrieb (Schaltuhr)'/>
            			<enum bytes='03' text='Normalbetrieb (Dauernd)'/>
            			<enum text='?'/>
            </unit>
            

            Und wieder beispielhaft, mit welcher Adresse verwendest du die Einheit ABA ?

            M 2 Replies Last reply Reply Quote 0
            • M
              MartyBr @Issr4k last edited by

              @issr4k
              Habe ich noch nicht implementiert. Das wird mich in den nächsten Wochen beschäftigen. Ich schreibe ja gerade die vito.xml komplett um (hatte ich ja weiter oben geschrieben). Ich habe extra ein Testsystem aufgebaut, um mein laufendes System nicht zu himmeln.

              1 Reply Last reply Reply Quote 0
              • M
                MartyBr @Issr4k last edited by

                @issr4k
                Meine Liste von Viessmann der Datenpunkte zur 204D muss fehlerhaft sein. Ich habe jetzt versucht, die Lüftung zu integrieren, das ist aber fehlgeschlagen. Beim Vergleich der Datenpunkte funktionierende Befehle zur Viessmannliste zeigt große Differenzen.
                Hast du evtl. eine Liste der Datenpunkte?

                1 Reply Last reply Reply Quote 0
                • Scrounger
                  Scrounger Developer @MartyBr last edited by Scrounger

                  @martybr

                  Hier gibts ein nettes Projekt wo man sich die möglichen Adressen für sein Gerät rausziehen kann:
                  https://github.com/sarnau/InsideViessmannVitosoft

                  Bei mir ist das leider schon lange her und hat auch nur bedingt funktioniert. Ich hab mir da folgende Daten rausgezogen und nen Excel erstellt:
                  EventTypes.xlsx

                  Wenn man nach WPR3 filtert findet man alle Adressen inkl. Type für W01C Steuerung.
                  Allerdings muss man dann doch immer probieren ob die funktionieren. Ich hab mir das Handbuch genommen und dort nach den Adressen geschaut und dann getestet. Mit der Methode hab ich alles gefunden was ich so brauche. Die Adressen stehen ja auch in der Anlage wenn man in Codierebene 1 / 2 geht.

                  Hier mal meine xmls:
                  vcontrold.xml
                  vito.xml

                  Damit hab ich dann ne ganz nette Visu erstellen können:
                  45fca15f-3f77-4c5d-8ba6-45eda719e2b0-grafik.png

                  Edit:
                  Grad noch entdeckt: https://github.com/philippoo66/ViessData21
                  Hier gibts die Listen (DP_Listen_2.zip) pro Gerät.

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    MartyBr @Scrounger last edited by MartyBr

                    @scrounger Super, vielen Dank. Die Werte korrespondieren mit meinen Werten, dass scheint die gleiche Steuerung zu sein.
                    Eine Frage habe ich aber noch: Müssen eure Mieter niedrigere Temperaturen als ihr haben, oder ist das Zufall? 😁

                    Ich schaue mir mal in Ruhe die Excel an, auch hier für vielen Dank. Ich habe mir gerade das Handbuch der VitoTronic 200 rausgesucht. Dann kann ich da ja die Dateien finalisieren.
                    Ich habe nun auch im Handbuch endlich die Werte für die Vitovent gefunden:
                    Die liegen bei 7D0x.
                    Da steckt ja noch jede Menge Arbeit vor mir.

                    Meine Visa sieht aktuell so aus (nicht so schön wie deine, bin noch am basteln):
                    Bildschirmfoto 2023-02-20 um 21.40.37.png

                    Scrounger 1 Reply Last reply Reply Quote 0
                    • Scrounger
                      Scrounger Developer @MartyBr last edited by

                      @martybr sagte in Viessmann-Adapter mit vcontrol:

                      Eine Frage habe ich aber noch: Müssen eure Mieter niedrigere Temperaturen als ihr haben, oder ist das Zufall? 😁

                      Ich wusste das diese Frage kommen wird 😁

                      Da steckt ja noch jede Menge Arbeit vor mir.

                      Definitiv - ich habe Stunden damit verbracht. Hatte aber den positiven Nebeneffekt das ich mich sehr intensiv mit den Parametern beschäftigt habe und so noch einiges an der Anlage optimieren konnte.
                      Hat dabei geholfen Fehler in der Anlage aufzudecken und abzustellen, aber leider auch Fehler seitens Viessmann aufzudecken, die echt der Knaller sind....
                      https://www.viessmann-community.com/t5/Waermepumpe-Hybridsysteme/Standby-Stromverbrauch-Vitocal-200s/td-p/184588

                      M Issr4k 2 Replies Last reply Reply Quote 0
                      • M
                        MartyBr @Scrounger last edited by

                        @scrounger Das klingt heftig.
                        Ich ärgere mich seit einiger Zeit über Viessmann: Ich hatte mit 2016/2017, als ich neu gebaut habe, eine Steuerung von Viessmann installieren lassen: Homeautomatisierung live: die Vitocomfort. Damit konnte ich die Rollos etc. und die ganze Heizung inkl. Kühlung und Lüftung steuern. Alles über EnOcean. Top.
                        Letztes Jahr hat Viessmann die Vitocomfort abgekündigt. Als Ersatz gab es eine Migration (rabattiert) auf den Wibutler. Das ist ein tolles System mit u.a. Zwave, Zigbee und Enocean.
                        Das Dinges kann sogar mit Viessmann Komponenten. Leider keine Kühlung und es kennt die VitoVent 300F nicht.
                        Ich habe jetzt im Wibutler Forum einen Post hinterlassen, dass ich das Ding kostenlos abgebe. Schrottiges Forum, keine Antwort auf Fragen etc.
                        Nun Frust aus !!

                        1 Reply Last reply Reply Quote 0
                        • Issr4k
                          Issr4k last edited by Issr4k

                          Hier wie angekündigt die Bilder zu Beitrag 50
                          Habt ihr eine Idee wie ich den Datentyp abbilden kann?
                          So 100% habe ich das mit dem erstellen der Datentypen noch nicht verstanden.

                          Ich spreche 5012 an:

                          vito.PNG

                          und zurück kommt 0x0F... sprich 15

                          cli.PNG
                          IMG_4327.jpg

                          gleiches hier mit 0x0B bzw. 11

                          cli2.PNG
                          IMG_4328.jpg

                          EDIT:
                          Habe den Datentyp mal auf Integer geändert.

                           <unit name="Test">
                                <abbrev>XX</abbrev>
                                <calc get="V" set="V"/>
                                <type>int</type>
                                <entity/>
                              </unit>
                          

                          Damit bekomme ich zumindest mal den Dezimal Wert von vctrld rückgeliefert

                          Auf die gleiche Art einen Wert setzen geht allerdings nicht.

                          1 Reply Last reply Reply Quote 0
                          • blauholsten
                            blauholsten Developer @Issr4k last edited by blauholsten

                            @issr4k sagte in Viessmann-Adapter mit vcontrol:

                            @martybr
                            Ließt du nach jeder Änderung an der vito.xml im ioBroker adapter neu ein?
                            Bei mir passiert irgendwie gar nichts mehr im Adapter.
                            Wenn ich „neu einlesen“ ankreuze meldet iobroker das der adapter wiederholt abstürzt

                            @MartyBr
                            @Issr4k

                            Was sagt denn die Log Ausgabe dazu?
                            Ggf Mal auf debug stellen.

                            Issr4k 1 Reply Last reply Reply Quote 0
                            • Issr4k
                              Issr4k @blauholsten last edited by Issr4k

                              @blauholsten

                              So ok?

                              host.ioBroker 2023-02-21 10:10:44.881	error	instance system.adapter.viessmann.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                              viessmann.0 30446	2023-02-21 10:10:44.218	error	Cannot read properties of null (reading 'native')
                              viessmann.0 30446	2023-02-21 10:10:44.217	error	TypeError: Cannot read properties of null (reading 'native') at Viessmann.startAdapter (/opt/iobroker/node_modules/iobroker.viessmann/main.js:110:8)
                              viessmann.0 30446	2023-02-21 10:10:44.216	error	unhandled promise rejection: Cannot read properties of null (reading 'native')
                              viessmann.0 30446	2023-02-21 10:10:44.215	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                              host.ioBroker 2023-02-21 10:10:11.673	error	instance system.adapter.viessmann.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                              viessmann.0 30431	2023-02-21 10:10:11.001	error	Cannot read properties of null (reading 'native')
                              viessmann.0 30431	2023-02-21 10:10:11.001	error	TypeError: Cannot read properties of null (reading 'native') at Viessmann.startAdapter (/opt/iobroker/node_modules/iobroker.viessmann/main.js:110:8)
                              viessmann.0 30431	2023-02-21 10:10:10.999	error	unhandled promise rejection: Cannot read properties of null (reading 'native')
                              viessmann.0 30431	2023-02-21 10:10:10.998	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                              

                              12.PNG
                              adapter.PNG
                              warn.PNG

                              EDIT: Habe gerade nochmal gegengecheckt. Instanz entfernen und neu installieren funktioniert. Und dein Adapter läuft wieder !

                              M blauholsten 2 Replies Last reply Reply Quote 0
                              • M
                                MartyBr @Issr4k last edited by

                                @issr4k Das muss ich auch immer machen, wenn ich eine der xml-Dateien ändere.

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  Darth2010 @MartyBr last edited by

                                  @martybr

                                  Klasse Idee mit diesem Thread 👍
                                  Ich bin leider noch bei bei der Planung der Anbindung meiner Vitocal 222-G an ioBroker.

                                  Mein Ziel:
                                  Aktiveren /Deaktivieren des Heizsstabs über ioBroker.

                                  Hat dies schon jemand umgesetzt?

                                  Gruß
                                  Darth

                                  Issr4k 1 Reply Last reply Reply Quote 0
                                  • Issr4k
                                    Issr4k @Darth2010 last edited by Issr4k

                                    @darth2010 Da sind wir dran.
                                    Allerdings scheitert das momentan noch an den genauen Datentypen bzw. wie wir die Adressen ansprechen können.
                                    Ich kann z.B. die 790... aufrufen, aber bisher noch nicht ändern über vcontrold. Gleiches bei 5012

                                    Stand jetzt könnte es so aussehen bei z.B. einer Vitocal 222-G:

                                    • Parametergruppe 5012 auf 0 stellen (Verdichter sperren)
                                    • 7900 sollte auf 3 stehen (ergibt sich aber durch die Wärmepumpe selbst)
                                    • 7901 auf 1 (Freigabe Durchlauferhitzer (DLH) für Warmwasser) je nachdem ob gewünscht EDIT: laut Handbuch doch eher die 6015 auf 1
                                    • 7902 auf 1 (Freigabe DLH für Raumbeheizung) je nachdem ob gewünscht
                                    • 7907 auf 1, 2 oder 3 (Max. Leistung des DLH mit 3, 6 oder 9kW, Abstufung je nach PV Leistung)
                                      und dann ggf. noch die Solltemperaturen erhöhen:
                                    • 6000 auf zB. 60Grad (Warmwassersoll 1)
                                      oder
                                    • 600C (Warmwassersoll 2)
                                      dann ggf. noch
                                    • 2000 auf z.B. 24Grad (Soll-Raumtemperatur)

                                    Ob das is der Praxis dann auch so funktioniert bzw. die Wärmepumpe das mitmacht, wird sich zeigen 🙂

                                    Bitte immer alle Werte in der eigenen jeweiligen Serviceanleitung gegenprüfen.

                                    D 1 Reply Last reply Reply Quote 0
                                    • Issr4k
                                      Issr4k @Scrounger last edited by

                                      @scrounger Hast du eine Ahnung wie man die Adressen ansprechen könnte?

                                      Scrounger 1 Reply Last reply Reply Quote 0
                                      • Scrounger
                                        Scrounger Developer @Issr4k last edited by Scrounger

                                        @issr4k

                                        Also so wie ich das in meiner schlauen excel sehe ist:
                                        5012 readonly, boolean
                                        e5e4d069-65fb-45ce-8999-dede6d6583a2-grafik.png

                                        7900 readonly, boolean
                                        722b7b41-1998-4e0d-af5e-4d7d605b4b97-grafik.png

                                        7902 readonly, boolean
                                        84d4dd2b-8802-4770-84fc-f13c6888ee55-grafik.png

                                        @darth2010 sagte in Viessmann-Adapter mit vcontrol:

                                        Mein Ziel:
                                        Aktiveren /Deaktivieren des Heizsstabs über ioBroker.

                                        Das geht meines Wissen nach nicht.
                                        Weil die Adressen zum Heizstab alle readonly sind. Außerdem müsste ich bei meiner WP den Heizstab anschalten, die Sekundärpumpe und das 3-Wege-Ventil auf WW stellen. Ebenfalls alles readonly adressen.

                                        Die einzige Möglichkeit die ich kenne geht über die WW2 Bereitung - B020. Und da springt der Heizstab nur mit an wenn die Hysterese für den Heizstab 6008 greift.

                                        Ich hab mir einen Heizstab noch zusätzlich gekauft und den in meinem WW-Tank montiert. Der wird bei PV Überschuß per iob angesteuert. Im Sommer bleibt somit die WP komplett aus.

                                        Issr4k 1 Reply Last reply Reply Quote 0
                                        • Issr4k
                                          Issr4k @Scrounger last edited by Issr4k

                                          @scrounger sagte in Viessmann-Adapter mit vcontrol:

                                          Das geht meines Wissen nach nicht.
                                          Weil die Adressen zum Heizstab alle readonly sind. Außerdem müsste ich bei meiner WP den Heizstab anschalten, die Sekundärpumpe und das 3-Wege-Ventil auf WW stellen. Ebenfalls alles readonly adressen.

                                          Bist du sicher?
                                          Denn die Werte lassen sich über die Vitocal direkt am Display in Codierebene 1 ja auch ändern…

                                          Scrounger 1 Reply Last reply Reply Quote 0
                                          • Scrounger
                                            Scrounger Developer @Issr4k last edited by

                                            @issr4k

                                            Ok da hast du natürlich recht, dann muss man die auch schreiben können. Hab gesehen das die in der Excel 2mal auftauchen und da sind sie beschreibbar.
                                            Wie das genau geht müsste ich auch ausprobieren bzw. aus meiner vito eine Adresse mit gleichen type finden und dann entsprechend umbauen.

                                            Das sind aber nur Einstellungen die man dadurch ändert. Ein Einschalten des Heizstabes wird darüber denke ich nicht möglich sein. Ob Heizstab aktiv ist lese ich z.B. so aus:

                                            		<command name="getHeizstab_Stufe_1_aktiv" protocmd="getaddr">
                                            			<addr>0488</addr>
                                            			<len>1</len>
                                            			<description>Heizstab Stufe 1 ein/aus</description>
                                            			<unit>BST2</unit>
                                            		</command>
                                            		<command name="getHeizstab_Stufe_2_aktiv" protocmd="getaddr">
                                            			<addr>0489</addr>
                                            			<len>1</len>
                                            			<description>Heizstab Stufe 2 ein/aus</description>
                                            			<unit>BST2</unit>
                                            		</command>
                                            

                                            Schreiben ging bei den Adressen wenn ich es noch richtig im Kopf habe nicht.

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

                                            Support us

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

                                            475
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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