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.
    • 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
              • Issr4k
                Issr4k @Scrounger last edited by Issr4k

                @scrounger Habe mir deine Dateien ja auch angesehen und leider keinen passenden Typ gefunden.
                Die Adresse die ich genannt habe stehen ja im Handbuch drin.
                Die 0488 und 0489 nicht, wenn ich es richtig gesehen habe…

                Hättest du denn irgendeinen Ansatz für zB die 5012?

                Edit:
                Das Einschalten des Heizstabes wäre ja theoretisch die logische Konsequenz, wenn der Verdichter gesperrt ist und die Hysterese unterschritten wird (und der Heizstab auch freigegeben ist).

                Ich probiere das morgen mal manuell aus direkt am Display der Vitocal.
                5012 auf 0 setzen
                7901 auf 1 um Warmwasser über Heizstab zu erlauben und dann 1x Warmwasserbereitung.
                Dabei messe ich dann den Strom an den Vorsicherungen vom Verdichter und Heizstab.

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

                  @issr4k sagte in Viessmann-Adapter mit vcontrol:

                  Hättest du denn irgendeinen Ansatz für zB die 5012?

                  Hiermit gehts bei mir, unit UTI aus meiner vcontrold.xml nehmen:

                  		<command name="getFreigabeVerdichter" protocmd="getaddr">
                  			<addr>5012</addr>
                  			<len>1</len>
                  			<description>tbd</description>
                  			<unit>UTI</unit>
                  		</command>
                  		<command name="setFreigabeVerdichter" protocmd="setaddrValue">
                  			<addr>5012</addr>
                  			<len>1</len>
                  			<unit>UTI</unit>
                  			<description>tbd</description>
                  		</command>
                  

                  Edit:
                  Das Einschalten des Heizstabes wäre ja theoretisch die logische Konsequenz, wenn der Verdichter gesperrt ist und die Hysterese unterschritten wird (und der Heizstab auch freigegeben ist).

                  Ich probiere das morgen mal manuell aus direkt am Display der Vitocal.
                  5012 auf 0 setzen
                  7901 auf 1 um Warmwasser über Heizstab zu erlauben und dann 1x Warmwasserbereitung.
                  Dabei messe ich dann den Strom an den Vorsicherungen vom Verdichter und Heizstab.

                  Ah ok jetzt hab ich verstanden wie du das umsetzen willst - das sollte wohl klappen. Bin gespannt auf deine Erfahrungen.

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

                    @scrounger Prima, damit versuche ich es. Danke!

                    Und das manuelle Testen ebenso. Spätestens am Wochenende.

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

                      @scrounger Heute Abend teste ich meine neuen xml-Dateien. Wenn das Ergebnis positiv ausfällt, dann poste ich sie hier.

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

                        @issr4k

                        Und ich dachte es wäre einfach von 0 auf 1 und wieder zurück, da es im Menü an der Heizung ein einfacher an/aus Punkt ist 😲

                        Wieder erwas dazu gelehrnt 😊

                        Bin gespannt was eure Forschungen ergeben.
                        Ich bin noch bei der Suche nach einem günstigen Optolink-Kabel.

                        Gruß
                        Darth

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

                          @issr4k Hast du die Commands für die 7901?
                          Ich teste das mal parallel bei mir durch.

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

                            @darth2010
                            Leider nicht. Die Vitocal will immer lieber den Verdichter verwenden, was ja energetisch auch Sinn macht, aber der Heizstab arbeitet verschleißfrei (vorausgesetzt man übertreibt es nicht mit den Spitzentemperaturen, Stichwort Kalkausfall).
                            abe mein Optolink-Kabel von Kleinanzeigen ~ 35€, auf Löten hatte ich keine Lust.

                            @MartyBr was meinst du genau 7901, kann laut meinem Handbuch nur 0 und 1. Da steht aber etwas von Wärmepumpenkaskade bei… ggf. müssen wir auf 6015 aufweichen um den Heizstab für Warmwasser zu nutzen, darauf wird zumindest bei 7900 verwiesen…

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

                              @issr4k Bei meinem Handbuch steht zu 6015: Wert 0 und 1
                              Freigabe Durchlauferhitzer 7900
                              Freigabe Elektroheizeinsatz (Freigabe Zusatzheizung 6014)
                              Das verstehe ich nicht.
                              Wie schaltest du die 7901? Hast du dazu ein Code-Beispiel?
                              Ich habe an der VitoCal den Heizstab über die Codier-Ebene 1 freigeschaltet. Über das Menü kann ich den Heizstab schalten, ich bekomme es aber nicht über Vcontrol hin.

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

                                @martybr Ich bin leider noch nicht dazu gekommen.
                                Morgen im Laufe des Tages werde ich aber Erkenntnisse haben.

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

                                  @issr4k Lass dir Zeit, ich habe heute mal meine Dateien erstmal fertig bekommen. Die Lüftungswerte konnte ich noch nicht finalisieren. Ich bekomme da keine Werte. Es sollen 7D08 (Abluft-Temperatur Sollwert) und 7D1D (Quelle Raumtemperatur-Istwert).
                                  Ich habe mir nun eine Test Vito.xml mit diesen Werten gebaut und werde ich auch morgen mal testen.

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

                                    @scrounger
                                    @Issr4k
                                    Ich habe versucht, die Werte abzufragen. leider stürzt vcontrold immer ab. Vielleicht hat jemand einen Tipp für mich.

                                    Hier die Test-vito.xml:

                                    vito_test.xml

                                    <vito>
                                            <devices>
                                                    <device ID="204D" name="V200-S" protocol="P300"/>
                                            </devices>
                                    
                                    <commands>
                                    	
                                    <command name="getDevType" protocmd="getaddr">
                                                 <addr>00F8</addr>
                                                 <len>2</len>
                                                 <unit>UN</unit>
                                                 <description>Information - Allgemein: Anlagentyp (204D)</description>
                                         </command>
                                         <command name="getTempA" protocmd="getaddr">
                                                <addr>0101</addr>
                                                <len>2</len>
                                                <unit>UT</unit>
                                                <description>Information - Allgemein: Aussentemperatur (-40..70)</description>
                                         </command>
                                         
                                              <!--     VERDICHTER   -->
                                         
                                         	<command name="getFreigabeVerdichter" protocmd="getaddr">
                                    			    <addr>5012</addr>
                                    		    	<len>1</len>
                                    	    		<description>tbd</description>
                                    	    		<unit>UTI</unit>
                                    		</command>
                                    		<command name="setFreigabeVerdichter" protocmd="setaddrValue">
                                    		    	<addr>5012</addr>
                                    		    	<len>1</len>
                                    		        <unit>UTI</unit>
                                    			    <description>tbd</description>
                                    		</command>
                                        
                                             <!-- HEIZSTAB -->
                                        
                                        	<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>
                                         
                                         <!-- LUEFTUNG -->
                                      
                                     <!--	
                                     <command name="getFortluft" protocmd="getaddr">
                                             <addr>0A05</addr>
                                             <len>1</len>
                                             <unit>RT</unit>
                                             <description>Volumenstrom Fortluft</description>
                                     </command>
                                     <command name="getZuluft" protocmd="getaddr">
                                             <addr>0A04</addr>
                                             <len>1</len>
                                             <unit>RT</unit>
                                             <description>Volumenstrom Zuluft</description>
                                    </command> 
                                     -->
                                    </commands>
                                    </vito>
                                    
                                    

                                    Hier die Definitionen:

                                    	<unit name='Temperatur 1Byte ganzzahlig'>
                                              <abbrev>UTI</abbrev>
                                              <calc get='V' set='V'/>
                                              <type>uchar</type>
                                              <entity>°C</entity>
                                            </unit>
                                    
                                    
                                            <unit name='Bitstatus_Boolean'>
                                    			<abbrev>BST2</abbrev>
                                    			<type>enum</type>
                                    			<enum bytes='00' text='0'/>
                                    			<enum bytes='01' text='1'/>
                                    			<enum bytes='02' text='NV'/>
                                    			<enum text='UNKNOWN'/>
                                    	</unit>
                                    
                                    
                                    

                                    Meine originale Vito.xml startet ohne Probleme.

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

                                      Ich kann erfolgreichen Vollzug melden 🙂
                                      Zwar manuell über das Display der Vitocal, aber im Vorfeld konnte ich dann auch die 5012 aktiv über iobroker > vcontrold setzen.
                                      Danke @Scrounger !

                                      Warum bei reinen Zahlenwerten (5012 = 0-15Wertebereich) Integer nicht funktioniert verstehe ich nicht, aber stattdessen mit uchar ??!!!??? Bin halt kein Informatiker 😄

                                      So klappt es:

                                      <!-- vcontrold.xml -->
                                      <unit name='Einstellwert-Test'>
                                                <abbrev>XX</abbrev>
                                                <calc get='V' set='V'/>
                                                <type>uchar</type>
                                                <entity/>
                                      </unit>
                                      
                                      <!-- vito.xml -->
                                      <command name="setComp" protocmd="setaddrValue">
                                              <addr>5012</addr>
                                              <len>1</len>
                                              <unit>XX</unit>
                                              <description>Freigabe Verdichter </description>
                                      </command>
                                      <command name="getComp" protocmd="getaddr">
                                              <addr>5012</addr>
                                              <len>1</len>
                                              <unit>XX</unit>
                                              <description>Freigabe Verdichterstufe (1=WW 2=Heiz 3=WW+Heiz 15=default)</description>
                                      </command>
                                      
                                      1. 5012 auf 0 (Verdichter sperren)
                                        5012.png

                                      2. 7900 Freigabe Heizwasser-Durchlauferhitzer (DLH) beachten (bei mir automatisch auf "3", siehe Beschreibung)
                                        7900.PNG

                                      3. 7901 nicht aufrufbar bei der Vitocal 222-G (nur bei Kaskade) stattdessen 6015 auf 1
                                        gleiche Einstellung wie über das normale Benutzermnü > Warmwasser > Häckchen setzen bei "WW mit Elektro"
                                        6015.PNG

                                      4. ggf. 7902 auf 1
                                        7902.PNG

                                      5. ggf. Leistung des Durchlauferhitzers anpassen über 7907
                                        7907.PNG

                                      Den Strom habe ich wie angekündigt gemessen:
                                      IMG_4342.jpg

                                      während unter Diagnose > Anlagenübersicht der Heizstab vor sich hingeblinkt hat, gab der Verdichter keinen Mucks von sich...

                                      Die "2" links davor kennzeichnet die Leistung (7907)
                                      IMG_4339.GIF

                                      Generell ist die Stromaufnahme etwas unsymmetrisch, das liegt aber an den unterschiedlichen Leistungen der Heizwiderstände:
                                      dlh.PNG

                                      Generell muss man sagen, dass die Visualisierung über das Display der Vitocal sehr träge ist bis etwas zu sehen ist, auch bis der Heizstab mal endlich ansprang, gingen Sekunden ins Land.

                                       <command name="setComp" protocmd="setaddrValue">
                                              <addr>5012</addr>
                                              <len>1</len>
                                              <unit>XX</unit>
                                              <description>Freigabe Verdichter (0=aus 1=WW 2=Heiz 3=WW+Heiz 15=default)</description>
                                       </command>
                                      
                                       <command name="setHeaterforWW" protocmd="setaddrValue">
                                              <addr>6015</addr>
                                              <len>1</len>
                                              <unit>XX</unit>
                                              <description>Druchlauferhitzer für Warmwasser aktivieren</description>
                                        </command>
                                          
                                       <command name="setHeaterforRoomtemp" protocmd="setaddrValue">
                                              <addr>7902</addr>
                                              <len>1</len>
                                              <unit>XX</unit>
                                              <description>Durchlauferhitzer für Heizung aktivieren</description>
                                      </command>
                                      
                                      <command name="setHeater" protocmd="setaddrValue">
                                              <addr>7907</addr>
                                              <len>1</len>
                                              <unit>XX</unit>
                                              <description>Leistung Durchlauferhitzer (1=3, 2=6 oder 3=9kW)</descript>
                                      </command>
                                      
                                      D 1 Reply Last reply Reply Quote 1
                                      • Issr4k
                                        Issr4k @MartyBr last edited by

                                        @martybr Hast du mal mit "debug on" versucht über cli?

                                        Habe das auch ab und zu mal. Neustart hilft dann.

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

                                          @issr4k
                                          Ich habe den Fehler gefunden. Da war </description> falsch geschrieben .

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

                                            @blauholsten sagte in Viessmann-Adapter mit vcontrol:

                                            @martybr

                                            Hi, dann wird in deinen xml Dateien die Type Deklaration nicht passen.

                                            Das Problem konnte ich lösen.
                                            Ich habe aber eine Verständnisfrage: Ich versuche die VitoVent zu integrieren. Dazu ändere ich häufig die Vito.xml Datei. Bei jeder Änderung muss die Viessmann-Instanz löschen und wieder installieren. Da gehen mir natürlich auch die Datenpunkte verloren, die ich per Influxdb logge.
                                            Hast du hierfür einen Tipp? Ich hatte in GitHub??? gesehen, dass du an einer Lösung für das dynamische Einlesen der Vito.xml Datei arbeitest.
                                            Vielleicht habe ich auch etwas verwechselt 😀 , schön wäre es dann trotzdem.

                                            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

                                            518
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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