Anbindung Viessmann Heizung mit VCONTROL300

Begonnen von srxp, 23 Februar 2017, 13:15:51

Vorheriges Thema - Nächstes Thema

300P

Zitat von: King-Rulez am 13 Mai 2019, 12:37:24
Hallo zusammen,

ich habe das Modul auch installiert, die Adressen passen auch und es werden auchg die richtigen Werte ausgelsen , allerdings erfolgt bei mir keine aktualisierung der Daten?
Kann da jemand helfen?

Gruß Stephan
Hallo Stephan,

Hast Du richtig definiert?

Beispiel:
(z.B. alle 60 Sekunden mit Protokoll 300)
define HEIZUNG VCONTROL300 /dev/ttyUSB0 ./FHEM/89_VCONTROL300.cfg 060 300
;)

Gruß
300P
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

cho

Hallo zusammen,

ich habe eine Vitotronic 200 Typ KW1 über Opto Kabel an meinen Rasperry angeschlossen.
Das Auslesen und Steuern funktioniert mit dem FHEM Modul 89_VCONTROL.pm bislang gut.
Ich habe mich jetzt hier eingelesen und würde gerne auf 89_VCONTROL300.pm wechseln.
Im Moment scheitere ich daran, die Konfigurationsdatei im Format umzusetzen.
Für 89_VCONTROL.pm hatte ich die Vorlage aus diesem Post hier https://forum.fhem.de/index.php/topic,20280.msg138200.html#msg138200 verwendet.

Konkret weiß ich nicht wirklich, wie ich die Adressen richtig kürzen soll?

aus
POLL, 01F7080002, 2ByteS, 10    , Temp-Aussen         , -
habe ich z.B.
POLL , 0800 , 2ByteS , 10    , Temp-Aussen            , -
gemacht.

Aber was mache ich z.B. mit
SET, WW        ,    01F423010100, state      , -
so etwas?
SET  , 23010100 , state       , WW            , -

Über jede Hilfe oder für eine fertig Konfigurationsdatei würde ich mich sehr freuen!!!

Viele Grüße
Christian

amenomade

SET, WW        ,    01F423010100, state      , -
SET, HWW       ,    01F423010103, state      , -
SET, AUS       ,    01F423010105, state      , -

wird
SET, 230100, 1ByteU, state      ,WW        , -
SET, 230103, 1ByteU, state      ,HWW       , -
SET, 230105, 1ByteU, state      ,AUS       , -
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

KarlHeinz2000

Bei mir läuft die cfg auf einer KW1.
Kann sein, dass nicht alle Adressen gehen.
Betriebsart setzen geht und Auslesen der Werte auch.

cho


King-Rulez

Zitat von: 300P am 14 Mai 2019, 19:21:26
Hallo Stephan,

Hast Du richtig definiert?

Beispiel:
(z.B. alle 60 Sekunden mit Protokoll 300)
define HEIZUNG VCONTROL300 /dev/ttyUSB0 ./FHEM/89_VCONTROL300.cfg 060 300
;)

Gruß
300P

Hallo 300P,

ja das habe ich richtig definiert, ich habe es auch nochmals getestet
Die ersten 10 min hat es aktualisiert, danach ist nichts mehr passiert

Gruß Stephan

boernmasta

Hallo Liebe Viessmann Gemeinde,

Danke erstmal für euren Einsatz die die Steuerung der Viessmann Geräte über FHEM zu ermöglichen.
Ich habe meine Anlage mit der Kennung 204C über FHEM in mein Loxone System eingebunden, das funktioniert wunderbar, sowohl Wärmepumpe/Heitzung/Kühlung als auch die Wohnraumlüftung.

Die Heizung und Lüftung habe ich über VCONTROL300 (KW-Protokol) zum auslesen und schreiben eingebunden, einige Adressen kann ich aber über VCONTROL300 nicht auslesen, da anscheinend die Parser für die Werte nicht richtig interpretiert werden. Das auslesen mit VCONTROL liefert hingegen plausible Antworten.

Ich hänge hier mal einige Beispiele an:

BSP aus der 89_VCONTROL.cfg

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


Wie kann ich das in der 89_VCONTROL_300.cfg umsetzen?
Die diskrepanz scheint zu sein, das die länge offenbar 2Bytes ist, die zu lesende Länge (wenn ich das richtig interpretiere) aber 3?

Die Adresse wird jedenfalls mit VCONTROL300 mit folgendem Code nicht richtig ausgelesen:

POLL, 0A04, 2ByteU,1  ,Lueftung_Zuluft_Volumenstrom1, -
POLL, 0A0C, 2ByteS,1 ,Lueftung_Elek_Vorheiz, -
POLL, 0A0D, 2ByteU,1  ,Lueftung_Bypass, -
POLL, 0A0E, 2ByteU,1  ,Lueftung_Filterstandzeit, -


Vielen Dank im Voraus für die Unterstützung.

BG,
Bernhard

amenomade

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


Das ist schon merkwürdig. Wenn man aus der Adresse 0A0C 2 (oder 3 Bytes) ausliest, kriegt man auch, was in 0A0D (und 0A0E) steht. Bist Du sicher, dass die Werte schon mit VCONTROL stimmen?
Was ist das für ein Modell?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

boernmasta

Hi, due werte die ich mit VCONTROL auslese sind ricgtig. Das habe ich mit den werten direkt am gerät uberprüft. Volumenstrom, Filterstandzeit, etc.

Wie kann interpretiert VCONTROL die adresse, wo ist da der Unterschied zu VCONTROL300?

Wir haben eine Vitocal200s und Vitovent300f glaub ich.

Danke,
Bernhard

amenomade

Es sollte keine grosse Unterschied geben... Deswegen verstehe ich nicht.
Vielleicht aber eine Idee. Wenn Du mit VCONTROL 3 Bytes liest, diese aber als 2 Bytes interpretierst wie in POLL, 01F70A0C03, 2ByteS, 1,  Lueftung_Elek_Vorheiz, -, kann es sein, dass er nicht die 2 erste Bytes nimmt, sondern die 2 letzte (niedrigste Stellenwert vs. höchsten Stellenwert)

Das würde bedeuten, dass Du mit VCONTROL300 folgendes nutzen müsstest (einfach +1 bei jeder Adresse):
POLL, 0A05, 2ByteU,1  ,Lueftung_Zuluft_Volumenstrom1, -
POLL, 0A0D, 2ByteS,1 ,Lueftung_Elek_Vorheiz, -
POLL, 0A0E, 2ByteU,1  ,Lueftung_Bypass, -
POLL, 0A0F, 2ByteU,1  ,Lueftung_Filterstandzeit, -

Aber ich kann mich immer noch nicht erklären, wie dieses Auslesen von überschreitende Bytes-Bereiche das richtige Ergebnis zurückliefern kann..
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

boernmasta

Hi,
Danke für deine rasche Antwort. Das ht leider nicht funktioniert  :(.

Im Viessmann-Adressverzeichnis (XML-Dazei) ist der Datenblock folgenderweise definiert:

  <EventType>
    <ID>WPR3_Lueftung_Zuluft_Volumenstrom~0x0A04</ID>
    <Description>@@viessmann.eventtype.WPR3_Lueftung_Zuluft_Volumenstrom.description</Description>
    <SDKDataType>Int</SDKDataType>
    <Unit>ecnUnit.m3 pro h</Unit>
    <AccessMode>Read</AccessMode>
    <Conversion>NoConversion</Conversion>
    <ConversionFactor>0</ConversionFactor>
    <ConversionOffset>0</ConversionOffset>
    <Address>0x0A04</Address>
    <FCRead>Virtual_READ</FCRead>
    <FCWrite>undefined</FCWrite>
    <Parameter>Int</Parameter>
    <BlockLength>3</BlockLength>
    <BytePosition>0</BytePosition>
    <ByteLength>2</ByteLength>
    <BitPosition>0</BitPosition>
    <BitLength>0</BitLength>
    <BlockFactor>0</BlockFactor>
    <MappingType>0</MappingType>
  </EventType>


Auffällig ist im Vergleich zu anderen, dass die ByteLength und BlockLength unterschiedlich sind (ByteL = 2; BlockL = 3).
Durch Probieren habe ich eben die POLL Einstellungen in der VCONTROL so gesetzt (01F70A0403, 2ByteS), dadurch bekomme ich dann den richtigen Zahlenwert.
Dieses Verhalten ist mir bei einigen Adressen aufgefallen (die ich nicht mehr verwende) und folgten prinzipiell dieser Logik.

Als Beispiel:

  • VCONTROL: Lueftung_Zuluft_Volumenstrom = 125 (das entspricht dem definierten Volumenstrom für die aktuelle Betriebsart)
  • VCONTROL300: Lueftung_Zuluft_Volumenstrom = 65535

Leider bin ich eine Perlniete, ich verstehe den Code der beiden scripte nicht (VCONTROL/300), hab versucht da etwas umzubauen, mit dem Ergebnis, das nix mehr funktioniert hat  :o

Vielleicht ist dadurch das Problem leichter zu verstehen.

Besten Dank,

Bernhard

amenomade

Könntest Du bitte zusätzlich folgendes extrahieren:
POLL, 01F70A0404, 4Byte, 1,  raw1, -
POLL, 01F70A0804, 4Byte, 1,  raw2, -
POLL, 01F70A0C4, 4Byte, 1,  raw3, -

und dann ein komplettes "list" vom Device zeigen?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

boernmasta

Hi danke,
Werd ich machen.
Wie mache ich das 'list' für das device?

Danke

ph1959de

Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

boernmasta

Hi,
Der list Befehl hat folgendes ausgeworfen.

Internals:
   DEF        /dev/ttyUSB0 /opt/loxberry/config/plugins/fhem/89_VCONTROL.cfg 60
   DURATION   22.50
   DevIoJustClosed 1
   DeviceName /dev/ttyUSB0
   FD         10
   FUUID      5cf0c6cb-f33f-e838-e986-57425e88e496705b
   INTERVAL   60
   NAME       Lueftung
   NR         40
   PARTIAL   
   STATE      disconnected
   TYPE       VCONTROL
   READINGS:
     2019-05-31 09:59:03   Lueftung_Bypass 0
     2019-05-31 09:59:00   Lueftung_Elek_Vorheiz 0
     2019-05-31 09:59:06   Lueftung_Filterstandzeit 332
     2019-05-31 09:58:57   Lueftung_Zuluft_Volumenstrom 85
     2019-05-31 09:58:16   UpdateTime      2019-05-31_09:58:16
     2019-05-31 09:59:09   raw1            4294967295
     2019-05-31 09:58:13   raw2            4294967295
     2019-05-31 09:58:16   raw3            4294967295
     2019-05-31 09:56:51   state           disconnected
Attributes:


Bernhard