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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Viessmann-Adapter mit vcontrol

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

      @issr4k
      Ja wäre auch interessant die vcontrold.xml auf ein minimum zu verschlanken

      EDIT: das 300er läuft bei mir nun auch 🙂

      Versuche weiter mit dem PV Thema

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

        @issr4k
        Hier mein Versuch mit der Vitovent. Ich habe mal zwei Datenpunkte, die in der Viessmann Beschreibung aufgeführt werden, eingetragen. Das habe ich dann auf meinem Testserver getestet, um mein Produktivsystem nicht zu verändern.

        Bei ersten Test ist VControld abgestürzt und hat keine Werte geliefert. Ein Telnet liess sich auch nicht beenden. Ich hatte als unit "RT" eingegeben.
        Bei Zweiten Versuch hatte ich dann als init "CO" eingetragen. Das führte dann nicht zum Absturz, liefere aber keine Werte. Hast du eine Übersicht über die unit-Werte? Es scheint da eine Menge zu geben.

        Hier die vito.xml aus dem Test-System:
        vito_test.xml

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

          @martybr habe leider keine Vitovent.

          Hatte noch einen kleinen Erfolg zB beim Verdichter sperren (5012) Werkseinstellung sind 15.. Kann man in der Codierebene 1 natürlich aufrufen.
          Vcontrold bekommt auch was allerdings habe ich noch nicht so recht die richtige einheit..
          Wenn ich über telnet „debug on“ die 5012 aufrufe, versteht vcontrold die Antwort Stand jetzt nicht.
          Bei debug bekomme ich aber ein 0x0F sprich 15.
          Wenn ich über die Vitocal die 5012 anpasse auf zB 11 .
          Steht bei Debug 0xB… also die werte kommen korrekt an, jetzt müsste man noch tüfteln, sodass vcontrol sie auch versteht.

          Bei dem 5012 (siehe Anleitung)
          Handelt es sich um einen Parameter mit 4 Bit
          Bit—Wertigkeit—Einstellwert—Summe
          Bit 0 — 1 — 1 — 1
          Bit 1 — 2 — 1 — 2
          Bit 2 — 4 — 1 — 4
          Bit 3 — 8 — 1 — 8

          Sind dann insgesamt 15, nimmt man Bit 2 raus bzw setzt den Einstellwert auf 0 landen wir bei den angesprochenen 11.
          Ich lade morgen dazu nochmal Fotos hoch, dann ist es eventuell verständlicher.

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

            @issr4k Eine kurze Frage:
            Laufen bei dir meine xml-Dateien? Ich habe gerade die vcontrold.xml etwas um neue Units erweitert. Sie läuft bei mir einwandfrei.
            Ich kann sie dir hier einstellen.

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

              @martybr
              Ja gerne doch!
              Welche units sind denn die neuen?
              Und wo hast du die her?

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

                @issr4k
                Die kann man in der vcontrold.xml selber definieren. Schau mal rein:
                vcontrold_neu.xml

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

                  @martybr und woher weißt du wie?

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

                                            Support us

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

                                            974
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            17
                                            348
                                            53594
                                            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