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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Viessmann-Adapter mit vcontrol

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
354 Beiträge 18 Kommentatoren 98.6k Aufrufe 17 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Darth2010

    @issr4k said in Viessmann-Adapter mit vcontrol:

    So hat es funktioniert:
    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

    D.h. wenn ich den Heizstab zusätzlich zum Verdichten anschalten möchte würde das ausreichen?

    Gruß
    Darth

    Issr4kI Offline
    Issr4kI Offline
    Issr4k
    schrieb am zuletzt editiert von Issr4k
    #92

    @darth2010 sagte in [Viessmann-Adapter mit vcontrol

    D.h. wenn ich den Heizstab zusätzlich zum Verdichten anschalten möchte würde das ausreichen?

    Ja!

    @MartyBr 👍🏼

    D 1 Antwort Letzte Antwort
    1
    • M Offline
      M Offline
      MartyBr
      schrieb am zuletzt editiert von
      #93

      @issr4k
      Ich habe deine <command> übernommen und auch in die Vito.xml eingebaut. Ich werde sie in den nächsten Tagen testen, so weit ich dafür Zeit finde.

      Meine Frau verplant gerade meinen Geburtstag, da kann es etwas eng werden :innocent:

      Gruß
      Martin


      Intel NUCs mit Proxmox / Iobroker als VM unter Debian
      Raspeberry mit USB Leseköpfen für Smartmeter
      Homematic und Homematic IP

      Issr4kI 1 Antwort Letzte Antwort
      0
      • M MartyBr

        @issr4k
        Ich habe deine <command> übernommen und auch in die Vito.xml eingebaut. Ich werde sie in den nächsten Tagen testen, so weit ich dafür Zeit finde.

        Meine Frau verplant gerade meinen Geburtstag, da kann es etwas eng werden :innocent:

        Issr4kI Offline
        Issr4kI Offline
        Issr4k
        schrieb am zuletzt editiert von
        #94

        @martybr hehe!
        Die Heizung ist ja auch noch nach der Feier da 😁😂

        M 1 Antwort Letzte Antwort
        0
        • Issr4kI Issr4k

          @martybr hehe!
          Die Heizung ist ja auch noch nach der Feier da 😁😂

          M Offline
          M Offline
          MartyBr
          schrieb am zuletzt editiert von
          #95

          @issr4k Die beiden Smileys passen gut. Meine Frau und ich haben beide im Abstand von 8 Tagen Geburtstag. da kommt immer was zusammen .....

          Gruß
          Martin


          Intel NUCs mit Proxmox / Iobroker als VM unter Debian
          Raspeberry mit USB Leseköpfen für Smartmeter
          Homematic und Homematic IP

          Issr4kI 1 Antwort Letzte Antwort
          0
          • M MartyBr

            @issr4k Die beiden Smileys passen gut. Meine Frau und ich haben beide im Abstand von 8 Tagen Geburtstag. da kommt immer was zusammen .....

            Issr4kI Offline
            Issr4kI Offline
            Issr4k
            schrieb am zuletzt editiert von
            #96

            @martybr
            Haha das kenne ich! :) Bei mir sind es 10 Tage

            1 Antwort Letzte Antwort
            0
            • Issr4kI Issr4k

              @darth2010 sagte in [Viessmann-Adapter mit vcontrol

              D.h. wenn ich den Heizstab zusätzlich zum Verdichten anschalten möchte würde das ausreichen?

              Ja!

              @MartyBr 👍🏼

              D Offline
              D Offline
              Darth2010
              schrieb am zuletzt editiert von Darth2010
              #97

              @issr4k

              Super, dann besorge ich ein Opto-Kabel und USB-Verlängerung um das ganze an den ioB-Server anzuschließen.

              Danke :+1:

              Muss man die Optolink Schnittstelle der Vitical noch freischalten oder ist die immer aktiv?

              M 1 Antwort Letzte Antwort
              0
              • D Darth2010

                @issr4k

                Super, dann besorge ich ein Opto-Kabel und USB-Verlängerung um das ganze an den ioB-Server anzuschließen.

                Danke :+1:

                Muss man die Optolink Schnittstelle der Vitical noch freischalten oder ist die immer aktiv?

                M Offline
                M Offline
                MartyBr
                schrieb am zuletzt editiert von
                #98

                @darth2010
                Die ist immer aktiv.

                Gruß
                Martin


                Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                Raspeberry mit USB Leseköpfen für Smartmeter
                Homematic und Homematic IP

                1 Antwort Letzte Antwort
                1
                • Issr4kI 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 !

                  blauholstenB Offline
                  blauholstenB Offline
                  blauholsten
                  Developer
                  schrieb am zuletzt editiert von
                  #99

                  @issr4k

                  Bitte mal die GitHub Version testen. Das Problem kam mit der Großen Code Umstellung die ich vor ein paar Wochen gemacht habe.

                  Ich konnte jetzt leider nicht testen, darum bitte mal testen und Feedback geben. Danke

                  Entwickler vom: - Viessman Adapter
                  - Alarm Adapter

                  Issr4kI 1 Antwort Letzte Antwort
                  0
                  • blauholstenB blauholsten

                    @issr4k

                    Bitte mal die GitHub Version testen. Das Problem kam mit der Großen Code Umstellung die ich vor ein paar Wochen gemacht habe.

                    Ich konnte jetzt leider nicht testen, darum bitte mal testen und Feedback geben. Danke

                    Issr4kI Offline
                    Issr4kI Offline
                    Issr4k
                    schrieb am zuletzt editiert von Issr4k
                    #100

                    @blauholsten

                    EDIT: Kann leider nicht testen.
                    Habe aus benutzerdefinierter URL https://github.com/misanorot/ioBroker.viessmann installiert. In der Objekt-Struktur taucht zwar etwas auf dieser Ordner ist leer.
                    Aber ansonsten komme ich in keine Adapterkonfiguration (Instanzen ist diesbezüglich leer) rein...

                    Muss auch dazu sagen, dass ich noch nie einen Adapter o.Ä. von außerhalb des Stable installiert habe.

                    Wenn du mir erklärst wie, kann ich gerne testen.

                    blauholstenB 1 Antwort Letzte Antwort
                    0
                    • Issr4kI Issr4k

                      @blauholsten

                      EDIT: Kann leider nicht testen.
                      Habe aus benutzerdefinierter URL https://github.com/misanorot/ioBroker.viessmann installiert. In der Objekt-Struktur taucht zwar etwas auf dieser Ordner ist leer.
                      Aber ansonsten komme ich in keine Adapterkonfiguration (Instanzen ist diesbezüglich leer) rein...

                      Muss auch dazu sagen, dass ich noch nie einen Adapter o.Ä. von außerhalb des Stable installiert habe.

                      Wenn du mir erklärst wie, kann ich gerne testen.

                      blauholstenB Offline
                      blauholstenB Offline
                      blauholsten
                      Developer
                      schrieb am zuletzt editiert von
                      #101

                      @issr4k Hallo, den eigentlichen Adapter vorher gelöscht?

                      Nach der Installation über GitHub, musst du über das plus Zeichen, eine Instanz hinzufügen.

                      Entwickler vom: - Viessman Adapter
                      - Alarm Adapter

                      Issr4kI 1 Antwort Letzte Antwort
                      0
                      • Issr4kI Issr4k

                        Grüß dich @martybr

                        Die set commands laufen bei meiner 222-g auf den gleichen Adressen wie die get commands.
                        zB. Warmwassertemp über ioB ändern funktioniert ohne Probleme.
                        Kann heute Abend meine Dateien anhängen.
                        Habe aber auch nur ein paar wenige Adressen, (dafür aber die mMn wichtigen), da meine Geräte-ID wohl nicht extrem verbreitet ist oder zu neu?! Aus dem Kopf müsste es die 204B sein...

                        Was meinst du mit dem kostenpflichtigem Abo?
                        Den Heizstab / Durchlauferhitzer haben doch alle Vitocal Wärmepumpen!

                        D Offline
                        D Offline
                        Darth2010
                        schrieb am zuletzt editiert von
                        #102

                        @issr4k said in Viessmann-Adapter mit vcontrol:

                        Grüß dich @martybr

                        Die set commands laufen bei meiner 222-g auf den gleichen Adressen wie die get commands.
                        zB. Warmwassertemp über ioB ändern funktioniert ohne Probleme.
                        Kann heute Abend meine Dateien anhängen.

                        Die vcontrold.xml ist irgendeine Standarddatei aus dem openv Forum, welche ich nur angepasst habe.
                        vito.xml vcontrold.xml

                        Edit: Falls die Adressen bei dir auch funktionieren sollten und du weitere herausfindest würde ich mich freuen, wenn du hier noch etwas postest :)

                        Hallo issr4k,
                        ich habe auch eine Vitocal 222-g und daher dachte ich nehme ich deine beiden XMLs als ersten Start.

                        Ich habe meinen PI soweit fertug und er ist per Optolink verbunden.

                        Ein Putty Test zeigt:

                        vctrld>version
                        Version: 0.98.12-4-g70ef62b
                        vctrld>getTempA
                        5.500000 Grad Celsius
                        
                        

                        Das sind zumindest schonmal Antworten von der Vitocal :blush:.

                        Nun verstehe ich die "5.500000 Grad Celsius" nicht... aktuell sind es 4.1°C.
                        Wo ist da der Fehler?

                        Gruß
                        Darth

                        Issr4kI M 3 Antworten Letzte Antwort
                        0
                        • D Darth2010

                          @issr4k said in Viessmann-Adapter mit vcontrol:

                          Grüß dich @martybr

                          Die set commands laufen bei meiner 222-g auf den gleichen Adressen wie die get commands.
                          zB. Warmwassertemp über ioB ändern funktioniert ohne Probleme.
                          Kann heute Abend meine Dateien anhängen.

                          Die vcontrold.xml ist irgendeine Standarddatei aus dem openv Forum, welche ich nur angepasst habe.
                          vito.xml vcontrold.xml

                          Edit: Falls die Adressen bei dir auch funktionieren sollten und du weitere herausfindest würde ich mich freuen, wenn du hier noch etwas postest :)

                          Hallo issr4k,
                          ich habe auch eine Vitocal 222-g und daher dachte ich nehme ich deine beiden XMLs als ersten Start.

                          Ich habe meinen PI soweit fertug und er ist per Optolink verbunden.

                          Ein Putty Test zeigt:

                          vctrld>version
                          Version: 0.98.12-4-g70ef62b
                          vctrld>getTempA
                          5.500000 Grad Celsius
                          
                          

                          Das sind zumindest schonmal Antworten von der Vitocal :blush:.

                          Nun verstehe ich die "5.500000 Grad Celsius" nicht... aktuell sind es 4.1°C.
                          Wo ist da der Fehler?

                          Gruß
                          Darth

                          Issr4kI Offline
                          Issr4kI Offline
                          Issr4k
                          schrieb am zuletzt editiert von
                          #103

                          @blauholsten bin leider noch nicht wieder ans Testen gekommen…

                          @darth2010 mhh kann ich dir ad-hoc nicht beantworten, eine Vermutung wäre möglicherweise das falsche Protokol. KW statt 300, da hatte ich zumindest auch schonmal abweichende Werte.
                          Davon abgesehen gaube ich, dass die xml Dateien aus einem der älteren Posts nicht meinen aktuellen entsprechen.
                          Ich schaue dass ich die heute Abend nochmal hochlade

                          1 Antwort Letzte Antwort
                          0
                          • D Darth2010

                            @issr4k said in Viessmann-Adapter mit vcontrol:

                            Grüß dich @martybr

                            Die set commands laufen bei meiner 222-g auf den gleichen Adressen wie die get commands.
                            zB. Warmwassertemp über ioB ändern funktioniert ohne Probleme.
                            Kann heute Abend meine Dateien anhängen.

                            Die vcontrold.xml ist irgendeine Standarddatei aus dem openv Forum, welche ich nur angepasst habe.
                            vito.xml vcontrold.xml

                            Edit: Falls die Adressen bei dir auch funktionieren sollten und du weitere herausfindest würde ich mich freuen, wenn du hier noch etwas postest :)

                            Hallo issr4k,
                            ich habe auch eine Vitocal 222-g und daher dachte ich nehme ich deine beiden XMLs als ersten Start.

                            Ich habe meinen PI soweit fertug und er ist per Optolink verbunden.

                            Ein Putty Test zeigt:

                            vctrld>version
                            Version: 0.98.12-4-g70ef62b
                            vctrld>getTempA
                            5.500000 Grad Celsius
                            
                            

                            Das sind zumindest schonmal Antworten von der Vitocal :blush:.

                            Nun verstehe ich die "5.500000 Grad Celsius" nicht... aktuell sind es 4.1°C.
                            Wo ist da der Fehler?

                            Gruß
                            Darth

                            M Offline
                            M Offline
                            MartyBr
                            schrieb am zuletzt editiert von
                            #104

                            @darth2010
                            Hier mal meine Dateien, die an der Vitocal 333g funktionieren.
                            Ich habe weiter unten einige Datenpunkte für die Lüftung Vitovent 300F eingefügt. Die kannst du ja löschen.

                            vcontrold.xml
                            vito.xml

                            Gruß
                            Martin


                            Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                            Raspeberry mit USB Leseköpfen für Smartmeter
                            Homematic und Homematic IP

                            M 1 Antwort Letzte Antwort
                            1
                            • M MartyBr

                              @darth2010
                              Hier mal meine Dateien, die an der Vitocal 333g funktionieren.
                              Ich habe weiter unten einige Datenpunkte für die Lüftung Vitovent 300F eingefügt. Die kannst du ja löschen.

                              vcontrold.xml
                              vito.xml

                              M Offline
                              M Offline
                              MartyBr
                              schrieb am zuletzt editiert von
                              #105

                              Mein VControld-Server stürzte nach einigen Tagen Betrieb ab. Ich habe nun die vcontrold-Version von 0.98.11 auf die 0.98.12 Version upgedated. Ich werde das ein paar Tage beobachten und hier berichten.

                              Gruß
                              Martin


                              Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                              Raspeberry mit USB Leseköpfen für Smartmeter
                              Homematic und Homematic IP

                              Issr4kI 1 Antwort Letzte Antwort
                              0
                              • D Darth2010

                                @issr4k said in Viessmann-Adapter mit vcontrol:

                                Grüß dich @martybr

                                Die set commands laufen bei meiner 222-g auf den gleichen Adressen wie die get commands.
                                zB. Warmwassertemp über ioB ändern funktioniert ohne Probleme.
                                Kann heute Abend meine Dateien anhängen.

                                Die vcontrold.xml ist irgendeine Standarddatei aus dem openv Forum, welche ich nur angepasst habe.
                                vito.xml vcontrold.xml

                                Edit: Falls die Adressen bei dir auch funktionieren sollten und du weitere herausfindest würde ich mich freuen, wenn du hier noch etwas postest :)

                                Hallo issr4k,
                                ich habe auch eine Vitocal 222-g und daher dachte ich nehme ich deine beiden XMLs als ersten Start.

                                Ich habe meinen PI soweit fertug und er ist per Optolink verbunden.

                                Ein Putty Test zeigt:

                                vctrld>version
                                Version: 0.98.12-4-g70ef62b
                                vctrld>getTempA
                                5.500000 Grad Celsius
                                
                                

                                Das sind zumindest schonmal Antworten von der Vitocal :blush:.

                                Nun verstehe ich die "5.500000 Grad Celsius" nicht... aktuell sind es 4.1°C.
                                Wo ist da der Fehler?

                                Gruß
                                Darth

                                Issr4kI Offline
                                Issr4kI Offline
                                Issr4k
                                schrieb am zuletzt editiert von Issr4k
                                #106

                                @darth2010
                                vcontrold.xml

                                <?xml version="1.0"?>
                                <V-Control xmlns:vcontrol="http://www.openv.de/vcontrol">
                                  <unix>
                                    <config>
                                      <username>nobody</username>
                                      <groupname>dialout</groupname>
                                      <serial>
                                        <tty>/dev/serial/port0</tty>   <!-- GGF. ZEILE ANPASSEN!!! -->
                                      </serial>
                                      <net>
                                        <port>3002</port>
                                      </net>
                                      <logging>
                                        <file>vcontrold.log</file>
                                        <syslog>n</syslog>
                                        <debug>n</debug>
                                      </logging>
                                      <device ID="204D"/>
                                    </config>
                                  </unix>
                                  <units>
                                    <unit name="Temperatur">
                                      <abbrev>UT</abbrev>
                                      <calc get="V/10" set="V*10"/>
                                      <type>short</type>
                                      <entity>°C</entity>
                                    </unit>
                                    <unit name="Temperatur100">
                                      <abbrev>UTH</abbrev>
                                      <calc get="V/100" set="V*100"/>
                                      <type>short</type>
                                      <entity>°C</entity>
                                    </unit>
                                    <unit name="Neigung">
                                      <abbrev>UN</abbrev>
                                      <calc get="V/10" set="V*10"/>
                                      <type>short</type>
                                      <entity/>
                                    </unit>
                                    <unit name="Temperatur 1Byte">
                                      <abbrev>UT1</abbrev>
                                      <calc get="V/2" set="V*2"/>
                                      <type>char</type>
                                      <entity>°C</entity>
                                    </unit>
                                    <unit name="Temperatur 1Byte unsigned">
                                      <abbrev>UT1U</abbrev>
                                      <calc get="V/2" set="V*2"/>
                                      <type>uchar</type>
                                      <entity>°C</entity>
                                    </unit>
                                    <unit name="Temperatur 1Byte ganzzahlig">
                                      <abbrev>UTI</abbrev>
                                      <calc get="V" set="V"/>
                                      <type>uchar</type>
                                      <entity>°C</entity>
                                    </unit>
                                    <unit name="Einstellwert">
                                      <abbrev>XX</abbrev>
                                      <calc get="V" set="V"/>
                                      <type>uchar</type>
                                      <entity/>
                                    </unit>
                                    <unit name="Counter">
                                      <abbrev>CO</abbrev>
                                      <calc get="V" set="V"/>
                                      <type>int</type>
                                      <entity/>
                                    </unit>
                                    <unit name="JAZ">
                                      <abbrev>JAZ</abbrev>
                                      <calc get="V/10" set="V/10"/>
                                      <type>int</type>
                                      <entity></entity>
                                      </unit>		
                                    <unit name="Volumenstrom">
                                      <abbrev>VS</abbrev>
                                      <calc get="V" set="V"/>
                                      <type>ushort</type>
                                      <entity>l/h</entity>
                                    </unit>
                                    <unit name="Counter liter">
                                      <abbrev>COL</abbrev>
                                      <calc get="V/1000" set="V*1000"/>
                                      <type>int</type>
                                      <entity/>
                                    </unit>
                                    <unit name="Prozent">
                                      <abbrev>PR</abbrev>
                                      <calc get="V/2" set="V*2"/>
                                      <type>short</type>
                                      <entity>%</entity>
                                    </unit>
                                    <unit name="Prozent 1 Byte ganzzahlig">
                                      <abbrev>PR1</abbrev>
                                      <calc get="V" set="V"/>
                                      <type>uchar</type>
                                      <entity>%</entity>
                                    </unit>
                                    <unit name="Prozent zweites Byte ganzzahlig (Pumpe)">
                                      <abbrev>PR2</abbrev>
                                      <calc get="B1" set="B1"/>
                                      <type>uchar</type>
                                      <entity>%</entity>
                                    </unit>
                                    <unit name="Prozent erstes Byte">
                                      <abbrev>PR3</abbrev>
                                      <calc get="V/2" set="V*2"/>
                                      <type>uchar</type>
                                      <entity>%</entity>
                                    </unit>
                                    <unit name="CounterS">
                                      <abbrev>CS</abbrev>
                                      <calc get="V/3600" set="V*3600"/>
                                      <type>uint</type>
                                      <entity>Stunden</entity>
                                    </unit>
                                    <unit name="CycleTime">
                                      <abbrev>CT</abbrev>
                                      <type>cycletime</type>
                                    </unit>
                                    <unit name="ReturnStatus">
                                      <abbrev>RT</abbrev>
                                      <type>enum</type>
                                      <enum bytes="00" text="0"/>
                                      <enum bytes="01" text="1"/>
                                      <enum bytes="02" text="EIN"/>
                                      <enum text="NOT OK"/>
                                    </unit>
                                    <unit name="WWBereitung">
                                      <abbrev>WW</abbrev>
                                      <type>enum</type>
                                      <enum bytes="00" text="0" />
                                      <enum bytes="02" text="1" />
                                      <enum text="UNKNOWN" />
                                    </unit>
                                    <unit name="BetriebsArt">
                                      <abbrev>BA</abbrev>
                                      <type>enum</type>
                                      <enum bytes="00" text="0"/>
                                      <enum bytes="01" text="0"/>
                                      <enum bytes="02" text="2"/>
                                      <enum bytes="42" text="3"/>
                                      <enum bytes="82" text="4"/>
                                      <enum text="UNKNOWN"/>
                                    </unit>
                                    <unit name="SetReturnStatus">
                                      <abbrev>SR</abbrev>
                                      <type>enum</type>
                                      <enum bytes="00" text="OK"/>
                                      <enum bytes="05" text="SYNC (NOT OK)"/>
                                      <enum text="NOT OK"/>
                                    </unit>
                                    <unit name="Druck">
                                      <abbrev>PS</abbrev>
                                      <calc get="V/10" set="V*10"/>
                                      <type>short</type>
                                      <entity>Bar</entity>
                                    </unit>		
                                    <unit name="SystemTime">
                                      <abbrev>TI</abbrev>
                                      <type>systime</type>
                                    </unit>
                                    <unit name="Plain">
                                      <abbrev>PL</abbrev>
                                      <calc get="V" set="V"/>
                                      <type>short</type>
                                    </unit>		
                                    <unit name="ErrorState">
                                      <abbrev>ES</abbrev>
                                      <type>errstate</type>
                                      <enum bytes="00" text="Regelbetrieb (kein Fehler)"/>
                                      <enum bytes="0F" text="Wartung (fuer Reset Codieradresse 24 auf 0 stellen)"/>
                                      <enum bytes="10" text="Kurzschluss Aussentemperatursensor"/>
                                      <enum bytes="18" text="Unterbrechung Aussentemperatursensor"/>
                                      <enum bytes="20" text="Kurzschluss Vorlauftemperatursensor"/>
                                      <enum bytes="21" text="Kurzschluss Ruecklauftemperatursensor"/>
                                      <enum bytes="28" text="Unterbrechung Aussentemperatursensor"/>
                                      <enum bytes="29" text="Unterbrechung Ruecklauftemperatursensor"/>
                                      <enum bytes="30" text="Kurzschluss Kesseltemperatursensor"/>
                                      <enum bytes="38" text="Unterbrechung Kesseltemperatursensor"/>
                                      <enum bytes="40" text="Kurzschluss Vorlauftemperatursensor M2"/>
                                      <enum bytes="42" text="Unterbrechung Vorlauftemperatursensor M2"/>
                                      <enum bytes="50" text="Kurzschluss Speichertemperatursensor"/>
                                      <enum bytes="58" text="Unterbrechung Speichertemperatursensor"/>
                                      <enum bytes="A7" text="Bedienteil defekt"/>
                                      <enum bytes="B0" text="Kurzschluss Abgastemperatursensor"/>
                                      <enum bytes="B1" text="Kommunikationsfehler Bedieneinheit"/>
                                      <enum bytes="B4" text="Interner Fehler (Elektronik)"/>
                                      <enum bytes="B5" text="Interner Fehler (Elektronik)"/>
                                      <enum bytes="B6" text="Ungueltige Hardwarekennung (Elektronik)"/>
                                      <enum bytes="B7" text="Interner Fehler (Kesselkodierstecker)"/>
                                      <enum bytes="B8" text="Unterbrechung Abgastemperatursensor"/>
                                      <enum bytes="B9" text="Interner Fehler (Dateneingabe wiederholen)"/>
                                      <enum bytes="BA" text="Kommunikationsfehler Erweiterungssatz fuer Mischerkreis M2"/>
                                      <enum bytes="BC" text="Kommunikationsfehler Fernbedienung Vitorol, Heizkreis M1"/>
                                      <enum bytes="BD" text="Kommunikationsfehler Fernbedienung Vitorol, Heizkreis M2"/>
                                      <enum bytes="BE" text="Falsche Codierung Fernbedienung Vitorol"/>
                                      <enum bytes="C1" text="Externe Sicherheitseinrichtung (Kessel kuehlt aus)"/>
                                      <enum bytes="C2" text="Kommunikationsfehler Solarregelung"/>
                                      <enum bytes="C5" text="Kommunikationsfehler drehzahlgeregelte Heizkreispumpe, Heizkreis M1"/>
                                      <enum bytes="C6" text="Kommunikationsfehler drehzahlgeregelte Heizkreispumpe, Heizkreis M2"/>
                                      <enum bytes="C7" text="Falsche Codierung der Heizkreispumpe"/>
                                      <enum bytes="C9" text="Stoermeldeeingang am Schaltmodul-V aktiv"/>
                                      <enum bytes="CD" text="Kommunikationsfehler Vitocom 100 (KM-BUS)"/>
                                      <enum bytes="CE" text="Kommunikationsfehler Schaltmodul-V"/>
                                      <enum bytes="CF" text="Kommunikationsfehler LON Modul"/>
                                      <enum bytes="D4" text="Sicherheitstemperaturbegrenzer hat ausgeloest oder Stoermeldemodul nicht richtig gesteckt"/>
                                      <enum bytes="DA" text="Kurzschluss Raumtemperatursensor, Heizkreis M1"/>
                                      <enum bytes="DB" text="Kurzschluss Raumtemperatursensor, Heizkreis M2"/>
                                      <enum bytes="DD" text="Unterbrechung Raumtemperatursensor, Heizkreis M1"/>
                                      <enum bytes="DE" text="Unterbrechung Raumtemperatursensor, Heizkreis M2"/>
                                      <enum bytes="E4" text="Fehler Versorgungsspannung"/>
                                      <enum bytes="F0" text="Interner Fehler (Regelung tauschen)"/>
                                      <enum bytes="F2" text="Temperaturbegrenzer ausgeloest"/>
                                      <enum bytes="F7" text="Differenzdrucksensor defekt"/>
                                      <enum bytes="FE" text="Starkes Stoerfeld (EMV) in der Naehe oder Elektronik defekt"/>
                                      <enum bytes="FF" text="Starkes Stoerfeld (EMV) in der Naehe oder interner Fehler"/>
                                      <enum text="UNKNOWN"/>
                                    </unit>
                                    <unit name="DeviceType">
                                      <abbrev>DT</abbrev>
                                      <type>enum</type>
                                      <enum bytes="20 4D" text="V200WO1C ID=204D Protokoll:300"/>
                                      <enum text="UNKNOWN"/>
                                    </unit>
                                    <unit name="Sachnummer">
                                      <abbrev>SN</abbrev>
                                      <type>uint</type>
                                      <icalc get="((((((((((((B0-48)*10)+(B1-48))*10)+(B2-48))*10)+(B3-48))*10)+(B4-48))*10)+(B5-48))*10)+B6-48"/>
                                    </unit>
                                
                                    <unit name="Bitstatus">
                                      <abbrev>BST</abbrev>
                                      <type>uchar</type>
                                      <icalc get="(B0 &amp; (0x01&lt;&lt;BP))&gt;&gt; BP"/>
                                      <enum bytes="00" text="0"/>
                                      <enum bytes="01" text="1"/>
                                      <enum text="UNKNOWN"/>
                                    </unit>
                                    <unit name="HKP Pumpentyp">
                                      <abbrev>HKT</abbrev>
                                      <type>uchar</type>
                                      <icalc get="(B0 &amp; (0x01&lt;&lt;BP))&gt;&gt; BP"/>
                                      <enum bytes="00" text="stufig"/>
                                      <enum bytes="01" text="drehzahlgeregelt"/>
                                      <enum text="UNKNOWN"/>
                                    </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>
                                    <unit name="Umschaltventil Stellung">
                                      <abbrev>USV</abbrev>
                                      <type>enum</type>
                                      <enum bytes="00" text="UNDEV"/>
                                      <enum bytes="01" text="Heizen"/>
                                      <enum bytes="02" text="Mittelstellung"/>
                                      <enum bytes="03" text="Warmwasser"/>
                                      <enum text="UNKNOWN"/>
                                    </unit>
                                    <unit name="Ferienbetrieb">
                                      <abbrev>BFB</abbrev>
                                      <type>uchar</type>
                                      <icalc get="(B7 &amp; (0x01&lt;&lt;BP))&gt;&gt; BP"/>
                                      <enum bytes="00" text="inaktiv"/>
                                      <enum bytes="01" text="aktiv"/>
                                      <enum text="?"/>
                                    </unit>		
                                  </units>
                                  <protocols>
                                    <protocol name="P300">
                                      <pid>41</pid>
                                      <macros>
                                        <macro name="GETADDR">
                                          <command>SEND 00 01</command>
                                        </macro>
                                      </macros>
                                      <commands>
                                	<command name="getaddr">
                                	   <send>GETADDR $addr $hexlen;RECV $len $unit</send>
                                	</command>
                                	<command name="setaddr">
                                	   <send>SEND 00 02 $addr $hexlen BYTES;RECV 1 SR</send>
                                	</command>				
                                	<command name="setaddrValue">
                                  	   <send>SEND 00 02 $addr $hexlen;SEND BYTES $unit;RECV 1 SR</send>
                                	</command>
                                	<command name="setfunc">
                                	   <send>SEND 00 07 $addr 02 02;SEND BYTES $unit;RECV $len</send>
                                	</command>
                                      </commands>
                                    </protocol>
                                  </protocols>
                                  <extern xmlns:xi="http://www.w3.org/2003/XInclude">
                                    <xi:include href="vito.xml" parse="xml"/>
                                  </extern>
                                </V-Control>
                                
                                

                                vito.xml

                                <?xml version="1.0"?>
                                <vito>
                                  <devices>
                                    <device ID="204D" name="V200WO1C" protocol="P300"/>
                                  </devices>
                                  <commands>
                                    <!-- AUSSENTEMPERATUR -->
                                    <command name="getTempA" protocmd="getaddr">
                                        <addr>0101</addr>
                                        <len>2</len>
                                	<unit>UT</unit>
                                 	<description>Ermittle Aussentemperatur in Grad C</description>
                                    </command>
                                    <!-- HEIZUNG -->
                                    <command name="getRoomtemp" protocmd="getaddr">
                                	<addr>2000</addr>
                                	<len>2</len>
                                	<unit>UT</unit>
                                	<description>Ermittle Soll-Raumtemperatur</description>
                                    </command>
                                    <command name="setRoomtemp" protocmd="setaddrValue">
                                	<addr>2000</addr>
                                	<len>2</len>
                                	<unit>UT</unit>
                                	<description>Setze Soll-Raumtemperatur</description>
                                    </command>
                                    <!-- WARMWASSER -->
                                    <command name="getTempP" protocmd="getaddr">
                                      	<addr>010D</addr>
                                      	<len>2</len>
                                      	<unit>UT</unit>
                                      	<description>Ermittle Warmwassertemperatur</description>
                                    </command>
                                    <command name="getTempWWsoll" protocmd="getaddr">
                                      	<addr>6000</addr>
                                      	<len>2</len>
                                      	<unit>UT</unit>
                                      	<description>Ermittle Warmwassersolltemperatur</description>
                                    </command>
                                    <command name="setTempWWsoll" protocmd="setaddrValue">
                                      	<addr>6000</addr>
                                      	<len>2</len>
                                      	<unit>UT</unit>
                                     	<description>Setze Warmwassersolltemperatur</description>
                                    </command>
                                    <command name="getTempWWsoll_2" protocmd="getaddr">
                                	<addr>600C</addr>
                                	<len>2</len>
                                	<unit>UT</unit>
                                	<description>Bedienung WW - Betriebsdaten WW: Zweiter Sollwert (10..60 (95))</description>
                                    </command>
                                    <command name="setTempWWsoll_2" protocmd="setaddrValue">
                                	<addr>600C</addr>
                                	<len>2</len>
                                	<unit>UT</unit>
                                	<description>Bedienung WW - Betriebsdaten WW: Zweiter Sollwert (10..60 (95))</description>
                                    </command>
                                    <!-- STATUS PUMPEN -->
                                    <command name="getStatusV1" protocmd="getaddr">
                                	<addr>0480</addr>
                                	<len>1</len>
                                	<unit>RT</unit>
                                	<description>Status Verdichter 1 (0..1)</description>
                                    </command>
                                    <command name="getStatPump" protocmd="getaddr">
                                	<addr>048D</addr>
                                	<len>1</len>
                                	<unit>RT</unit>
                                	<description>Status HK1: Heizkreispumpe (0..1)</description>
                                    </command>
                                    <command name="getStatPumpZirk" protocmd="getaddr">
                                	<addr>0490</addr>
                                	<len>1</len>
                                	<unit>BST2</unit>
                                	<description>Status Zirkulationspumpe (0..1)</description>
                                    </command>
                                    <command name="getPumpZirk_Betriebsstunden" protocmd="getaddr">
                                	<addr>0590</addr>
                                	<len>4</len>
                                	<unit>CS</unit>
                                	<description>Betriebsstunden Zirkulationspumpe</description>
                                    </command>	
                                    <command name="getStatPPump" protocmd="getaddr">
                                	<addr>0496</addr>
                                	<len>1-Bit</len>
                                	<unit>RT</unit>
                                	<description>Status Warmwasser: Speicherladepumpe (0..1)</description>
                                    </command>
                                    <!-- STATUSINFORMATIONEN -->
                                    <command name="getJAZ" protocmd="getaddr">
                                	<addr>1680</addr>
                                	<len>1</len>
                                	<unit>JAZ</unit>
                                	<description>Energiebilanz: Jahresarbeitszahl (0..10)</description>
                                    </command>
                                    <command name="getJAZ_Heiz" protocmd="getaddr">
                                	<addr>1681</addr>
                                	<len>1</len>
                                	<unit>JAZ</unit>
                                	<description>Energiebilanz: Jahresarbeitszahl Heizen (0..10)</description>
                                    </command>
                                    <command name="getJAZ_WW" protocmd="getaddr">
                                	<addr>1682</addr>
                                	<len>1</len>
                                	<unit>JAZ</unit>
                                	<description>Energiebilanz: Jahresarbeitszahl WW (0..10)</description>
                                    </command>
                                    <!-- BEDIENUNG -->
                                    <command name="set1xWW" protocmd="setaddrValue">
                                	<addr>B0D0</addr>
                                	<len>1</len>
                                	<unit>XX</unit>
                                	<description>Bedienung 1xWW-Bereitung (0=aus 2=ein)</description>
                                    </command>
                                    <command name="get1xWW" protocmd="getaddr">
                                     	<addr>B0D0</addr>
                                      	<len>1</len>
                                      	<unit>XX</unit>
                                      	<description>Bedienung WW 1xWW Bereitung (0=aus 2=ein)</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)</description>
                                    </command>
                                 <command name="getHeater" protocmd="getaddr">
                                        <addr>7907</addr>
                                        <len>1</len>
                                        <unit>XX</unit>
                                        <description>Leistung Durchlauferhitzer (1=3, 2=6 oder 3=9kW)</description>
                                    </command>
                                    <command name="setComp" protocmd="setaddrValue">
                                        <addr>5012</addr>
                                        <len>1</len>
                                        <unit>XX</unit>
                                        <description>Freigabe Verdichterstufe (1=WW 2=Heiz 3=WW+Heiz 15=default)</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>
                                  </commands>
                                </vito>
                                
                                D M 3 Antworten Letzte Antwort
                                1
                                • Issr4kI Issr4k

                                  @darth2010
                                  vcontrold.xml

                                  <?xml version="1.0"?>
                                  <V-Control xmlns:vcontrol="http://www.openv.de/vcontrol">
                                    <unix>
                                      <config>
                                        <username>nobody</username>
                                        <groupname>dialout</groupname>
                                        <serial>
                                          <tty>/dev/serial/port0</tty>   <!-- GGF. ZEILE ANPASSEN!!! -->
                                        </serial>
                                        <net>
                                          <port>3002</port>
                                        </net>
                                        <logging>
                                          <file>vcontrold.log</file>
                                          <syslog>n</syslog>
                                          <debug>n</debug>
                                        </logging>
                                        <device ID="204D"/>
                                      </config>
                                    </unix>
                                    <units>
                                      <unit name="Temperatur">
                                        <abbrev>UT</abbrev>
                                        <calc get="V/10" set="V*10"/>
                                        <type>short</type>
                                        <entity>°C</entity>
                                      </unit>
                                      <unit name="Temperatur100">
                                        <abbrev>UTH</abbrev>
                                        <calc get="V/100" set="V*100"/>
                                        <type>short</type>
                                        <entity>°C</entity>
                                      </unit>
                                      <unit name="Neigung">
                                        <abbrev>UN</abbrev>
                                        <calc get="V/10" set="V*10"/>
                                        <type>short</type>
                                        <entity/>
                                      </unit>
                                      <unit name="Temperatur 1Byte">
                                        <abbrev>UT1</abbrev>
                                        <calc get="V/2" set="V*2"/>
                                        <type>char</type>
                                        <entity>°C</entity>
                                      </unit>
                                      <unit name="Temperatur 1Byte unsigned">
                                        <abbrev>UT1U</abbrev>
                                        <calc get="V/2" set="V*2"/>
                                        <type>uchar</type>
                                        <entity>°C</entity>
                                      </unit>
                                      <unit name="Temperatur 1Byte ganzzahlig">
                                        <abbrev>UTI</abbrev>
                                        <calc get="V" set="V"/>
                                        <type>uchar</type>
                                        <entity>°C</entity>
                                      </unit>
                                      <unit name="Einstellwert">
                                        <abbrev>XX</abbrev>
                                        <calc get="V" set="V"/>
                                        <type>uchar</type>
                                        <entity/>
                                      </unit>
                                      <unit name="Counter">
                                        <abbrev>CO</abbrev>
                                        <calc get="V" set="V"/>
                                        <type>int</type>
                                        <entity/>
                                      </unit>
                                      <unit name="JAZ">
                                        <abbrev>JAZ</abbrev>
                                        <calc get="V/10" set="V/10"/>
                                        <type>int</type>
                                        <entity></entity>
                                        </unit>		
                                      <unit name="Volumenstrom">
                                        <abbrev>VS</abbrev>
                                        <calc get="V" set="V"/>
                                        <type>ushort</type>
                                        <entity>l/h</entity>
                                      </unit>
                                      <unit name="Counter liter">
                                        <abbrev>COL</abbrev>
                                        <calc get="V/1000" set="V*1000"/>
                                        <type>int</type>
                                        <entity/>
                                      </unit>
                                      <unit name="Prozent">
                                        <abbrev>PR</abbrev>
                                        <calc get="V/2" set="V*2"/>
                                        <type>short</type>
                                        <entity>%</entity>
                                      </unit>
                                      <unit name="Prozent 1 Byte ganzzahlig">
                                        <abbrev>PR1</abbrev>
                                        <calc get="V" set="V"/>
                                        <type>uchar</type>
                                        <entity>%</entity>
                                      </unit>
                                      <unit name="Prozent zweites Byte ganzzahlig (Pumpe)">
                                        <abbrev>PR2</abbrev>
                                        <calc get="B1" set="B1"/>
                                        <type>uchar</type>
                                        <entity>%</entity>
                                      </unit>
                                      <unit name="Prozent erstes Byte">
                                        <abbrev>PR3</abbrev>
                                        <calc get="V/2" set="V*2"/>
                                        <type>uchar</type>
                                        <entity>%</entity>
                                      </unit>
                                      <unit name="CounterS">
                                        <abbrev>CS</abbrev>
                                        <calc get="V/3600" set="V*3600"/>
                                        <type>uint</type>
                                        <entity>Stunden</entity>
                                      </unit>
                                      <unit name="CycleTime">
                                        <abbrev>CT</abbrev>
                                        <type>cycletime</type>
                                      </unit>
                                      <unit name="ReturnStatus">
                                        <abbrev>RT</abbrev>
                                        <type>enum</type>
                                        <enum bytes="00" text="0"/>
                                        <enum bytes="01" text="1"/>
                                        <enum bytes="02" text="EIN"/>
                                        <enum text="NOT OK"/>
                                      </unit>
                                      <unit name="WWBereitung">
                                        <abbrev>WW</abbrev>
                                        <type>enum</type>
                                        <enum bytes="00" text="0" />
                                        <enum bytes="02" text="1" />
                                        <enum text="UNKNOWN" />
                                      </unit>
                                      <unit name="BetriebsArt">
                                        <abbrev>BA</abbrev>
                                        <type>enum</type>
                                        <enum bytes="00" text="0"/>
                                        <enum bytes="01" text="0"/>
                                        <enum bytes="02" text="2"/>
                                        <enum bytes="42" text="3"/>
                                        <enum bytes="82" text="4"/>
                                        <enum text="UNKNOWN"/>
                                      </unit>
                                      <unit name="SetReturnStatus">
                                        <abbrev>SR</abbrev>
                                        <type>enum</type>
                                        <enum bytes="00" text="OK"/>
                                        <enum bytes="05" text="SYNC (NOT OK)"/>
                                        <enum text="NOT OK"/>
                                      </unit>
                                      <unit name="Druck">
                                        <abbrev>PS</abbrev>
                                        <calc get="V/10" set="V*10"/>
                                        <type>short</type>
                                        <entity>Bar</entity>
                                      </unit>		
                                      <unit name="SystemTime">
                                        <abbrev>TI</abbrev>
                                        <type>systime</type>
                                      </unit>
                                      <unit name="Plain">
                                        <abbrev>PL</abbrev>
                                        <calc get="V" set="V"/>
                                        <type>short</type>
                                      </unit>		
                                      <unit name="ErrorState">
                                        <abbrev>ES</abbrev>
                                        <type>errstate</type>
                                        <enum bytes="00" text="Regelbetrieb (kein Fehler)"/>
                                        <enum bytes="0F" text="Wartung (fuer Reset Codieradresse 24 auf 0 stellen)"/>
                                        <enum bytes="10" text="Kurzschluss Aussentemperatursensor"/>
                                        <enum bytes="18" text="Unterbrechung Aussentemperatursensor"/>
                                        <enum bytes="20" text="Kurzschluss Vorlauftemperatursensor"/>
                                        <enum bytes="21" text="Kurzschluss Ruecklauftemperatursensor"/>
                                        <enum bytes="28" text="Unterbrechung Aussentemperatursensor"/>
                                        <enum bytes="29" text="Unterbrechung Ruecklauftemperatursensor"/>
                                        <enum bytes="30" text="Kurzschluss Kesseltemperatursensor"/>
                                        <enum bytes="38" text="Unterbrechung Kesseltemperatursensor"/>
                                        <enum bytes="40" text="Kurzschluss Vorlauftemperatursensor M2"/>
                                        <enum bytes="42" text="Unterbrechung Vorlauftemperatursensor M2"/>
                                        <enum bytes="50" text="Kurzschluss Speichertemperatursensor"/>
                                        <enum bytes="58" text="Unterbrechung Speichertemperatursensor"/>
                                        <enum bytes="A7" text="Bedienteil defekt"/>
                                        <enum bytes="B0" text="Kurzschluss Abgastemperatursensor"/>
                                        <enum bytes="B1" text="Kommunikationsfehler Bedieneinheit"/>
                                        <enum bytes="B4" text="Interner Fehler (Elektronik)"/>
                                        <enum bytes="B5" text="Interner Fehler (Elektronik)"/>
                                        <enum bytes="B6" text="Ungueltige Hardwarekennung (Elektronik)"/>
                                        <enum bytes="B7" text="Interner Fehler (Kesselkodierstecker)"/>
                                        <enum bytes="B8" text="Unterbrechung Abgastemperatursensor"/>
                                        <enum bytes="B9" text="Interner Fehler (Dateneingabe wiederholen)"/>
                                        <enum bytes="BA" text="Kommunikationsfehler Erweiterungssatz fuer Mischerkreis M2"/>
                                        <enum bytes="BC" text="Kommunikationsfehler Fernbedienung Vitorol, Heizkreis M1"/>
                                        <enum bytes="BD" text="Kommunikationsfehler Fernbedienung Vitorol, Heizkreis M2"/>
                                        <enum bytes="BE" text="Falsche Codierung Fernbedienung Vitorol"/>
                                        <enum bytes="C1" text="Externe Sicherheitseinrichtung (Kessel kuehlt aus)"/>
                                        <enum bytes="C2" text="Kommunikationsfehler Solarregelung"/>
                                        <enum bytes="C5" text="Kommunikationsfehler drehzahlgeregelte Heizkreispumpe, Heizkreis M1"/>
                                        <enum bytes="C6" text="Kommunikationsfehler drehzahlgeregelte Heizkreispumpe, Heizkreis M2"/>
                                        <enum bytes="C7" text="Falsche Codierung der Heizkreispumpe"/>
                                        <enum bytes="C9" text="Stoermeldeeingang am Schaltmodul-V aktiv"/>
                                        <enum bytes="CD" text="Kommunikationsfehler Vitocom 100 (KM-BUS)"/>
                                        <enum bytes="CE" text="Kommunikationsfehler Schaltmodul-V"/>
                                        <enum bytes="CF" text="Kommunikationsfehler LON Modul"/>
                                        <enum bytes="D4" text="Sicherheitstemperaturbegrenzer hat ausgeloest oder Stoermeldemodul nicht richtig gesteckt"/>
                                        <enum bytes="DA" text="Kurzschluss Raumtemperatursensor, Heizkreis M1"/>
                                        <enum bytes="DB" text="Kurzschluss Raumtemperatursensor, Heizkreis M2"/>
                                        <enum bytes="DD" text="Unterbrechung Raumtemperatursensor, Heizkreis M1"/>
                                        <enum bytes="DE" text="Unterbrechung Raumtemperatursensor, Heizkreis M2"/>
                                        <enum bytes="E4" text="Fehler Versorgungsspannung"/>
                                        <enum bytes="F0" text="Interner Fehler (Regelung tauschen)"/>
                                        <enum bytes="F2" text="Temperaturbegrenzer ausgeloest"/>
                                        <enum bytes="F7" text="Differenzdrucksensor defekt"/>
                                        <enum bytes="FE" text="Starkes Stoerfeld (EMV) in der Naehe oder Elektronik defekt"/>
                                        <enum bytes="FF" text="Starkes Stoerfeld (EMV) in der Naehe oder interner Fehler"/>
                                        <enum text="UNKNOWN"/>
                                      </unit>
                                      <unit name="DeviceType">
                                        <abbrev>DT</abbrev>
                                        <type>enum</type>
                                        <enum bytes="20 4D" text="V200WO1C ID=204D Protokoll:300"/>
                                        <enum text="UNKNOWN"/>
                                      </unit>
                                      <unit name="Sachnummer">
                                        <abbrev>SN</abbrev>
                                        <type>uint</type>
                                        <icalc get="((((((((((((B0-48)*10)+(B1-48))*10)+(B2-48))*10)+(B3-48))*10)+(B4-48))*10)+(B5-48))*10)+B6-48"/>
                                      </unit>
                                  
                                      <unit name="Bitstatus">
                                        <abbrev>BST</abbrev>
                                        <type>uchar</type>
                                        <icalc get="(B0 &amp; (0x01&lt;&lt;BP))&gt;&gt; BP"/>
                                        <enum bytes="00" text="0"/>
                                        <enum bytes="01" text="1"/>
                                        <enum text="UNKNOWN"/>
                                      </unit>
                                      <unit name="HKP Pumpentyp">
                                        <abbrev>HKT</abbrev>
                                        <type>uchar</type>
                                        <icalc get="(B0 &amp; (0x01&lt;&lt;BP))&gt;&gt; BP"/>
                                        <enum bytes="00" text="stufig"/>
                                        <enum bytes="01" text="drehzahlgeregelt"/>
                                        <enum text="UNKNOWN"/>
                                      </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>
                                      <unit name="Umschaltventil Stellung">
                                        <abbrev>USV</abbrev>
                                        <type>enum</type>
                                        <enum bytes="00" text="UNDEV"/>
                                        <enum bytes="01" text="Heizen"/>
                                        <enum bytes="02" text="Mittelstellung"/>
                                        <enum bytes="03" text="Warmwasser"/>
                                        <enum text="UNKNOWN"/>
                                      </unit>
                                      <unit name="Ferienbetrieb">
                                        <abbrev>BFB</abbrev>
                                        <type>uchar</type>
                                        <icalc get="(B7 &amp; (0x01&lt;&lt;BP))&gt;&gt; BP"/>
                                        <enum bytes="00" text="inaktiv"/>
                                        <enum bytes="01" text="aktiv"/>
                                        <enum text="?"/>
                                      </unit>		
                                    </units>
                                    <protocols>
                                      <protocol name="P300">
                                        <pid>41</pid>
                                        <macros>
                                          <macro name="GETADDR">
                                            <command>SEND 00 01</command>
                                          </macro>
                                        </macros>
                                        <commands>
                                  	<command name="getaddr">
                                  	   <send>GETADDR $addr $hexlen;RECV $len $unit</send>
                                  	</command>
                                  	<command name="setaddr">
                                  	   <send>SEND 00 02 $addr $hexlen BYTES;RECV 1 SR</send>
                                  	</command>				
                                  	<command name="setaddrValue">
                                    	   <send>SEND 00 02 $addr $hexlen;SEND BYTES $unit;RECV 1 SR</send>
                                  	</command>
                                  	<command name="setfunc">
                                  	   <send>SEND 00 07 $addr 02 02;SEND BYTES $unit;RECV $len</send>
                                  	</command>
                                        </commands>
                                      </protocol>
                                    </protocols>
                                    <extern xmlns:xi="http://www.w3.org/2003/XInclude">
                                      <xi:include href="vito.xml" parse="xml"/>
                                    </extern>
                                  </V-Control>
                                  
                                  

                                  vito.xml

                                  <?xml version="1.0"?>
                                  <vito>
                                    <devices>
                                      <device ID="204D" name="V200WO1C" protocol="P300"/>
                                    </devices>
                                    <commands>
                                      <!-- AUSSENTEMPERATUR -->
                                      <command name="getTempA" protocmd="getaddr">
                                          <addr>0101</addr>
                                          <len>2</len>
                                  	<unit>UT</unit>
                                   	<description>Ermittle Aussentemperatur in Grad C</description>
                                      </command>
                                      <!-- HEIZUNG -->
                                      <command name="getRoomtemp" protocmd="getaddr">
                                  	<addr>2000</addr>
                                  	<len>2</len>
                                  	<unit>UT</unit>
                                  	<description>Ermittle Soll-Raumtemperatur</description>
                                      </command>
                                      <command name="setRoomtemp" protocmd="setaddrValue">
                                  	<addr>2000</addr>
                                  	<len>2</len>
                                  	<unit>UT</unit>
                                  	<description>Setze Soll-Raumtemperatur</description>
                                      </command>
                                      <!-- WARMWASSER -->
                                      <command name="getTempP" protocmd="getaddr">
                                        	<addr>010D</addr>
                                        	<len>2</len>
                                        	<unit>UT</unit>
                                        	<description>Ermittle Warmwassertemperatur</description>
                                      </command>
                                      <command name="getTempWWsoll" protocmd="getaddr">
                                        	<addr>6000</addr>
                                        	<len>2</len>
                                        	<unit>UT</unit>
                                        	<description>Ermittle Warmwassersolltemperatur</description>
                                      </command>
                                      <command name="setTempWWsoll" protocmd="setaddrValue">
                                        	<addr>6000</addr>
                                        	<len>2</len>
                                        	<unit>UT</unit>
                                       	<description>Setze Warmwassersolltemperatur</description>
                                      </command>
                                      <command name="getTempWWsoll_2" protocmd="getaddr">
                                  	<addr>600C</addr>
                                  	<len>2</len>
                                  	<unit>UT</unit>
                                  	<description>Bedienung WW - Betriebsdaten WW: Zweiter Sollwert (10..60 (95))</description>
                                      </command>
                                      <command name="setTempWWsoll_2" protocmd="setaddrValue">
                                  	<addr>600C</addr>
                                  	<len>2</len>
                                  	<unit>UT</unit>
                                  	<description>Bedienung WW - Betriebsdaten WW: Zweiter Sollwert (10..60 (95))</description>
                                      </command>
                                      <!-- STATUS PUMPEN -->
                                      <command name="getStatusV1" protocmd="getaddr">
                                  	<addr>0480</addr>
                                  	<len>1</len>
                                  	<unit>RT</unit>
                                  	<description>Status Verdichter 1 (0..1)</description>
                                      </command>
                                      <command name="getStatPump" protocmd="getaddr">
                                  	<addr>048D</addr>
                                  	<len>1</len>
                                  	<unit>RT</unit>
                                  	<description>Status HK1: Heizkreispumpe (0..1)</description>
                                      </command>
                                      <command name="getStatPumpZirk" protocmd="getaddr">
                                  	<addr>0490</addr>
                                  	<len>1</len>
                                  	<unit>BST2</unit>
                                  	<description>Status Zirkulationspumpe (0..1)</description>
                                      </command>
                                      <command name="getPumpZirk_Betriebsstunden" protocmd="getaddr">
                                  	<addr>0590</addr>
                                  	<len>4</len>
                                  	<unit>CS</unit>
                                  	<description>Betriebsstunden Zirkulationspumpe</description>
                                      </command>	
                                      <command name="getStatPPump" protocmd="getaddr">
                                  	<addr>0496</addr>
                                  	<len>1-Bit</len>
                                  	<unit>RT</unit>
                                  	<description>Status Warmwasser: Speicherladepumpe (0..1)</description>
                                      </command>
                                      <!-- STATUSINFORMATIONEN -->
                                      <command name="getJAZ" protocmd="getaddr">
                                  	<addr>1680</addr>
                                  	<len>1</len>
                                  	<unit>JAZ</unit>
                                  	<description>Energiebilanz: Jahresarbeitszahl (0..10)</description>
                                      </command>
                                      <command name="getJAZ_Heiz" protocmd="getaddr">
                                  	<addr>1681</addr>
                                  	<len>1</len>
                                  	<unit>JAZ</unit>
                                  	<description>Energiebilanz: Jahresarbeitszahl Heizen (0..10)</description>
                                      </command>
                                      <command name="getJAZ_WW" protocmd="getaddr">
                                  	<addr>1682</addr>
                                  	<len>1</len>
                                  	<unit>JAZ</unit>
                                  	<description>Energiebilanz: Jahresarbeitszahl WW (0..10)</description>
                                      </command>
                                      <!-- BEDIENUNG -->
                                      <command name="set1xWW" protocmd="setaddrValue">
                                  	<addr>B0D0</addr>
                                  	<len>1</len>
                                  	<unit>XX</unit>
                                  	<description>Bedienung 1xWW-Bereitung (0=aus 2=ein)</description>
                                      </command>
                                      <command name="get1xWW" protocmd="getaddr">
                                       	<addr>B0D0</addr>
                                        	<len>1</len>
                                        	<unit>XX</unit>
                                        	<description>Bedienung WW 1xWW Bereitung (0=aus 2=ein)</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)</description>
                                      </command>
                                   <command name="getHeater" protocmd="getaddr">
                                          <addr>7907</addr>
                                          <len>1</len>
                                          <unit>XX</unit>
                                          <description>Leistung Durchlauferhitzer (1=3, 2=6 oder 3=9kW)</description>
                                      </command>
                                      <command name="setComp" protocmd="setaddrValue">
                                          <addr>5012</addr>
                                          <len>1</len>
                                          <unit>XX</unit>
                                          <description>Freigabe Verdichterstufe (1=WW 2=Heiz 3=WW+Heiz 15=default)</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>
                                    </commands>
                                  </vito>
                                  
                                  D Offline
                                  D Offline
                                  Darth2010
                                  schrieb am zuletzt editiert von
                                  #107

                                  @issr4k said in Viessmann-Adapter mit vcontrol:

                                  @darth2010
                                  vcontrold.xml

                                  <?xml version="1.0"?>
                                  <V-Control xmlns:vcontrol="http://www.openv.de/vcontrol">
                                  ...
                                  
                                  

                                  vito.xml

                                  <?xml version="1.0"?>
                                  <vito>
                                  ...
                                  

                                  @martybr said in Viessmann-Adapter mit vcontrol:

                                  @darth2010
                                  Hier mal meine Dateien, die an der Vitocal 333g funktionieren.
                                  Ich habe weiter unten einige Datenpunkte für die Lüftung Vitovent 300F eingefügt. Die kannst du ja löschen.

                                  vcontrold.xml
                                  vito.xml

                                  Danke euch beiden :+1:
                                  Damit werde ich in die nächste Runde einsteigen und berichten.

                                  Gruß
                                  Darth

                                  1 Antwort Letzte Antwort
                                  0
                                  • M MartyBr

                                    Mein VControld-Server stürzte nach einigen Tagen Betrieb ab. Ich habe nun die vcontrold-Version von 0.98.11 auf die 0.98.12 Version upgedated. Ich werde das ein paar Tage beobachten und hier berichten.

                                    Issr4kI Offline
                                    Issr4kI Offline
                                    Issr4k
                                    schrieb am zuletzt editiert von Issr4k
                                    #108

                                    @martybr sagte in Viessmann-Adapter mit vcontrol:

                                    Mein VControld-Server stürzte nach einigen Tagen Betrieb ab. Ich habe nun die vcontrold-Version von 0.98.11 auf die 0.98.12 Version upgedated. Ich werde das ein paar Tage beobachten und hier berichten.

                                    Hatte vor ein paar Wochen bereits auf die .12 umgestellt, allerdings liefen bisher beide Versionen ohne Abstürze. Ich lese derzeit aber auch nur aus, da ich die PV-Anlage dieses Jahr erst installieren kann :)

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • Issr4kI Issr4k

                                      @martybr sagte in Viessmann-Adapter mit vcontrol:

                                      Mein VControld-Server stürzte nach einigen Tagen Betrieb ab. Ich habe nun die vcontrold-Version von 0.98.11 auf die 0.98.12 Version upgedated. Ich werde das ein paar Tage beobachten und hier berichten.

                                      Hatte vor ein paar Wochen bereits auf die .12 umgestellt, allerdings liefen bisher beide Versionen ohne Abstürze. Ich lese derzeit aber auch nur aus, da ich die PV-Anlage dieses Jahr erst installieren kann :)

                                      M Offline
                                      M Offline
                                      MartyBr
                                      schrieb am zuletzt editiert von
                                      #109

                                      @issr4k
                                      Ich habe auch ein paar mehr Datenpunkte, die ich abfrage :grinning:
                                      Ich warte ein Woche auf neue Ergebnisse. Wenn der Server wieder abstürzt, dann werde ich einige Werte aus der Vito.xml entfernen.

                                      In welchem Rhythmus fragst du die Werte ab?

                                      Gruß
                                      Martin


                                      Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                      Raspeberry mit USB Leseköpfen für Smartmeter
                                      Homematic und Homematic IP

                                      1 Antwort Letzte Antwort
                                      0
                                      • Issr4kI Issr4k

                                        @darth2010
                                        vcontrold.xml

                                        <?xml version="1.0"?>
                                        <V-Control xmlns:vcontrol="http://www.openv.de/vcontrol">
                                          <unix>
                                            <config>
                                              <username>nobody</username>
                                              <groupname>dialout</groupname>
                                              <serial>
                                                <tty>/dev/serial/port0</tty>   <!-- GGF. ZEILE ANPASSEN!!! -->
                                              </serial>
                                              <net>
                                                <port>3002</port>
                                              </net>
                                              <logging>
                                                <file>vcontrold.log</file>
                                                <syslog>n</syslog>
                                                <debug>n</debug>
                                              </logging>
                                              <device ID="204D"/>
                                            </config>
                                          </unix>
                                          <units>
                                            <unit name="Temperatur">
                                              <abbrev>UT</abbrev>
                                              <calc get="V/10" set="V*10"/>
                                              <type>short</type>
                                              <entity>°C</entity>
                                            </unit>
                                            <unit name="Temperatur100">
                                              <abbrev>UTH</abbrev>
                                              <calc get="V/100" set="V*100"/>
                                              <type>short</type>
                                              <entity>°C</entity>
                                            </unit>
                                            <unit name="Neigung">
                                              <abbrev>UN</abbrev>
                                              <calc get="V/10" set="V*10"/>
                                              <type>short</type>
                                              <entity/>
                                            </unit>
                                            <unit name="Temperatur 1Byte">
                                              <abbrev>UT1</abbrev>
                                              <calc get="V/2" set="V*2"/>
                                              <type>char</type>
                                              <entity>°C</entity>
                                            </unit>
                                            <unit name="Temperatur 1Byte unsigned">
                                              <abbrev>UT1U</abbrev>
                                              <calc get="V/2" set="V*2"/>
                                              <type>uchar</type>
                                              <entity>°C</entity>
                                            </unit>
                                            <unit name="Temperatur 1Byte ganzzahlig">
                                              <abbrev>UTI</abbrev>
                                              <calc get="V" set="V"/>
                                              <type>uchar</type>
                                              <entity>°C</entity>
                                            </unit>
                                            <unit name="Einstellwert">
                                              <abbrev>XX</abbrev>
                                              <calc get="V" set="V"/>
                                              <type>uchar</type>
                                              <entity/>
                                            </unit>
                                            <unit name="Counter">
                                              <abbrev>CO</abbrev>
                                              <calc get="V" set="V"/>
                                              <type>int</type>
                                              <entity/>
                                            </unit>
                                            <unit name="JAZ">
                                              <abbrev>JAZ</abbrev>
                                              <calc get="V/10" set="V/10"/>
                                              <type>int</type>
                                              <entity></entity>
                                              </unit>		
                                            <unit name="Volumenstrom">
                                              <abbrev>VS</abbrev>
                                              <calc get="V" set="V"/>
                                              <type>ushort</type>
                                              <entity>l/h</entity>
                                            </unit>
                                            <unit name="Counter liter">
                                              <abbrev>COL</abbrev>
                                              <calc get="V/1000" set="V*1000"/>
                                              <type>int</type>
                                              <entity/>
                                            </unit>
                                            <unit name="Prozent">
                                              <abbrev>PR</abbrev>
                                              <calc get="V/2" set="V*2"/>
                                              <type>short</type>
                                              <entity>%</entity>
                                            </unit>
                                            <unit name="Prozent 1 Byte ganzzahlig">
                                              <abbrev>PR1</abbrev>
                                              <calc get="V" set="V"/>
                                              <type>uchar</type>
                                              <entity>%</entity>
                                            </unit>
                                            <unit name="Prozent zweites Byte ganzzahlig (Pumpe)">
                                              <abbrev>PR2</abbrev>
                                              <calc get="B1" set="B1"/>
                                              <type>uchar</type>
                                              <entity>%</entity>
                                            </unit>
                                            <unit name="Prozent erstes Byte">
                                              <abbrev>PR3</abbrev>
                                              <calc get="V/2" set="V*2"/>
                                              <type>uchar</type>
                                              <entity>%</entity>
                                            </unit>
                                            <unit name="CounterS">
                                              <abbrev>CS</abbrev>
                                              <calc get="V/3600" set="V*3600"/>
                                              <type>uint</type>
                                              <entity>Stunden</entity>
                                            </unit>
                                            <unit name="CycleTime">
                                              <abbrev>CT</abbrev>
                                              <type>cycletime</type>
                                            </unit>
                                            <unit name="ReturnStatus">
                                              <abbrev>RT</abbrev>
                                              <type>enum</type>
                                              <enum bytes="00" text="0"/>
                                              <enum bytes="01" text="1"/>
                                              <enum bytes="02" text="EIN"/>
                                              <enum text="NOT OK"/>
                                            </unit>
                                            <unit name="WWBereitung">
                                              <abbrev>WW</abbrev>
                                              <type>enum</type>
                                              <enum bytes="00" text="0" />
                                              <enum bytes="02" text="1" />
                                              <enum text="UNKNOWN" />
                                            </unit>
                                            <unit name="BetriebsArt">
                                              <abbrev>BA</abbrev>
                                              <type>enum</type>
                                              <enum bytes="00" text="0"/>
                                              <enum bytes="01" text="0"/>
                                              <enum bytes="02" text="2"/>
                                              <enum bytes="42" text="3"/>
                                              <enum bytes="82" text="4"/>
                                              <enum text="UNKNOWN"/>
                                            </unit>
                                            <unit name="SetReturnStatus">
                                              <abbrev>SR</abbrev>
                                              <type>enum</type>
                                              <enum bytes="00" text="OK"/>
                                              <enum bytes="05" text="SYNC (NOT OK)"/>
                                              <enum text="NOT OK"/>
                                            </unit>
                                            <unit name="Druck">
                                              <abbrev>PS</abbrev>
                                              <calc get="V/10" set="V*10"/>
                                              <type>short</type>
                                              <entity>Bar</entity>
                                            </unit>		
                                            <unit name="SystemTime">
                                              <abbrev>TI</abbrev>
                                              <type>systime</type>
                                            </unit>
                                            <unit name="Plain">
                                              <abbrev>PL</abbrev>
                                              <calc get="V" set="V"/>
                                              <type>short</type>
                                            </unit>		
                                            <unit name="ErrorState">
                                              <abbrev>ES</abbrev>
                                              <type>errstate</type>
                                              <enum bytes="00" text="Regelbetrieb (kein Fehler)"/>
                                              <enum bytes="0F" text="Wartung (fuer Reset Codieradresse 24 auf 0 stellen)"/>
                                              <enum bytes="10" text="Kurzschluss Aussentemperatursensor"/>
                                              <enum bytes="18" text="Unterbrechung Aussentemperatursensor"/>
                                              <enum bytes="20" text="Kurzschluss Vorlauftemperatursensor"/>
                                              <enum bytes="21" text="Kurzschluss Ruecklauftemperatursensor"/>
                                              <enum bytes="28" text="Unterbrechung Aussentemperatursensor"/>
                                              <enum bytes="29" text="Unterbrechung Ruecklauftemperatursensor"/>
                                              <enum bytes="30" text="Kurzschluss Kesseltemperatursensor"/>
                                              <enum bytes="38" text="Unterbrechung Kesseltemperatursensor"/>
                                              <enum bytes="40" text="Kurzschluss Vorlauftemperatursensor M2"/>
                                              <enum bytes="42" text="Unterbrechung Vorlauftemperatursensor M2"/>
                                              <enum bytes="50" text="Kurzschluss Speichertemperatursensor"/>
                                              <enum bytes="58" text="Unterbrechung Speichertemperatursensor"/>
                                              <enum bytes="A7" text="Bedienteil defekt"/>
                                              <enum bytes="B0" text="Kurzschluss Abgastemperatursensor"/>
                                              <enum bytes="B1" text="Kommunikationsfehler Bedieneinheit"/>
                                              <enum bytes="B4" text="Interner Fehler (Elektronik)"/>
                                              <enum bytes="B5" text="Interner Fehler (Elektronik)"/>
                                              <enum bytes="B6" text="Ungueltige Hardwarekennung (Elektronik)"/>
                                              <enum bytes="B7" text="Interner Fehler (Kesselkodierstecker)"/>
                                              <enum bytes="B8" text="Unterbrechung Abgastemperatursensor"/>
                                              <enum bytes="B9" text="Interner Fehler (Dateneingabe wiederholen)"/>
                                              <enum bytes="BA" text="Kommunikationsfehler Erweiterungssatz fuer Mischerkreis M2"/>
                                              <enum bytes="BC" text="Kommunikationsfehler Fernbedienung Vitorol, Heizkreis M1"/>
                                              <enum bytes="BD" text="Kommunikationsfehler Fernbedienung Vitorol, Heizkreis M2"/>
                                              <enum bytes="BE" text="Falsche Codierung Fernbedienung Vitorol"/>
                                              <enum bytes="C1" text="Externe Sicherheitseinrichtung (Kessel kuehlt aus)"/>
                                              <enum bytes="C2" text="Kommunikationsfehler Solarregelung"/>
                                              <enum bytes="C5" text="Kommunikationsfehler drehzahlgeregelte Heizkreispumpe, Heizkreis M1"/>
                                              <enum bytes="C6" text="Kommunikationsfehler drehzahlgeregelte Heizkreispumpe, Heizkreis M2"/>
                                              <enum bytes="C7" text="Falsche Codierung der Heizkreispumpe"/>
                                              <enum bytes="C9" text="Stoermeldeeingang am Schaltmodul-V aktiv"/>
                                              <enum bytes="CD" text="Kommunikationsfehler Vitocom 100 (KM-BUS)"/>
                                              <enum bytes="CE" text="Kommunikationsfehler Schaltmodul-V"/>
                                              <enum bytes="CF" text="Kommunikationsfehler LON Modul"/>
                                              <enum bytes="D4" text="Sicherheitstemperaturbegrenzer hat ausgeloest oder Stoermeldemodul nicht richtig gesteckt"/>
                                              <enum bytes="DA" text="Kurzschluss Raumtemperatursensor, Heizkreis M1"/>
                                              <enum bytes="DB" text="Kurzschluss Raumtemperatursensor, Heizkreis M2"/>
                                              <enum bytes="DD" text="Unterbrechung Raumtemperatursensor, Heizkreis M1"/>
                                              <enum bytes="DE" text="Unterbrechung Raumtemperatursensor, Heizkreis M2"/>
                                              <enum bytes="E4" text="Fehler Versorgungsspannung"/>
                                              <enum bytes="F0" text="Interner Fehler (Regelung tauschen)"/>
                                              <enum bytes="F2" text="Temperaturbegrenzer ausgeloest"/>
                                              <enum bytes="F7" text="Differenzdrucksensor defekt"/>
                                              <enum bytes="FE" text="Starkes Stoerfeld (EMV) in der Naehe oder Elektronik defekt"/>
                                              <enum bytes="FF" text="Starkes Stoerfeld (EMV) in der Naehe oder interner Fehler"/>
                                              <enum text="UNKNOWN"/>
                                            </unit>
                                            <unit name="DeviceType">
                                              <abbrev>DT</abbrev>
                                              <type>enum</type>
                                              <enum bytes="20 4D" text="V200WO1C ID=204D Protokoll:300"/>
                                              <enum text="UNKNOWN"/>
                                            </unit>
                                            <unit name="Sachnummer">
                                              <abbrev>SN</abbrev>
                                              <type>uint</type>
                                              <icalc get="((((((((((((B0-48)*10)+(B1-48))*10)+(B2-48))*10)+(B3-48))*10)+(B4-48))*10)+(B5-48))*10)+B6-48"/>
                                            </unit>
                                        
                                            <unit name="Bitstatus">
                                              <abbrev>BST</abbrev>
                                              <type>uchar</type>
                                              <icalc get="(B0 &amp; (0x01&lt;&lt;BP))&gt;&gt; BP"/>
                                              <enum bytes="00" text="0"/>
                                              <enum bytes="01" text="1"/>
                                              <enum text="UNKNOWN"/>
                                            </unit>
                                            <unit name="HKP Pumpentyp">
                                              <abbrev>HKT</abbrev>
                                              <type>uchar</type>
                                              <icalc get="(B0 &amp; (0x01&lt;&lt;BP))&gt;&gt; BP"/>
                                              <enum bytes="00" text="stufig"/>
                                              <enum bytes="01" text="drehzahlgeregelt"/>
                                              <enum text="UNKNOWN"/>
                                            </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>
                                            <unit name="Umschaltventil Stellung">
                                              <abbrev>USV</abbrev>
                                              <type>enum</type>
                                              <enum bytes="00" text="UNDEV"/>
                                              <enum bytes="01" text="Heizen"/>
                                              <enum bytes="02" text="Mittelstellung"/>
                                              <enum bytes="03" text="Warmwasser"/>
                                              <enum text="UNKNOWN"/>
                                            </unit>
                                            <unit name="Ferienbetrieb">
                                              <abbrev>BFB</abbrev>
                                              <type>uchar</type>
                                              <icalc get="(B7 &amp; (0x01&lt;&lt;BP))&gt;&gt; BP"/>
                                              <enum bytes="00" text="inaktiv"/>
                                              <enum bytes="01" text="aktiv"/>
                                              <enum text="?"/>
                                            </unit>		
                                          </units>
                                          <protocols>
                                            <protocol name="P300">
                                              <pid>41</pid>
                                              <macros>
                                                <macro name="GETADDR">
                                                  <command>SEND 00 01</command>
                                                </macro>
                                              </macros>
                                              <commands>
                                        	<command name="getaddr">
                                        	   <send>GETADDR $addr $hexlen;RECV $len $unit</send>
                                        	</command>
                                        	<command name="setaddr">
                                        	   <send>SEND 00 02 $addr $hexlen BYTES;RECV 1 SR</send>
                                        	</command>				
                                        	<command name="setaddrValue">
                                          	   <send>SEND 00 02 $addr $hexlen;SEND BYTES $unit;RECV 1 SR</send>
                                        	</command>
                                        	<command name="setfunc">
                                        	   <send>SEND 00 07 $addr 02 02;SEND BYTES $unit;RECV $len</send>
                                        	</command>
                                              </commands>
                                            </protocol>
                                          </protocols>
                                          <extern xmlns:xi="http://www.w3.org/2003/XInclude">
                                            <xi:include href="vito.xml" parse="xml"/>
                                          </extern>
                                        </V-Control>
                                        
                                        

                                        vito.xml

                                        <?xml version="1.0"?>
                                        <vito>
                                          <devices>
                                            <device ID="204D" name="V200WO1C" protocol="P300"/>
                                          </devices>
                                          <commands>
                                            <!-- AUSSENTEMPERATUR -->
                                            <command name="getTempA" protocmd="getaddr">
                                                <addr>0101</addr>
                                                <len>2</len>
                                        	<unit>UT</unit>
                                         	<description>Ermittle Aussentemperatur in Grad C</description>
                                            </command>
                                            <!-- HEIZUNG -->
                                            <command name="getRoomtemp" protocmd="getaddr">
                                        	<addr>2000</addr>
                                        	<len>2</len>
                                        	<unit>UT</unit>
                                        	<description>Ermittle Soll-Raumtemperatur</description>
                                            </command>
                                            <command name="setRoomtemp" protocmd="setaddrValue">
                                        	<addr>2000</addr>
                                        	<len>2</len>
                                        	<unit>UT</unit>
                                        	<description>Setze Soll-Raumtemperatur</description>
                                            </command>
                                            <!-- WARMWASSER -->
                                            <command name="getTempP" protocmd="getaddr">
                                              	<addr>010D</addr>
                                              	<len>2</len>
                                              	<unit>UT</unit>
                                              	<description>Ermittle Warmwassertemperatur</description>
                                            </command>
                                            <command name="getTempWWsoll" protocmd="getaddr">
                                              	<addr>6000</addr>
                                              	<len>2</len>
                                              	<unit>UT</unit>
                                              	<description>Ermittle Warmwassersolltemperatur</description>
                                            </command>
                                            <command name="setTempWWsoll" protocmd="setaddrValue">
                                              	<addr>6000</addr>
                                              	<len>2</len>
                                              	<unit>UT</unit>
                                             	<description>Setze Warmwassersolltemperatur</description>
                                            </command>
                                            <command name="getTempWWsoll_2" protocmd="getaddr">
                                        	<addr>600C</addr>
                                        	<len>2</len>
                                        	<unit>UT</unit>
                                        	<description>Bedienung WW - Betriebsdaten WW: Zweiter Sollwert (10..60 (95))</description>
                                            </command>
                                            <command name="setTempWWsoll_2" protocmd="setaddrValue">
                                        	<addr>600C</addr>
                                        	<len>2</len>
                                        	<unit>UT</unit>
                                        	<description>Bedienung WW - Betriebsdaten WW: Zweiter Sollwert (10..60 (95))</description>
                                            </command>
                                            <!-- STATUS PUMPEN -->
                                            <command name="getStatusV1" protocmd="getaddr">
                                        	<addr>0480</addr>
                                        	<len>1</len>
                                        	<unit>RT</unit>
                                        	<description>Status Verdichter 1 (0..1)</description>
                                            </command>
                                            <command name="getStatPump" protocmd="getaddr">
                                        	<addr>048D</addr>
                                        	<len>1</len>
                                        	<unit>RT</unit>
                                        	<description>Status HK1: Heizkreispumpe (0..1)</description>
                                            </command>
                                            <command name="getStatPumpZirk" protocmd="getaddr">
                                        	<addr>0490</addr>
                                        	<len>1</len>
                                        	<unit>BST2</unit>
                                        	<description>Status Zirkulationspumpe (0..1)</description>
                                            </command>
                                            <command name="getPumpZirk_Betriebsstunden" protocmd="getaddr">
                                        	<addr>0590</addr>
                                        	<len>4</len>
                                        	<unit>CS</unit>
                                        	<description>Betriebsstunden Zirkulationspumpe</description>
                                            </command>	
                                            <command name="getStatPPump" protocmd="getaddr">
                                        	<addr>0496</addr>
                                        	<len>1-Bit</len>
                                        	<unit>RT</unit>
                                        	<description>Status Warmwasser: Speicherladepumpe (0..1)</description>
                                            </command>
                                            <!-- STATUSINFORMATIONEN -->
                                            <command name="getJAZ" protocmd="getaddr">
                                        	<addr>1680</addr>
                                        	<len>1</len>
                                        	<unit>JAZ</unit>
                                        	<description>Energiebilanz: Jahresarbeitszahl (0..10)</description>
                                            </command>
                                            <command name="getJAZ_Heiz" protocmd="getaddr">
                                        	<addr>1681</addr>
                                        	<len>1</len>
                                        	<unit>JAZ</unit>
                                        	<description>Energiebilanz: Jahresarbeitszahl Heizen (0..10)</description>
                                            </command>
                                            <command name="getJAZ_WW" protocmd="getaddr">
                                        	<addr>1682</addr>
                                        	<len>1</len>
                                        	<unit>JAZ</unit>
                                        	<description>Energiebilanz: Jahresarbeitszahl WW (0..10)</description>
                                            </command>
                                            <!-- BEDIENUNG -->
                                            <command name="set1xWW" protocmd="setaddrValue">
                                        	<addr>B0D0</addr>
                                        	<len>1</len>
                                        	<unit>XX</unit>
                                        	<description>Bedienung 1xWW-Bereitung (0=aus 2=ein)</description>
                                            </command>
                                            <command name="get1xWW" protocmd="getaddr">
                                             	<addr>B0D0</addr>
                                              	<len>1</len>
                                              	<unit>XX</unit>
                                              	<description>Bedienung WW 1xWW Bereitung (0=aus 2=ein)</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)</description>
                                            </command>
                                         <command name="getHeater" protocmd="getaddr">
                                                <addr>7907</addr>
                                                <len>1</len>
                                                <unit>XX</unit>
                                                <description>Leistung Durchlauferhitzer (1=3, 2=6 oder 3=9kW)</description>
                                            </command>
                                            <command name="setComp" protocmd="setaddrValue">
                                                <addr>5012</addr>
                                                <len>1</len>
                                                <unit>XX</unit>
                                                <description>Freigabe Verdichterstufe (1=WW 2=Heiz 3=WW+Heiz 15=default)</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>
                                          </commands>
                                        </vito>
                                        
                                        M Offline
                                        M Offline
                                        Micha487
                                        schrieb am zuletzt editiert von
                                        #110

                                        @issr4k wie genau sendest du denn die set-Befehle über ioBroker raus? Ich habe versucht, mit Blockly zu arbeiten, allerdings wird mir dort der Viessmann-Adapter gar nicht angezeigt.

                                        Bisher sende ich die set-Befehle per Hand über die Konsole mittels vclient, wollte aber bestimmte Abhängigkeiten einbauen und dafür ioBroker verwenden.

                                        Issr4kI 1 Antwort Letzte Antwort
                                        0
                                        • M Micha487

                                          @issr4k wie genau sendest du denn die set-Befehle über ioBroker raus? Ich habe versucht, mit Blockly zu arbeiten, allerdings wird mir dort der Viessmann-Adapter gar nicht angezeigt.

                                          Bisher sende ich die set-Befehle per Hand über die Konsole mittels vclient, wollte aber bestimmte Abhängigkeiten einbauen und dafür ioBroker verwenden.

                                          Issr4kI Offline
                                          Issr4kI Offline
                                          Issr4k
                                          schrieb am zuletzt editiert von Issr4k
                                          #111

                                          @micha487 die Datenpunkte des viessmann -Adapters sind doch in deiner Objektstruktur, oder nicht? Dort musst doch du in jedem Fall direkt über den Objektbrowser manuell Werte setzen können. Wenn es dort geht, klappt auch auf jeden Fall Blockly bzw. generell über den Javascript-Adapter.

                                          EDIT:

                                          1.PNG
                                          Gerade nochmal getestet.. ich schreibe manuell unter "set" Roomtemp 22 und nach dem eingestellten Zeitinterval des Viessmann-Adapters wird Roomtemp unter "get" aktualisiert.

                                          M 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          500

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe