Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    933

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

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

Viessmann-Adapter mit vcontrol

Scheduled Pinned Locked Moved ioBroker Allgemein
354 Posts 18 Posters 100.5k Views 17 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 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
    wrote on last edited by
    #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 Reply Last reply
    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
      wrote on last edited by 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 Reply Last reply
      0
      • blauholstenB blauholsten

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

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

        Issr4kI Offline
        Issr4kI Offline
        Issr4k
        wrote on last edited by Issr4k
        #112

        @blauholsten so... habe direkt übers Kätzchen icon im Adapter Browser > Benuzerdefiniert > https://github.com/misanorot/ioBroker.viessmann geladen, dann Instanz manuell hinzugefügt.
        Der Adapter wird grün, holt einmalig Daten (get), dann ich ändere die vito.xml, setze den Haken bei "Vito.xml neu einlesen" und speichere.
        Der Adapter startet neu und die Daten im Objektbrowser ändern sich nicht mehr z.B. wenn ich manuell an der Wärmepumpe einen Wert ändere.

        PS: kann natürlich sein, dass ich jetzt beim installieren des Adapters einen Bock geschossen habe oder generell zu doof bin.. Kann ich irgendwo eine Versionsnummer abgleichen zu deiner letzten Änderung daran?

        1 Reply Last reply
        0
        • Issr4kI Issr4k

          @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 Offline
          M Offline
          Micha487
          wrote on last edited by
          #113

          @issr4k das manuelle Setzen über die Datenpunkte funktioniert bei mir. Allerdings taucht der viessmann-Adapter nicht im Blockly bzw. im Javascript-Adapter auf:
          0c89f283-0e63-447b-9e54-8e4675222d7a-image.png

          Issr4kI 1 Reply Last reply
          0
          • M Micha487

            @issr4k das manuelle Setzen über die Datenpunkte funktioniert bei mir. Allerdings taucht der viessmann-Adapter nicht im Blockly bzw. im Javascript-Adapter auf:
            0c89f283-0e63-447b-9e54-8e4675222d7a-image.png

            Issr4kI Offline
            Issr4kI Offline
            Issr4k
            wrote on last edited by
            #114

            @micha487 habe mal geschaut bei mir wird der Adapter auch nicht unter sendTo gelistet.
            Sprech die Datenpunkte doch einfach direkt an.

            M 1 Reply Last reply
            0
            • Issr4kI Issr4k

              @micha487 habe mal geschaut bei mir wird der Adapter auch nicht unter sendTo gelistet.
              Sprech die Datenpunkte doch einfach direkt an.

              M Offline
              M Offline
              Micha487
              wrote on last edited by
              #115

              @issr4k Super, das klappt. Vielen Dank.
              Jetzt muss ich nur noch meine Vito.xml für die Setz-Befehle etwas aufräumen, bei dir sieht das wesentlich funktionaler und übersichtlicher aus :-)

              1 Reply Last reply
              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
                wrote on last edited by Darth2010
                #116

                @issr4k said in Viessmann-Adapter mit vcontrol:

                @darth2010
                vcontrold.xml

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

                vito.xml

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

                Ich wollte hier ein kurzes Zwischenergebnis abgeben:

                vctrld>getHeater
                1.000000
                vctrld>getStatPumpZirk
                0
                vctrld>getTempWWsoll_2
                50.000000 °C
                vctrld>getTempP
                42.299999 °C
                vctrld>getRoomtemp
                21.000000 °C
                vctrld>getTempA
                6.500000 °C
                vctrld>
                
                

                Danke an @Issr4k für die XML-Dateien :+1:.
                Nachdem ich dann auch das "tty" korrekt eingetragen hatte, funktionierte es direkt mit meiner Vitocal 222-G.

                Next Step "set commands".

                Update:
                Heizstab aktiveren und deaktiveren hat nun per Telnet auch funktioniert.

                Gruß
                Darth

                Issr4kI 1 Reply Last reply
                1
                • D Darth2010

                  @issr4k said in Viessmann-Adapter mit vcontrol:

                  @darth2010
                  vcontrold.xml

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

                  vito.xml

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

                  Ich wollte hier ein kurzes Zwischenergebnis abgeben:

                  vctrld>getHeater
                  1.000000
                  vctrld>getStatPumpZirk
                  0
                  vctrld>getTempWWsoll_2
                  50.000000 °C
                  vctrld>getTempP
                  42.299999 °C
                  vctrld>getRoomtemp
                  21.000000 °C
                  vctrld>getTempA
                  6.500000 °C
                  vctrld>
                  
                  

                  Danke an @Issr4k für die XML-Dateien :+1:.
                  Nachdem ich dann auch das "tty" korrekt eingetragen hatte, funktionierte es direkt mit meiner Vitocal 222-G.

                  Next Step "set commands".

                  Update:
                  Heizstab aktiveren und deaktiveren hat nun per Telnet auch funktioniert.

                  Gruß
                  Darth

                  Issr4kI Offline
                  Issr4kI Offline
                  Issr4k
                  wrote on last edited by
                  #117

                  @darth2010
                  Super, wird doch!
                  Willst du auch den Verdichter sperren?

                  D 1 Reply Last reply
                  0
                  • Issr4kI Issr4k

                    @darth2010
                    Super, wird doch!
                    Willst du auch den Verdichter sperren?

                    D Offline
                    D Offline
                    Darth2010
                    wrote on last edited by Darth2010
                    #118

                    @issr4k

                    Nachdem ich jetzt auch über den Adapter den Heizstab schalten kann, wäre ich eingentlich fertig...
                    ABER die Idee mit PV-Überschuss per Heizstab heizen und den Verdichter zu schonen (ich hoffe das ich es richtig verstanden habe) finde ich sehr interessant.

                    Issr4kI 1 Reply Last reply
                    0
                    • D Darth2010

                      @issr4k

                      Nachdem ich jetzt auch über den Adapter den Heizstab schalten kann, wäre ich eingentlich fertig...
                      ABER die Idee mit PV-Überschuss per Heizstab heizen und den Verdichter zu schonen (ich hoffe das ich es richtig verstanden habe) finde ich sehr interessant.

                      Issr4kI Offline
                      Issr4kI Offline
                      Issr4k
                      wrote on last edited by Issr4k
                      #119

                      @darth2010
                      Ja genau das war auch meine Überlegung und es funktioniert auch!
                      Was man aber im Auge behalten muss ist der Kalkausfall am Heizstab.
                      Mehr wie 60Grad im Pufferspeicher sollten es besser nicht sein. Die 60 Grad sind unter WW Sollwert 2 auch ab Werk zu finden.
                      Habe noch keine Temperatur dauerhaft geloggt um zu sagen wie lange das Warmwasser dann reicht bzw.
                      Wieviel Grad pro Stunde oder bis zum nächsten Tag flöten gehen.

                      M M 2 Replies Last reply
                      0
                      • Issr4kI Issr4k

                        @darth2010
                        Ja genau das war auch meine Überlegung und es funktioniert auch!
                        Was man aber im Auge behalten muss ist der Kalkausfall am Heizstab.
                        Mehr wie 60Grad im Pufferspeicher sollten es besser nicht sein. Die 60 Grad sind unter WW Sollwert 2 auch ab Werk zu finden.
                        Habe noch keine Temperatur dauerhaft geloggt um zu sagen wie lange das Warmwasser dann reicht bzw.
                        Wieviel Grad pro Stunde oder bis zum nächsten Tag flöten gehen.

                        M Offline
                        M Offline
                        Micha487
                        wrote on last edited by
                        #120

                        @issr4k Ich logge aktuell das Verhalten meines Warmwasser-Tanks um genau das rauszufinden. Brauche aber noch etwas um ausreichend Daten zu sammeln.

                        Issr4kI D 2 Replies Last reply
                        0
                        • M Micha487

                          @issr4k Ich logge aktuell das Verhalten meines Warmwasser-Tanks um genau das rauszufinden. Brauche aber noch etwas um ausreichend Daten zu sammeln.

                          Issr4kI Offline
                          Issr4kI Offline
                          Issr4k
                          wrote on last edited by Issr4k
                          #121

                          @micha487 Wäre toll wenn du hier Feedback gibst, sobald belastbare Daten vorliegen.
                          Hast du auch einfach die 222-G BWT06 ohne NC und so?

                          M 1 Reply Last reply
                          0
                          • Issr4kI Issr4k

                            @darth2010
                            Ja genau das war auch meine Überlegung und es funktioniert auch!
                            Was man aber im Auge behalten muss ist der Kalkausfall am Heizstab.
                            Mehr wie 60Grad im Pufferspeicher sollten es besser nicht sein. Die 60 Grad sind unter WW Sollwert 2 auch ab Werk zu finden.
                            Habe noch keine Temperatur dauerhaft geloggt um zu sagen wie lange das Warmwasser dann reicht bzw.
                            Wieviel Grad pro Stunde oder bis zum nächsten Tag flöten gehen.

                            M Offline
                            M Offline
                            MartyBr
                            wrote on last edited by
                            #122

                            @issr4k
                            Ich habe es nun geschafft, deine Datenpunkte in meine XML einzubauen. Ich hatte einen Fehler in der Kommentarzeile, der hat echt Ärger gemacht. Nun laufen die beiden xml-Dateien.

                            Kannst du mir bitte kurz erläutern, wie ich den Heizstab aktivieren kann?
                            Nur den SetHeater setzen?

                            Gruß
                            Martin


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

                            D 1 Reply Last reply
                            0
                            • Issr4kI Issr4k

                              @micha487 Wäre toll wenn du hier Feedback gibst, sobald belastbare Daten vorliegen.
                              Hast du auch einfach die 222-G BWT06 ohne NC und so?

                              M Offline
                              M Offline
                              Micha487
                              wrote on last edited by
                              #123

                              @issr4k Kann ich gerne machen.
                              Ich habe allerdings die 200-S AWB-E-AC 201.D08 ohne AC.

                              1 Reply Last reply
                              0
                              • M MartyBr

                                @issr4k
                                Ich habe es nun geschafft, deine Datenpunkte in meine XML einzubauen. Ich hatte einen Fehler in der Kommentarzeile, der hat echt Ärger gemacht. Nun laufen die beiden xml-Dateien.

                                Kannst du mir bitte kurz erläutern, wie ich den Heizstab aktivieren kann?
                                Nur den SetHeater setzen?

                                D Offline
                                D Offline
                                Darth2010
                                wrote on last edited by
                                #124

                                @martybr

                                Bei meiner Vitocal 222-G kann ich den Heizstab für WW mit diesen vito.xml Einträgen setzen und lesen:

                                		<command name="getHeaterforWW" protocmd="getaddr">
                                			<addr>6015</addr>
                                			<len>1</len>
                                			<unit>XX</unit>
                                			<description>Status Heizstab</description>
                                		</command>
                                		<command name="setHeaterforWW" protocmd="setaddrValue">
                                				<addr>6015</addr>
                                				<len>1</len>
                                				<unit>XX</unit>
                                				<description>Heizstab steuern</description>
                                		</command>	
                                

                                Den Heizstab dann per SSH über vcontrold mit

                                setHeaterforWW 1
                                

                                aktiveren.

                                M 1 Reply Last reply
                                0
                                • D Darth2010

                                  @martybr

                                  Bei meiner Vitocal 222-G kann ich den Heizstab für WW mit diesen vito.xml Einträgen setzen und lesen:

                                  		<command name="getHeaterforWW" protocmd="getaddr">
                                  			<addr>6015</addr>
                                  			<len>1</len>
                                  			<unit>XX</unit>
                                  			<description>Status Heizstab</description>
                                  		</command>
                                  		<command name="setHeaterforWW" protocmd="setaddrValue">
                                  				<addr>6015</addr>
                                  				<len>1</len>
                                  				<unit>XX</unit>
                                  				<description>Heizstab steuern</description>
                                  		</command>	
                                  

                                  Den Heizstab dann per SSH über vcontrold mit

                                  setHeaterforWW 1
                                  

                                  aktiveren.

                                  M Offline
                                  M Offline
                                  MartyBr
                                  wrote on last edited by
                                  #125

                                  @darth2010
                                  Okay, das klingt einfach. Ich teste es mal mit einem Blocky:
                                  Wenn Ertrag > Verbrauch, dann Heater einschalten.

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

                                    @darth2010
                                    Okay, das klingt einfach. Ich teste es mal mit einem Blocky:
                                    Wenn Ertrag > Verbrauch, dann Heater einschalten.

                                    Issr4kI Offline
                                    Issr4kI Offline
                                    Issr4k
                                    wrote on last edited by
                                    #126

                                    @martybr Es gibt zwei Aufgaben für den Heizstab genau wie für den Verdichter.
                                    Einmal Brauchwasser (WW) 6015 und eben das Heizwasser (7902).

                                    Schau dir nochmal meinen Beitrag vom 24.02 9:39Uhr an.

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      MartyBr
                                      wrote on last edited by
                                      #127

                                      @issr4k Danke. Das teste ich morgen und gebe hier Rückmeldung.
                                      Ich suche weiterhin verzweifelt Datenpunkte der VitoVent. Genauer die Temperaturen für Zuluft und Abluft. Die Volumenströme habe ich gefunden, die stehen auch in meinem Handbuch der Vitocom Steuerung.
                                      Im FHEM Forum hat eine User geschrieben, dass die Datenpunkte 3 Bit Länge haben, und auf 2-Bit umgerechnet werden müssen:

                                      POLL, 01F70A0302, 2ByteS, 10,            Fortlufttemperatur                             , -
                                      POLL, 01F70A0102, 2ByteS, 10,            Zulufttemperatur                             , -
                                      POLL, 01F70A0202, 2ByteS, 10,            Ablufttemperatur            
                                      
                                      

                                      Das sind dann die Datenpunkte "0A01" bis "0A03". Die Datenpunkte "F0A0" etc. kann ich ohne Probleme auslesen.

                                      Hallo zusammen,
                                      
                                      ich habs zumindest für einige Werte gelöst. Hab in einem anderen Thread noch einen Tipp gefunden: Man muss das als drei Bytes lesen aber als zwei interpretieren (fragt mich nicht, was man rauchen muss, um auf solche Konstrukte zu kommen). Hier mal der Ausschnitt aus meiner Konfig für eine WO1C Wärempumpe mit angebunder Vitovent 300W Lüftung:
                                      
                                      Code: [Auswählen]
                                      #       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, -
                                      
                                      Für Fortluft- und Zulufttemperatur funktioniert es damit leider nicht, passt aber, so lange die anderen beiden Temperaturen gescheite Werte liefern.
                                      
                                      Noch ein komisches Phänomen: Die geänderte Einstellung für Intensivbetrieb bei SET wird erst übernommen wenn das Byte nochmal per POLL ausgelesen wird. Weiss jemand zufällig wie man das evtl. noch umgehen kann?
                                      
                                      Danke, mohel
                                      

                                      Hier der LinK:
                                      https://forum.fhem.de/index.php?topic=104786.0

                                      Gruß
                                      Martin


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

                                      Issr4kI H 2 Replies Last reply
                                      0
                                      • M MartyBr

                                        @issr4k Danke. Das teste ich morgen und gebe hier Rückmeldung.
                                        Ich suche weiterhin verzweifelt Datenpunkte der VitoVent. Genauer die Temperaturen für Zuluft und Abluft. Die Volumenströme habe ich gefunden, die stehen auch in meinem Handbuch der Vitocom Steuerung.
                                        Im FHEM Forum hat eine User geschrieben, dass die Datenpunkte 3 Bit Länge haben, und auf 2-Bit umgerechnet werden müssen:

                                        POLL, 01F70A0302, 2ByteS, 10,            Fortlufttemperatur                             , -
                                        POLL, 01F70A0102, 2ByteS, 10,            Zulufttemperatur                             , -
                                        POLL, 01F70A0202, 2ByteS, 10,            Ablufttemperatur            
                                        
                                        

                                        Das sind dann die Datenpunkte "0A01" bis "0A03". Die Datenpunkte "F0A0" etc. kann ich ohne Probleme auslesen.

                                        Hallo zusammen,
                                        
                                        ich habs zumindest für einige Werte gelöst. Hab in einem anderen Thread noch einen Tipp gefunden: Man muss das als drei Bytes lesen aber als zwei interpretieren (fragt mich nicht, was man rauchen muss, um auf solche Konstrukte zu kommen). Hier mal der Ausschnitt aus meiner Konfig für eine WO1C Wärempumpe mit angebunder Vitovent 300W Lüftung:
                                        
                                        Code: [Auswählen]
                                        #       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, -
                                        
                                        Für Fortluft- und Zulufttemperatur funktioniert es damit leider nicht, passt aber, so lange die anderen beiden Temperaturen gescheite Werte liefern.
                                        
                                        Noch ein komisches Phänomen: Die geänderte Einstellung für Intensivbetrieb bei SET wird erst übernommen wenn das Byte nochmal per POLL ausgelesen wird. Weiss jemand zufällig wie man das evtl. noch umgehen kann?
                                        
                                        Danke, mohel
                                        

                                        Hier der LinK:
                                        https://forum.fhem.de/index.php?topic=104786.0

                                        Issr4kI Offline
                                        Issr4kI Offline
                                        Issr4k
                                        wrote on last edited by
                                        #128

                                        @martybr Da muss ich leider passen... sorry!

                                        M 1 Reply Last reply
                                        0
                                        • Issr4kI Issr4k

                                          @martybr Da muss ich leider passen... sorry!

                                          M Offline
                                          M Offline
                                          MartyBr
                                          wrote on last edited by
                                          #129

                                          @issr4k
                                          Ich versuche mich mal daran. Ich setze heute Abend die <len> auf 3 und schaue mir das Ergebnis an. Wir die Leute im FHEM-Forum schon geschrieben haben:
                                          Zitat Anfang:Sehr strange mit 3 Byte auslesen und 2 Byte zur Anzeige nutzen. Typisch Viessmann
                                          Zitat Ende:

                                          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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          796

                                          Online

                                          32.5k

                                          Users

                                          81.6k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe