Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Viessmann-Adapter

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

      @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 Reply Quote 0
      • B4n4n3
        B4n4n3 last edited by

        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 Reply Quote 0
        • D
          dtp last edited by

          @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

          1 Reply Last reply Reply Quote 0
          • P
            passuff last edited by

            @blauholsten:

            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. `

            Habe die aktuelle git Version (0.9.1) manuell über die Option "Installieren aus eigener URL" hinzugefügt und teste nun. Leider ist es hier gerade ebenfalls deutlich über 0°C. Ich halte dich aber auf dem Laufenden.

            1 Reply Last reply Reply Quote 0
            • D
              dtp last edited by

              @XerXes777:

              Hast du eventuell die schonmal wieder aktualisiert ? `

              Ich glaube, nein. An meiner Heizungsanlage hat sich ja nichts geändert. Ich schaue aber mal nach und poste ggf. die aktuellen XML-Dateien.

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

                Wisst ihr ob man z.B. die Zirkulationspume ohne Zeitplan ein- und ausschalten kann?

                Um den Status auszulesen nutze ich die Adresse "0846"

                Vielleicht habt ihr für mich einen Tipp.

                Vielen Dank!

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

                  @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. `

                  Habe es geschafft zu korrigieren, hoffe ich :roll: . Kannst du bitte die GitHub Version testen, sollte es wie bei mir auch klappen und keine weiteren Fehler entstanden sein, mache ich eine neue Version.

                  1 Reply Last reply Reply Quote 0
                  • P
                    passuff last edited by

                    @blauholsten:

                    Habe es geschafft zu korrigieren, hoffe ich :roll: . Kannst du bitte die GitHub Version testen, sollte es wie bei mir auch klappen und keine weiteren Fehler entstanden sein, mache ich eine neue Version. `

                    Funktioniert bei mir. Danke!

                    1 Reply Last reply Reply Quote 0
                    • L
                      Lachi last edited by

                      Juhu ich bekomme den Adapter nicht gestartet und hab alles ausprobiert.

                      Ich habe 2 Raspis:

                      1. Iobroker und Homematic
                      2. VControld

                      Iobroker und Homematic läuft seit ein paar Monaten bestens.
                      Vcontrold läuft auch, ich kann es über Putty erreichen und Werte abfragen.
                      Im Viessmann Adapter geht die 3 LED nicht auf grün und im Log wird folgendes geschreiben :
                      Egal ob ich ein Passwort eintrage oder nicht.

                      viessmann.0	2019-02-22 15:37:32.482	debug	SSH connection closed
                      viessmann.0	2019-02-22 15:37:32.482	warn	check your SSH login dates Error: connect ECONNREFUSED 192.168.178.46:22
                      viessmann.0	2019-02-22 15:37:32.482	debug	try to create a ssh session
                      viessmann.0	2019-02-22 15:37:32.481	debug	try to read xml files
                      viessmann.0	2019-02-22 15:37:32.480	info	starting. Version 0.9.2 in /opt/iobroker/node_modules/iobroker.viessmann, node: v6.12.3
                      host.Lachi-PI	2019-02-22 15:37:27.412	info	instance system.adapter.viessmann.0 started with pid 7581
                      host.Lachi-PI	2019-02-22 15:37:25.000	info	instance system.adapter.viessmann.0 terminated with code 0 (OK)
                      viessmann.0	2019-02-22 15:37:24.861	info	terminating
                      host.Lachi-PI	2019-02-22 15:37:24.806	info	stopInstance system.adapter.viessmann.0 killing pid 14369
                      host.Lachi-PI	2019-02-22 15:37:24.805	info	stopInstance system.adapter.viessmann.0
                      viessmann.0	2019-02-22 15:37:24.817	info	cleaned everything up...
                      host.Lachi-PI	2019-02-22 15:37:24.795	info	object change system.adapter.viessmann.0
                      

                      Ich bin etwas ratlos. Danke für eure Hilfe.

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

                        Dann sind deine anmelde Daten falsch.

                        Läuft auf dem vcontrold PI auch iobroker?

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

                          Frage, hast du die Port Adresse mit eingegeben? Falls ja, liegt da der Fehler.

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

                            Sry für die späte Rückmeldung, wenn man eine SSH Verbindung nutzt sollte man die auch auf dem PI aktivieren.

                            Andere Frage wo bekommt man XML Dateien her? Ich benutze die gerade vom Thorsten (vielen Dank dafür). Ich habe eine VScoth01 / 20CB. Die hat doch 2 Heizkreise. Ich weiß das der eine für die Fussbodenheizung und der andere für Heizkörper ist. Ich kann aber nur 1 Heizkreis auslesen. Gibt es auch eine Möglichkeit die aktuelle KW Leistung auszulesen? Ich weiß das die Viessmann 2,5 - 15 kW kann.

                            Vielen Dank für die Hilfe

                            1 Reply Last reply Reply Quote 0
                            • X
                              XerXes777 last edited by XerXes777

                              Moin Moin,

                              Ich habe ein Problem mit der Adresse 2500 damit soll man ja die Betriebsart auslesen können.

                              <command name='getHKBetriebsart' protocmd='getaddr'>
                                       <addr>2500</addr>
                                       <len>1</len>
                                       <unit>ABA</unit>
                                       <description>Aktuelle Betriebsart des Heizkreises</description>
                                    </command>
                              
                              <unit name='Aktuelle Betriebsart'>
                              			<abbrev>ABA</abbrev>
                              			<type>enum</type>
                              			<icalc get="(B16 &amp; (0x01&lt;&lt;BP))&gt;&gt; BP"/>
                              			<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>
                              

                              Wenn ich den Zustand auslese bekomme ich folgende Meldungen:
                              Heizung im Normalbetrieb (Schaltuhr) = 02
                              Heizung im Red. Betrieb = 02
                              Also ändert sich nix, wenn sich der Zustand tatsächlich ändert.

                              Meine Daten:
                              Vitodens 222-F
                              Typ B2SB
                              Mit Vitotronic 200, Typ HO1B
                              Typ von Vitosoft:
                              VScotHO1_200_11

                              Habe gesehen das die Adresse 2500 mehrfach genutzt wird.

                              • HK_AktuelleBetriebsartA1M1
                              • HK_Frostgefahr_aktivA1M1
                              • HK_RaumsolltemperaturaktuellA1M1

                              Wie kann ich jetzt vorgehen, damit ich die Betriebsart vom HK richtig auslesen kann?

                              1 Reply Last reply Reply Quote 0
                              • X
                                XerXes777 last edited by

                                Wie kann ich eine bestimmte Byteposition abfragen?

                                <command name='getBetriebsartHK' protocmd='getaddr'> <addr>2500</addr> <len>22</len> <unit>BAHK</unit> <description>'00'='Abschalt'; '01'='Reduziert'; '02'='Normal'; '03'='Normal2'; Setze Betriebsart vom Heizkreis</description> </command>
                                
                                <unit name='Betriebsart Heizkreis'> <abbrev>BAHK</abbrev> <type>short</type> <enum bytes='00' text='Abschalt'/> <enum bytes='01' text='Reduziert'/> <enum bytes='02' text='Normal'/> <enum bytes='03' text='Normal2'/> <enum text='?'/> </unit>
                                

                                Wie kann ich genau bestimme BYTE Positionen abfragen und als enum auswerten?

                                41 1B 01 01 25 00 16 02 02 46 63 66 00 0E 02 02 00 00 01 D2 00 00 00 00 0E 02 00 D2 00 32

                                Hier z.b als antwort die BYTE Position 1
                                oder die BYTE Position 12
                                Von links nach rechts gezählt mit 0 angefangen.

                                Ich denke das das mit icalc geht, aber ich brauche da den korrekten Ausdruck.

                                1 Reply Last reply Reply Quote 0
                                • X
                                  XerXes777 last edited by

                                  <command name='getBetriebsartHK' protocmd='getaddr'> <addr>2500</addr> <len>2</len> <unit>BAHK</unit> <description></description> </command>
                                  
                                  <unit name='Betriebsart Heizkreis'> <abbrev>BAHK</abbrev> <type>uchar</type> <icalc get='B1'/> <enum bytes='00' text='Abschalt'/> <enum bytes='01' text='Reduziert'/> <enum bytes='02' text='Normal'/> <enum bytes='03' text='Normal2'/> <enum text='?'/> </unit>
                                  
                                  <RECV: received 01 01 25 00 02 02 02 34
                                  
                                  (INT) Exp:B1 [BP:255] [B0:02 B1:02 B2:00 B3:00 B4:00 B5:00 B6:00 B7:00 B8:00 B9:00 ]
                                  
                                  Erg: (Hex max. 4Byte) 00000002
                                  
                                  02 F3 -> ?
                                  

                                  Warum bekomme ich Antwort : 02 F3 ???

                                  Nach der 02 bekomme ich Irgendwelche Daten.
                                  Die ich nicht will und nicht zuordnen kann.
                                  Sobald ich in der vito.xml bei dem command die <len>2</len> höher setzte bekomme ich noch mehr Daten.

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    passuff @XerXes777 last edited by

                                    @XerXes777 sagte in Viessmann-Adapter:

                                    <command name='getBetriebsartHK' protocmd='getaddr'> <addr>2500</addr> <len>2</len> <unit>BAHK</unit> <description></description> </command>
                                    
                                    <unit name='Betriebsart Heizkreis'> <abbrev>BAHK</abbrev> <type>uchar</type> <icalc get='B1'/> <enum bytes='00' text='Abschalt'/> <enum bytes='01' text='Reduziert'/> <enum bytes='02' text='Normal'/> <enum bytes='03' text='Normal2'/> <enum text='?'/> </unit>
                                    
                                    <RECV: received 01 01 25 00 02 02 02 34
                                    
                                    (INT) Exp:B1 [BP:255] [B0:02 B1:02 B2:00 B3:00 B4:00 B5:00 B6:00 B7:00 B8:00 B9:00 ]
                                    
                                    Erg: (Hex max. 4Byte) 00000002
                                    
                                    02 F3 -> ?
                                    

                                    Warum bekomme ich Antwort : 02 F3 ???

                                    Nach der 02 bekomme ich Irgendwelche Daten.
                                    Die ich nicht will und nicht zuordnen kann.
                                    Sobald ich in der vito.xml bei dem command die <len>2</len> höher setzte bekomme ich noch mehr Daten.

                                    Hast du vl überlesen, warst aber damals auch (im Thread) schon aktiv:

                                    https://forum.iobroker.net/topic/2715/viessmann-adapter/355

                                    Das Problem liegt im vcontrold code. Man kann mit dem Viessmann Diag Tool auch mehrere Werte auf einer Adresse lesen. Mit dem angepassten code funktioniert das auch....

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      sveni_lee last edited by

                                      Gibt es auch die Möglichkeit einen Fehler auszulesen. Meine Vitocal 222 mit Wärmepumpe schaltet ab und an mal auf störung wg dem Außenfühler. Ich würde das gern in iobroker gemeldet bekommen...
                                      Vor- und Rücklauf Temp funktionieren sehr gut aber wie komme ich an die Fehler?

                                      D 1 Reply Last reply Reply Quote 0
                                      • M
                                        MatzeK last edited by

                                        Hallo zusammen.
                                        Ich bin gerade dabei meine Viessmannheizung in ioBroker einzubinden.
                                        vcontrold wurde auf einem raspi aufgespielt. Adapter verbindet sich mit der Heizung (leuchtet Grün).
                                        Nur leider bekomme ich keine Werte von meiner Heizung angezeigt, liegt wohl an der xml-Datei.
                                        Hat jemand zufällig eine LuftWärmepumpe (WO1B) erfolgreich in ioBroker eingebunden und könnte mir die xml-Datei zu Verfügung stellen?

                                        Gruß Matthias

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          dtp last edited by

                                          Wenn ich meinen Raspi mit vcontrold neu starte, verliert der Viessmann-Adapter leider regelmäßig die Verbindung und geht auf Gelb. Kann man einen Adapter dazu bewegen, automatisch neu zu starten, wenn er z.B. 10 Minuten oder so auf Gelb steht?

                                          blauholsten 1 Reply Last reply Reply Quote 0
                                          • D
                                            dtp @sveni_lee last edited by dtp

                                            @sveni_lee sagte in Viessmann-Adapter:

                                            Gibt es auch die Möglichkeit einen Fehler auszulesen.

                                            Ja, sofern du die entsprechenden Adressen in deiner vito.xml difiniert hast. Für unsere VScotH01 sieht das z.B. so aus:

                                            		<!-- STOERUNG -->
                                            		
                                            		<command name='getVitoStatusStoerung' protocmd='getaddr'>
                                            			<addr>0A82</addr>
                                            			<len>1</len>
                                            			<unit>ES</unit>
                                            			<description>Status Störung</description>
                                            		</command>
                                            		<command name='getVitoStoerung1' protocmd='getaddr'>
                                            			<addr>7507</addr>
                                            			<len>9</len>
                                            			<unit>EM</unit>
                                            			<description>Störung Meldung 1</description>
                                            		</command>
                                            		<command name='getVitoStoerung2' protocmd='getaddr'>
                                            			<addr>7510</addr>
                                            			<len>9</len>
                                            			<unit>EM</unit>
                                            			<description>Störung Meldung 2</description>
                                            		</command>
                                            		<command name='getVitoStoerung3' protocmd='getaddr'>
                                            			<addr>7519</addr>
                                            			<len>9</len>
                                            			<unit>EM</unit>
                                            			<description>Störung Meldung 3</description>
                                            		</command>
                                            		<command name='getVitoStoerung4' protocmd='getaddr'>
                                            			<addr>7522</addr>
                                            			<len>9</len>
                                            			<unit>EM</unit>
                                            			<description>Störung Meldung 4</description>
                                            		</command>
                                            		<command name='getVitoStoerung5' protocmd='getaddr'>
                                            			<addr>752B</addr>
                                            			<len>9</len>
                                            			<unit>EM</unit>
                                            			<description>Störung Meldung 5</description>
                                            		</command>
                                            		<command name='getVitoStoerung6' protocmd='getaddr'>
                                            			<addr>7534</addr>
                                            			<len>9</len>
                                            			<unit>EM</unit>
                                            			<description>Störung Meldung 6</description>
                                            		</command>
                                            		<command name='getVitoStoerung7' protocmd='getaddr'>
                                            			<addr>753D</addr>
                                            			<len>9</len>
                                            			<unit>EM</unit>
                                            			<description>Störung Meldung 7</description>
                                            		</command>
                                            		<command name='getVitoStoerung8' protocmd='getaddr'>
                                            			<addr>7546</addr>
                                            			<len>9</len>
                                            			<unit>EM</unit>
                                            			<description>Störung Meldung 8</description>
                                            		</command>
                                            		<command name='getVitoStoerung9' protocmd='getaddr'>
                                            			<addr>754F</addr>
                                            			<len>9</len>
                                            			<unit>EM</unit>
                                            			<description>Störung Meldung 9</description>
                                            		</command>
                                            		<command name='getVitoStoerung10' protocmd='getaddr'>
                                            			<addr>7558</addr>
                                            			<len>9</len>
                                            			<unit>EM</unit>
                                            			<description>Störung Meldung 10</description>
                                            		</command>
                                            

                                            Anzeigen lasse ich mir das dann über ein entsprechendes Widget in vis.

                                            2019-07-26_15h06_02.png

                                            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

                                            800
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            viesmann
                                            50
                                            523
                                            129557
                                            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