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

donate donate
  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.8k

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

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

Viessmann-Adapter mit vcontrol

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
354 Beiträge 18 Kommentatoren 99.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.
  • ScroungerS Scrounger

    @martybr
    Weißt du ob es generell möglich ist die Heizkreispumpe (Mischer) ein bzw. auszuschalten?
    Bei mir ist das die Adresse 048E, lesen geht ohne Probleme, aber schreiben will er nicht.

    vito.xml - Adresse 048E

    		<command name="getHK2_Heizkreispumpe_aktiv" protocmd="getaddr">
    			<addr>048E</addr>
    			<len>1</len>
    			<description>Heizstab Stufe 1 ein/aus</description>
    			<unit>BST2</unit>
    		</command>
    

    vcontrold.xml - Definition BST2

    		<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>
    
    M Offline
    M Offline
    MartyBr
    schrieb am zuletzt editiert von
    #272

    @scrounger sagte in Viessmann-Adapter mit vcontrol:

    @martybr
    Weißt du ob es generell möglich ist die Heizkreispumpe (Mischer) ein bzw. auszuschalten?
    Bei mir ist das die Adresse 048E, lesen geht ohne Probleme, aber schreiben will er nicht.

    vito.xml - Adresse 048E

    		<command name="getHK2_Heizkreispumpe_aktiv" protocmd="getaddr">
    			<addr>048E</addr>
    			<len>1</len>
    			<description>Heizstab Stufe 1 ein/aus</description>
    			<unit>BST2</unit>
    		</command>
    

    Der Name und die Beschreibung unterscheiden sich (Pumpe vs. Heizstab). Das ist aber nur ein kosmetischer Fehler. Schreiben musst du natürlich mit dem setHK2_Heizkreispumpe.

    Bei meiner Anlage funktioniert zum Auslesen

    <command name="getStatusPumpe" protocmd="getaddr">
             <addr>048D</addr>
             <len>1</len>
             <unit>RT</unit>
             <description>Status HK1: Heizkreispumpe (0..1)</description>
    </command>
    

    mit folgender Definition:

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

    Die >048D< scheint damit für den zweiten HK zu stehen. Das sieht also richtig aus.
    Das schalten funktioniert bei mir (auch) nicht.
    Ich muss mal die vito.xml um den Set-Befehl ergänzen. Vielleicht kann ich dann mehr dazu sagen.

    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
    • M McBeath

      Laut Github ist es wohl die "204D" meine ID.

      Gerät ...................... ID ............... Protokoll....Produkt...................................Beschreibung
      Vitotronic 200 .....204D............300,KW2....Vitotronic 200 (WO1C) .....Wärmepumpenregelung (Vitocal 2xx-G/3xx-G mit Vitotronic 200 (Typ WO1C)

      Und wenn ich die 204D in der Vcontrold.xml eintrage erhalte ich die Meldung "204D nicht definiert"

      Im Viessmann Adapter steht unter Informationen zur Geizungsanlage aber auch immer nur die "2098" drin.

      Bekommen ein paar Werte schonmal angezeigt aber die sind nicht zu gebrauchen. :(
      Bauche wohl eine andere vito.xml?!?

      H Offline
      H Offline
      Hoizi1994
      schrieb am zuletzt editiert von
      #273

      @mcbeath ein wenig weiter oben sind die xml datein von MartyBr die find ich top kann ich nahezu 1zu1 nehmen

      1 Antwort Letzte Antwort
      0
      • M MartyBr

        @hoizi1994
        Ich habe die Vitovent 300F. Die 200W hat andere Datenpunkte. Versuch mal die Werte zu bekommen. Sind die in deinem Handbuch beschrieben? Teste mal mit einem Wert. Bei mir war es auch ein langwieriges Recherchieren, bis ich die richtigen Werte gefunden hatte.
        Zeige mal deine xml-Dateien, vielleicht finde ich das was.

        H Offline
        H Offline
        Hoizi1994
        schrieb am zuletzt editiert von
        #274

        @martybr said in Viessmann-Adapter mit vcontrol:

        @hoizi1994
        Ich habe die Vitovent 300F. Die 200W hat andere Datenpunkte. Versuch mal die Werte zu bekommen. Sind die in deinem Handbuch beschrieben? Teste mal mit einem Wert. Bei mir war es auch ein langwieriges Recherchieren, bis ich die richtigen Werte gefunden hatte.
        Zeige mal deine xml-Dateien, vielleicht finde ich das was.

        So das was ich rausgefunden habe sind nur die Datenpunkte um den volumenstrom der lüftung in % zu ändern

        B005 habe ich bis jetzt nur 2 und 66 rausbekommen 66 war die intensivlüftung wenn mans an der steuerung manuell startet 2 dürfte der betriebsmodus für die zeitsteuerung sein oder so

        Doch wie man in den Leistungsstufen unschaltet bekam ich noch nicht raus. Evtl. hast ein paar tipps wie ich so was rausfinden könnte

        M 1 Antwort Letzte Antwort
        0
        • H Hoizi1994

          @martybr said in Viessmann-Adapter mit vcontrol:

          @hoizi1994
          Ich habe die Vitovent 300F. Die 200W hat andere Datenpunkte. Versuch mal die Werte zu bekommen. Sind die in deinem Handbuch beschrieben? Teste mal mit einem Wert. Bei mir war es auch ein langwieriges Recherchieren, bis ich die richtigen Werte gefunden hatte.
          Zeige mal deine xml-Dateien, vielleicht finde ich das was.

          So das was ich rausgefunden habe sind nur die Datenpunkte um den volumenstrom der lüftung in % zu ändern

          B005 habe ich bis jetzt nur 2 und 66 rausbekommen 66 war die intensivlüftung wenn mans an der steuerung manuell startet 2 dürfte der betriebsmodus für die zeitsteuerung sein oder so

          Doch wie man in den Leistungsstufen unschaltet bekam ich noch nicht raus. Evtl. hast ein paar tipps wie ich so was rausfinden könnte

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

          @hoizi1994 Ich habe auch nur die große Suchmaschine und mein Handbuch durchsucht.
          Evtl. findest du in anderen Foren Infos über die 200W, z,B. FHEM:
          https://forum.fhem.de/index.php?topic=104786.0

          Das war auch bei meiner 300F eine Sucherei, bis ich die richtigen Werte gefunden habe.

          Edit:
          Schau mal hier:

          
          #       Lüftung
          POLL, 01F7B00501, 1ByteU, 1,            Lueftung_Betriebsart                            , -
          SET, Einstellung_Lueftung,   01F4B00501, 1ByteU , -        # kann man dann mit 66 auf Intensivbetrieb setzen
          POLL, 01F70A7E01, 1ByteH, 1,            Lueftung_Betriebsprogramm                             , -
          POLL, 01F70A0103, 2ByteS, 10,            Lueftung_Zulufttemperatur                             , -
          POLL, 01F70A0203, 2ByteS, 10,            Lueftung_Ablufttemperatur                             , -
          POLL, 01F70A0003, 2ByteS, 10,            Lueftung_AussentemperaturLueftung                             , -
          POLL, 01F70A0403, 2ByteU, 1,  Lueftung_Zuluft_Volumenstrom, -
          POLL, 01F70A0C03, 2ByteS, 1,  Lueftung_Elek_Vorheiz, -
          POLL, 01F70A0D03, 2ByteU, 1,  Lueftung_Bypass, -
          POLL, 01F70A0E03, 2ByteU, 1,  Lueftung_Filterstandzeit, -
          POLL, 01F70A0303, 2ByteS,10 ,Lueftung_Fortlufttemperatur, -
          POLL, 01F70A0503, 2ByteU,1  ,Lueftung_Fortluft_Volumenstrom, -
          POLL, 01F70A0403, 2ByteU,1  ,Lueftung_Zuluft_Volumenstrom, -
          

          Hier kommt deine B005 vor: 01F4B00501

          Versuche mal die Werte aus der Tabelle und lass vorne die ersten 4 Zeichen und hinten die letzten 2 Zeichen weg.

          Gruß
          Martin


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

          H 1 Antwort Letzte Antwort
          0
          • M MartyBr

            @hoizi1994 Ich habe auch nur die große Suchmaschine und mein Handbuch durchsucht.
            Evtl. findest du in anderen Foren Infos über die 200W, z,B. FHEM:
            https://forum.fhem.de/index.php?topic=104786.0

            Das war auch bei meiner 300F eine Sucherei, bis ich die richtigen Werte gefunden habe.

            Edit:
            Schau mal hier:

            
            #       Lüftung
            POLL, 01F7B00501, 1ByteU, 1,            Lueftung_Betriebsart                            , -
            SET, Einstellung_Lueftung,   01F4B00501, 1ByteU , -        # kann man dann mit 66 auf Intensivbetrieb setzen
            POLL, 01F70A7E01, 1ByteH, 1,            Lueftung_Betriebsprogramm                             , -
            POLL, 01F70A0103, 2ByteS, 10,            Lueftung_Zulufttemperatur                             , -
            POLL, 01F70A0203, 2ByteS, 10,            Lueftung_Ablufttemperatur                             , -
            POLL, 01F70A0003, 2ByteS, 10,            Lueftung_AussentemperaturLueftung                             , -
            POLL, 01F70A0403, 2ByteU, 1,  Lueftung_Zuluft_Volumenstrom, -
            POLL, 01F70A0C03, 2ByteS, 1,  Lueftung_Elek_Vorheiz, -
            POLL, 01F70A0D03, 2ByteU, 1,  Lueftung_Bypass, -
            POLL, 01F70A0E03, 2ByteU, 1,  Lueftung_Filterstandzeit, -
            POLL, 01F70A0303, 2ByteS,10 ,Lueftung_Fortlufttemperatur, -
            POLL, 01F70A0503, 2ByteU,1  ,Lueftung_Fortluft_Volumenstrom, -
            POLL, 01F70A0403, 2ByteU,1  ,Lueftung_Zuluft_Volumenstrom, -
            

            Hier kommt deine B005 vor: 01F4B00501

            Versuche mal die Werte aus der Tabelle und lass vorne die ersten 4 Zeichen und hinten die letzten 2 Zeichen weg.

            H Offline
            H Offline
            Hoizi1994
            schrieb am zuletzt editiert von
            #276

            @martybr oke danke für die Info

            Hätte da noch ne frage zu den .xml wie sollte die vcontrold aussehen wenn ich eine setadrr66 machen würde für die intensiv Lüftung

            muss ich da von deiner vcontrold.xml noch was hinzufügen ?

            für die Vito dachte ich an sowas oder sehe ich da was falsch?

             <command name="setIntensivLueftung" protocmd="setaddr66">
                	<addr>B005</addr>
                	<len>1</len>
                	<unit>ST</unit>
                	<description>Intensiv Lueftung</description>
            </command>
            

            bin hier leider ganz neu in dem Thema und finde nichts ähnliches im Inet

            lg. und danke

            M 1 Antwort Letzte Antwort
            0
            • H Hoizi1994

              @martybr oke danke für die Info

              Hätte da noch ne frage zu den .xml wie sollte die vcontrold aussehen wenn ich eine setadrr66 machen würde für die intensiv Lüftung

              muss ich da von deiner vcontrold.xml noch was hinzufügen ?

              für die Vito dachte ich an sowas oder sehe ich da was falsch?

               <command name="setIntensivLueftung" protocmd="setaddr66">
                  	<addr>B005</addr>
                  	<len>1</len>
                  	<unit>ST</unit>
                  	<description>Intensiv Lueftung</description>
              </command>
              

              bin hier leider ganz neu in dem Thema und finde nichts ähnliches im Inet

              lg. und danke

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

              @hoizi1994
              Ich hatte in meiner vcontrold.xml folgende Protokolle definiert:

              <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="setaddr0">
                                   <send>SEND 00 02 $addr $hexlen 00;RECV 1 SR</send>
                              </command>
                              <command name="setaddr1">
                                   <send>SEND 00 02 $addr $hexlen 01;RECV 1 SR</send>
                              </command>
                              <command name="setaddr2">
                                   <send>SEND 00 02 $addr $hexlen 02;RECV 1 SR</send>
                              </command>
                              <command name="setaddr16">
                                   <send>SEND 00 02 $addr $hexlen A0 00;RECV 2 SR</send>
                              </command>
                              <command name="setaddr17">
                                   <send>SEND 00 02 $addr $hexlen AA 00;RECV 2 SR</send>
                              </command>
                              <command name="setaddr18">
                                   <send>SEND 00 02 $addr $hexlen B4 00;RECV 2 SR</send>
                              </command>
                              <command name="setaddr19">
                                   <send>SEND 00 02 $addr $hexlen BE 00;RECV 2 SR</send>
                              </command>
                              <command name="setaddr20">
                                   <send>SEND 00 02 $addr $hexlen C8 00;RECV 2 SR</send>
                              </command>
                              <command name="setaddr21">
                                   <send>SEND 00 02 $addr $hexlen D2 00;RECV 2 SR</send>
                              </command>
                              <command name="setaddr22">
                                   <send>SEND 00 02 $addr $hexlen DC 00;RECV 2 SR</send>
                              </command>
                              <command name="setaddr23">
                                   <send>SEND 00 02 $addr $hexlen E6 00;RECV 2 SR</send>
                              </command>
                              <command name="setaddr24">
                                   <send>SEND 00 02 $addr $hexlen F0 00;RECV 2 SR</send>
                              </command>
                              <command name="setaddr25">
                                   <send>SEND 00 02 $addr $hexlen FA 00;RECV 2 SR</send>
                              </command>
                              <command name="setaddr45">
                                   <send>SEND 00 02 $addr $hexlen C2 01;RECV 2 SR</send>
                              </command>
                              <command name="setaddr55">
                                   <send>SEND 00 02 $addr $hexlen 26 02;RECV 2 SR</send>
                              </command>
                              <command name="setfunc">
              	   					<send>SEND 00 07 $addr 02 02;SEND BYTES $unit;RECV $len</send>
              				</command>
                          </commands>
                    </protocol>
                  </protocols>
              
              

              Vielleicht kannst du ja ein Protokoll übernehmen oder dir ein neues bauen.
              Welche Werte musst du in B005 schreiben?

              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
              0
              • M MartyBr

                @hoizi1994
                Ich hatte in meiner vcontrold.xml folgende Protokolle definiert:

                <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="setaddr0">
                                     <send>SEND 00 02 $addr $hexlen 00;RECV 1 SR</send>
                                </command>
                                <command name="setaddr1">
                                     <send>SEND 00 02 $addr $hexlen 01;RECV 1 SR</send>
                                </command>
                                <command name="setaddr2">
                                     <send>SEND 00 02 $addr $hexlen 02;RECV 1 SR</send>
                                </command>
                                <command name="setaddr16">
                                     <send>SEND 00 02 $addr $hexlen A0 00;RECV 2 SR</send>
                                </command>
                                <command name="setaddr17">
                                     <send>SEND 00 02 $addr $hexlen AA 00;RECV 2 SR</send>
                                </command>
                                <command name="setaddr18">
                                     <send>SEND 00 02 $addr $hexlen B4 00;RECV 2 SR</send>
                                </command>
                                <command name="setaddr19">
                                     <send>SEND 00 02 $addr $hexlen BE 00;RECV 2 SR</send>
                                </command>
                                <command name="setaddr20">
                                     <send>SEND 00 02 $addr $hexlen C8 00;RECV 2 SR</send>
                                </command>
                                <command name="setaddr21">
                                     <send>SEND 00 02 $addr $hexlen D2 00;RECV 2 SR</send>
                                </command>
                                <command name="setaddr22">
                                     <send>SEND 00 02 $addr $hexlen DC 00;RECV 2 SR</send>
                                </command>
                                <command name="setaddr23">
                                     <send>SEND 00 02 $addr $hexlen E6 00;RECV 2 SR</send>
                                </command>
                                <command name="setaddr24">
                                     <send>SEND 00 02 $addr $hexlen F0 00;RECV 2 SR</send>
                                </command>
                                <command name="setaddr25">
                                     <send>SEND 00 02 $addr $hexlen FA 00;RECV 2 SR</send>
                                </command>
                                <command name="setaddr45">
                                     <send>SEND 00 02 $addr $hexlen C2 01;RECV 2 SR</send>
                                </command>
                                <command name="setaddr55">
                                     <send>SEND 00 02 $addr $hexlen 26 02;RECV 2 SR</send>
                                </command>
                                <command name="setfunc">
                	   					<send>SEND 00 07 $addr 02 02;SEND BYTES $unit;RECV $len</send>
                				</command>
                            </commands>
                      </protocol>
                    </protocols>
                
                

                Vielleicht kannst du ja ein Protokoll übernehmen oder dir ein neues bauen.
                Welche Werte musst du in B005 schreiben?

                M Online
                M Online
                McBeath
                schrieb am zuletzt editiert von
                #278

                @Hoizi1994
                Ich danke dir für die infos bzüglich der vito.xml und vcontrold.xml von martybr :+1:

                @martybr
                Hallo Martybr
                ich hätte da mal eine frage zu den JAZ werten, die sind bei mir um den Faktor 10
                zuhoch. Sprich aus 3,5 wird im IOB eine 35.
                Kann man das in der vito.xml irgendwo anpassen?

                Primärkreis Temperatur Eingang ist da (5,9 °C)
                Primärkreis Temperatur Ausgang nicht (0°C)
                Wo kann ich die korrekten Adressen finden?

                Ich habe einen Exprot aller Datapoint der A200 von der Vitosoft.
                Wenn mal die da vielleicht herleiten kann?!?

                1 Antwort Letzte Antwort
                0
                • H Offline
                  H Offline
                  Hoizi1994
                  schrieb am zuletzt editiert von Hoizi1994
                  #279

                  @martybr said in Viessmann-Adapter mit vcontrol:

                  @hoizi1994
                  Ich hatte in meiner vcontrold.xml folgende Protokolle definiert:

                  <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="setaddr0">
                                       <send>SEND 00 02 $addr $hexlen 00;RECV 1 SR</send>
                                  </command>
                                  <command name="setaddr1">
                                       <send>SEND 00 02 $addr $hexlen 01;RECV 1 SR</send>
                                  </command>
                                  <command name="setaddr2">
                                       <send>SEND 00 02 $addr $hexlen 02;RECV 1 SR</send>
                                  </command>
                                  <command name="setaddr16">
                                       <send>SEND 00 02 $addr $hexlen A0 00;RECV 2 SR</send>
                                  </command>
                                  <command name="setaddr17">
                                       <send>SEND 00 02 $addr $hexlen AA 00;RECV 2 SR</send>
                                  </command>
                                  <command name="setaddr18">
                                       <send>SEND 00 02 $addr $hexlen B4 00;RECV 2 SR</send>
                                  </command>
                                  <command name="setaddr19">
                                       <send>SEND 00 02 $addr $hexlen BE 00;RECV 2 SR</send>
                                  </command>
                                  <command name="setaddr20">
                                       <send>SEND 00 02 $addr $hexlen C8 00;RECV 2 SR</send>
                                  </command>
                                  <command name="setaddr21">
                                       <send>SEND 00 02 $addr $hexlen D2 00;RECV 2 SR</send>
                                  </command>
                                  <command name="setaddr22">
                                       <send>SEND 00 02 $addr $hexlen DC 00;RECV 2 SR</send>
                                  </command>
                                  <command name="setaddr23">
                                       <send>SEND 00 02 $addr $hexlen E6 00;RECV 2 SR</send>
                                  </command>
                                  <command name="setaddr24">
                                       <send>SEND 00 02 $addr $hexlen F0 00;RECV 2 SR</send>
                                  </command>
                                  <command name="setaddr25">
                                       <send>SEND 00 02 $addr $hexlen FA 00;RECV 2 SR</send>
                                  </command>
                                  <command name="setaddr45">
                                       <send>SEND 00 02 $addr $hexlen C2 01;RECV 2 SR</send>
                                  </command>
                                  <command name="setaddr55">
                                       <send>SEND 00 02 $addr $hexlen 26 02;RECV 2 SR</send>
                                  </command>
                                  <command name="setfunc">
                  	   					<send>SEND 00 07 $addr 02 02;SEND BYTES $unit;RECV $len</send>
                  				</command>
                              </commands>
                        </protocol>
                      </protocols>
                  
                  

                  Vielleicht kannst du ja ein Protokoll übernehmen oder dir ein neues bauen.
                  Welche Werte musst du in B005 schreiben?

                  Einen wert von 66 muss ich schreiben

                  Wenn ich hier die setaddr55 kopiere und auf 66 ändere müsste das doch passen oder was bedeuted das hinterer hexlen usw? muss da auch was gändert werden

                  edit: sollte 1 bite sein der B005

                  M 1 Antwort Letzte Antwort
                  0
                  • H Hoizi1994

                    @martybr said in Viessmann-Adapter mit vcontrol:

                    @hoizi1994
                    Ich hatte in meiner vcontrold.xml folgende Protokolle definiert:

                    <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="setaddr0">
                                         <send>SEND 00 02 $addr $hexlen 00;RECV 1 SR</send>
                                    </command>
                                    <command name="setaddr1">
                                         <send>SEND 00 02 $addr $hexlen 01;RECV 1 SR</send>
                                    </command>
                                    <command name="setaddr2">
                                         <send>SEND 00 02 $addr $hexlen 02;RECV 1 SR</send>
                                    </command>
                                    <command name="setaddr16">
                                         <send>SEND 00 02 $addr $hexlen A0 00;RECV 2 SR</send>
                                    </command>
                                    <command name="setaddr17">
                                         <send>SEND 00 02 $addr $hexlen AA 00;RECV 2 SR</send>
                                    </command>
                                    <command name="setaddr18">
                                         <send>SEND 00 02 $addr $hexlen B4 00;RECV 2 SR</send>
                                    </command>
                                    <command name="setaddr19">
                                         <send>SEND 00 02 $addr $hexlen BE 00;RECV 2 SR</send>
                                    </command>
                                    <command name="setaddr20">
                                         <send>SEND 00 02 $addr $hexlen C8 00;RECV 2 SR</send>
                                    </command>
                                    <command name="setaddr21">
                                         <send>SEND 00 02 $addr $hexlen D2 00;RECV 2 SR</send>
                                    </command>
                                    <command name="setaddr22">
                                         <send>SEND 00 02 $addr $hexlen DC 00;RECV 2 SR</send>
                                    </command>
                                    <command name="setaddr23">
                                         <send>SEND 00 02 $addr $hexlen E6 00;RECV 2 SR</send>
                                    </command>
                                    <command name="setaddr24">
                                         <send>SEND 00 02 $addr $hexlen F0 00;RECV 2 SR</send>
                                    </command>
                                    <command name="setaddr25">
                                         <send>SEND 00 02 $addr $hexlen FA 00;RECV 2 SR</send>
                                    </command>
                                    <command name="setaddr45">
                                         <send>SEND 00 02 $addr $hexlen C2 01;RECV 2 SR</send>
                                    </command>
                                    <command name="setaddr55">
                                         <send>SEND 00 02 $addr $hexlen 26 02;RECV 2 SR</send>
                                    </command>
                                    <command name="setfunc">
                    	   					<send>SEND 00 07 $addr 02 02;SEND BYTES $unit;RECV $len</send>
                    				</command>
                                </commands>
                          </protocol>
                        </protocols>
                    
                    

                    Vielleicht kannst du ja ein Protokoll übernehmen oder dir ein neues bauen.
                    Welche Werte musst du in B005 schreiben?

                    Einen wert von 66 muss ich schreiben

                    Wenn ich hier die setaddr55 kopiere und auf 66 ändere müsste das doch passen oder was bedeuted das hinterer hexlen usw? muss da auch was gändert werden

                    edit: sollte 1 bite sein der B005

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

                    @hoizi1994
                    Probiere doch setaddr1 aus. Hier ist die Länge auf 1 Byte definiert.

                    Also:

                     <command name="setIntensivLueftung" protocmd="setaddr1">
                        	<addr>B005</addr>
                        	<len>1</len>
                        	<unit>ST</unit>
                        	<description>Intensiv Lueftung</description>
                    </command>
                    

                    Ist nur meine Vermutung, habe ich nicht getestet.

                    Gruß
                    Martin


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

                    H 1 Antwort Letzte Antwort
                    0
                    • M MartyBr

                      @hoizi1994
                      Probiere doch setaddr1 aus. Hier ist die Länge auf 1 Byte definiert.

                      Also:

                       <command name="setIntensivLueftung" protocmd="setaddr1">
                          	<addr>B005</addr>
                          	<len>1</len>
                          	<unit>ST</unit>
                          	<description>Intensiv Lueftung</description>
                      </command>
                      

                      Ist nur meine Vermutung, habe ich nicht getestet.

                      H Offline
                      H Offline
                      Hoizi1994
                      schrieb am zuletzt editiert von
                      #281

                      @martybr

                      wenn ich getLueftung bei Intensivlüftung mache kommt ein wert von 66 sollte dann die setaddr nicht auch 66 haben?

                      lg.

                      M 1 Antwort Letzte Antwort
                      0
                      • H Hoizi1994

                        @martybr

                        wenn ich getLueftung bei Intensivlüftung mache kommt ein wert von 66 sollte dann die setaddr nicht auch 66 haben?

                        lg.

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

                        @hoizi1994 Du musst hier den Namen "setaddrxxx" vom Wert unterscheiden. Wenn du als Wert "66" bekommst, dann benötigst du auch eine Definition die zumindest 2 byte definiert.
                        Wie list du den Wert "getLueftung" aus? Kannst du nicht direkt mit den gleichen Adressen eine Definition "setLueftung" machen und dort z.B. als Wert die 66 eintragen?

                        Zeige mal die Passage aus der vcontrold.cml und der 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

                        H 1 Antwort Letzte Antwort
                        0
                        • M MartyBr

                          @hoizi1994 Du musst hier den Namen "setaddrxxx" vom Wert unterscheiden. Wenn du als Wert "66" bekommst, dann benötigst du auch eine Definition die zumindest 2 byte definiert.
                          Wie list du den Wert "getLueftung" aus? Kannst du nicht direkt mit den gleichen Adressen eine Definition "setLueftung" machen und dort z.B. als Wert die 66 eintragen?

                          Zeige mal die Passage aus der vcontrold.cml und der vito.xml

                          H Offline
                          H Offline
                          Hoizi1994
                          schrieb am zuletzt editiert von Hoizi1994
                          #283

                          @martybr

                          so lese ich aus
                          vito:

                           <command name="getLueftung" protocmd="getaddr">
                              	<addr>B005</addr>
                              	<len>1</len>
                              	<unit>ST</unit>
                              	<description>Lueftungsmodus</description>
                          </command>
                          

                          wenn ich setaddr1 verwende hüpft der auf wert 3 und schaltet sich auf abschaltbetrieb

                          vcontrold

                                      <command name="setaddr6">
                                           <send>SEND 00 02 $addr $hexlen 03;RECV 1 SR</send>
                                      </command>
                          

                          müsste ich bei der vcontrold hexlen auf 66 ?

                          M 1 Antwort Letzte Antwort
                          0
                          • H Hoizi1994

                            @martybr

                            so lese ich aus
                            vito:

                             <command name="getLueftung" protocmd="getaddr">
                                	<addr>B005</addr>
                                	<len>1</len>
                                	<unit>ST</unit>
                                	<description>Lueftungsmodus</description>
                            </command>
                            

                            wenn ich setaddr1 verwende hüpft der auf wert 3 und schaltet sich auf abschaltbetrieb

                            vcontrold

                                        <command name="setaddr6">
                                             <send>SEND 00 02 $addr $hexlen 03;RECV 1 SR</send>
                                        </command>
                            

                            müsste ich bei der vcontrold hexlen auf 66 ?

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

                            @hoizi1994
                            Setze doch mal in der vito.xml

                             <command name="setLueftung" protocmd="setaddr">
                                	<addr>B005</addr>
                                	<len>1</len>
                                	<unit>ST</unit>
                                	<description>Lueftungsmodus</description>
                            </command>
                            

                            und dann in dem Datenpunkt unter Viessmann.0/set dort einen Wert.

                            Gruß
                            Martin


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

                            H 1 Antwort Letzte Antwort
                            0
                            • M MartyBr

                              @hoizi1994
                              Setze doch mal in der vito.xml

                               <command name="setLueftung" protocmd="setaddr">
                                  	<addr>B005</addr>
                                  	<len>1</len>
                                  	<unit>ST</unit>
                                  	<description>Lueftungsmodus</description>
                              </command>
                              

                              und dann in dem Datenpunkt unter Viessmann.0/set dort einen Wert.

                              H Offline
                              H Offline
                              Hoizi1994
                              schrieb am zuletzt editiert von Hoizi1994
                              #285

                              @martybr im adapter von iobroker?

                              da tut sich nix

                              M 1 Antwort Letzte Antwort
                              0
                              • H Hoizi1994

                                @martybr im adapter von iobroker?

                                da tut sich nix

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

                                @hoizi1994 Hast du die vito.xml entsprechend ergänzt? also den getxx und der setxx Command eingetragen und die neue vito.xml in der Viessmann-App neu eingelesen?

                                Zeige bitte deine vito.xml mit den beiden Einträgen.

                                Gruß
                                Martin


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

                                H 1 Antwort Letzte Antwort
                                0
                                • M MartyBr

                                  @hoizi1994 Hast du die vito.xml entsprechend ergänzt? also den getxx und der setxx Command eingetragen und die neue vito.xml in der Viessmann-App neu eingelesen?

                                  Zeige bitte deine vito.xml mit den beiden Einträgen.

                                  H Offline
                                  H Offline
                                  Hoizi1994
                                  schrieb am zuletzt editiert von
                                  #287

                                  @martybr

                                  so sahs jetzt aus den wert habe ich im adapter eingegeben

                                   <command name="getLueftung" protocmd="getaddr">
                                              <addr>B005</addr>
                                              <len>1</len>
                                              <unit>ST</unit>
                                              <description>Lueftungsmodus</description>
                                      </command>
                                  
                                   <command name="setLueftung" protocmd="setaddr">
                                              <addr>B005</addr>
                                              <len>1</len>
                                              <unit>ST</unit>
                                              <description>Lueftungsmodus</description>
                                      </command>
                                  
                                  M 1 Antwort Letzte Antwort
                                  0
                                  • H Hoizi1994

                                    @martybr

                                    so sahs jetzt aus den wert habe ich im adapter eingegeben

                                     <command name="getLueftung" protocmd="getaddr">
                                                <addr>B005</addr>
                                                <len>1</len>
                                                <unit>ST</unit>
                                                <description>Lueftungsmodus</description>
                                        </command>
                                    
                                     <command name="setLueftung" protocmd="setaddr">
                                                <addr>B005</addr>
                                                <len>1</len>
                                                <unit>ST</unit>
                                                <description>Lueftungsmodus</description>
                                        </command>
                                    
                                    M Offline
                                    M Offline
                                    MartyBr
                                    schrieb am zuletzt editiert von
                                    #288

                                    @hoizi1994
                                    Was mir noch dazu einfällt ist: Hast du den Wert mit Bestätigt = Ja gesetzt?
                                    Ansonsten bin ich da auch überfragt. Meine 300F hat andere Datenpunkte und ich steuere über die App. In iobroker lese ich die Werte aus und baue mir Grafiken.

                                    2023_11_13_18_02_chart.svg

                                    Gruß
                                    Martin


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

                                    H 1 Antwort Letzte Antwort
                                    0
                                    • M MartyBr

                                      @hoizi1994
                                      Was mir noch dazu einfällt ist: Hast du den Wert mit Bestätigt = Ja gesetzt?
                                      Ansonsten bin ich da auch überfragt. Meine 300F hat andere Datenpunkte und ich steuere über die App. In iobroker lese ich die Werte aus und baue mir Grafiken.

                                      2023_11_13_18_02_chart.svg

                                      H Offline
                                      H Offline
                                      Hoizi1994
                                      schrieb am zuletzt editiert von
                                      #289

                                      @martybr nein ohne bestätigt

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • H Hoizi1994

                                        @martybr nein ohne bestätigt

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

                                        @hoizi1994 Teste mal mit Bestätigung. Bei Adaptern muss man mit Bestätigung den Wert setzen, so dass dieser die Änderung erkennt.

                                        Gruß
                                        Martin


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

                                        H 1 Antwort Letzte Antwort
                                        0
                                        • M MartyBr

                                          @hoizi1994 Teste mal mit Bestätigung. Bei Adaptern muss man mit Bestätigung den Wert setzen, so dass dieser die Änderung erkennt.

                                          H Offline
                                          H Offline
                                          Hoizi1994
                                          schrieb am zuletzt editiert von
                                          #291

                                          @martybr könnte hier ein anderer unit wert sinnmachen? mit best. hat auch nix verändert

                                          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

                                          666

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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