Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

Begonnen von Adam, 15 Februar 2014, 18:17:35

Vorheriges Thema - Nächstes Thema

LuckyDay

Meine Vitoladens 300C wird über eine VITOTRONIC 200 KW6B (VPlusHO1 = 20C8) gesteuert

und mit dem Adam seinem Modul läuft saugut, besser wie das Modul von openv, um Welten besser

Adam :) an das 300 Protokoll must du aber noch hin :) ; hab aber selber gerade auch keine Zeit  ;D

fischle

Hi Adam,
kurze Rückmeldung,
bis jetzt läuft das Modul fehlerfrei!

Viele Grüße

Fabian
RPi,
- USB RS485 Adapter für Stromzähler DRS155M und SDM630M-DC (B+G E-Tech)
- Viesmann KO2B Heizung mit selbstbau Optolink Adapter
- Mi-Light WiFi-Bridge V4, WW/CW LED-Birne

pechnase

Seit einigen Monaten lese ich erfolgreich die Parameter aus einer Viessmann Vitotronic 200KW2 mit selbstgebautem Optolink-Adapter und FHEM VCONTROL-Modul aus. Ich setze in der Heizung einen RPI B+ als FHEM-Server ein, der über FHEM2FHEM mit einem zweiten RPI 2B als FHEM-Server für die Wohnung verbunden ist. Ich logge die Daten auf einem externen Speicher, der an einer Fritz!Box angeschlossen ist. Das ganze System arbeitet super.
Jetzt wollte ich das VCONTROL-Modul auch zur Einstellung des Heizungs-Betriebsmodes verwenden, also WW, H+WW, AUS und habe dazu in der VCONTROL.cfg die entsprechenden SET Zeilen eingefügt und in dem VCONTROL-Modul das Attribut setlist mit den drei Betriebsmodies konfiguriert. Ich kann mit dem SET Befehl jetzt auch die drei Modi aus einer Liste auswählen, wenn ich dann aber SET anklicke, passiert gar nichts. Also der Betriebsmode wird nicht umgeschaltet und bei Loglevel Verbose 5 sehe ich auch kein entsprechenden Eintrag im Log-File.

Was übersehe ich bzw. mache ich falsch?

Ist der SET Befehl im VCONTROL-Modul überhaupt aktiv? Wenn ich in den Source von 89_VCONTROL.pm schaue, ist die Subroutine VCONTROL_write auskommentiert.

Vielleicht kann mir jemand einen Tip geben. Danke.

pechnase
2 x RPI mit FHEM 5.8 (RPI B+ & RPI 2B) verbunden über FHEM2FHEM
- HM Fensterkontakte, Rauchmelder, Fernbedienung, Schalter
- Optolink (Selbstbau) Vitotronic 200KW2
- 1-wire DS1820 Temp.Sensoren, TX29DT-IT
- CUL (busware), nanoCUL, Jeelink (Nachbau), FHEMduino

LuckyDay

bei mir gehen die Set s

warum bist du so sparsam mit Informationen, werde ich nie verstehen :)

pechnase

Hallo Hary,
danke für die schnelle Reaktion. Hm, ich bin zumindest nicht absichtlich sparsam mit Informationen. Ich dachte zunächst reicht die Beschreibung der aktuellen Situation um der Sache auf die Spur zu kommen.
Also hier mehr Info, hoffentlich sind es die, die zur Fehlersuche beitragen:
Auszug aus V200KW2.cfg:
#####################################################################################
#SET,SETCMD    ,    SENDCMD       , CONV     , NEXT_CMD or DAY for timer
#####################################################################################
SET, WW        ,    01F423010100, state      , -
SET, HWW       ,    01F423010103, state      , -
SET, AUS       ,    01F423010105, state      , -


AUszug aus fhem.cfg (VCONTROL):
define HEIZBRESL1 VCONTROL /dev/ttyUSB0 /opt/fhem/V200KW2.cfg 120
attr HEIZBRESL1 devStateIcon ABSCHALT:viessmann_abschalt.png WW:viessmann_ww H\+WW:viessmann_h_ww H\+WW\x20FS:viessmann_h_ww
attr HEIZBRESL1 group Heizung,
attr HEIZBRESL1 icon sani_heating
attr HEIZBRESL1 room Heizung
attr HEIZBRESL1 setList state:AUS,HWW,WW
attr HEIZBRESL1 verbose 3
attr HEIZBRESL1 webCmd state


Danke

pechnase

2 x RPI mit FHEM 5.8 (RPI B+ & RPI 2B) verbunden über FHEM2FHEM
- HM Fensterkontakte, Rauchmelder, Fernbedienung, Schalter
- Optolink (Selbstbau) Vitotronic 200KW2
- 1-wire DS1820 Temp.Sensoren, TX29DT-IT
- CUL (busware), nanoCUL, Jeelink (Nachbau), FHEMduino

LuckyDay

SET, WW        ,    01F423010100, state      , -

bist du sicher, dass diese Adresse stimmt?

meine Vitoladens hat z.B. 2323 als schreibadresse für Modusumstellung

ansonsten mußt du mal bei vopen nachsehen, deine Heizung hat ja eine Bestimmte ID und die ist wichtig

pechnase

nach den Quellen die ich habe, z.B. auch aus openv oder https://vito.rampro.de/vitoopen_db/page2.php?device_id=V200KW2 stimmt die Adresse SET, WW        ,    01F423010100, state      , -.

Selbst wenn die Adresse nicht stimmen würde, müsste ich im Log mit verbose 5 doch den SET Befehl 'sehen'. Die GeräteID der Steuerung ist 2098 (V200KW2).

Kannst Du bitte mal bei Dir prüfen, ob im Modul 89_VCONTROL.pm die Subroutine VCONTROL_write auch auskommentiert ist.
#####################################
# Input is hexstring
## This function will not be used until now!
#sub
#VCONTROL_Write($$)
#{
#  my ($hash,$fn,$msg) = @_;
#  my $name = $hash->{NAME};
#
#  return if(!defined($fn));
#
#  my $bstring;
#  $bstring = "$fn$msg";
#  Log3 $name, 5, "$hash->{NAME} sending $bstring";
#
#  DevIo_SimpleWrite($hash, $bstring, 1);
#}


Oder hat die mit dem 'Schreiben' Richtung V200 nichts zu tun?

VG pechnase
2 x RPI mit FHEM 5.8 (RPI B+ & RPI 2B) verbunden über FHEM2FHEM
- HM Fensterkontakte, Rauchmelder, Fernbedienung, Schalter
- Optolink (Selbstbau) Vitotronic 200KW2
- 1-wire DS1820 Temp.Sensoren, TX29DT-IT
- CUL (busware), nanoCUL, Jeelink (Nachbau), FHEMduino

LuckyDay

die version verwende ich,
$Id: 89_VCONTROL.pm 8021 2015-02-17 19:30:53Z adamwit $

und bei mir ist der Teil auch auskommentiert

vergib doch mal attr verbose 5 , dann siehst du senden und empfang im normalen Logfile

kvo1

versuch mal

SET, WW      , 01F423230101, state      , -
SET, HWW     , 01F423230102, state      , -
SET, AUS     , 01F423230100, state      , -

habe ich mal irgendwo gelesen ! und man muß wohl etwas Geduld haben
bis das Ganze umschaltet.
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Adam

Hallo zusammen,
Hallo pechnase,

das Schreiben, bzw. SET findet nicht in der VCONTROL_Write Routine statt.
Da beim KW Protokoll Kommandos (GET oder SET) nur nach dem Empfang eines Sync Bytes gesendet werden dürfen,
ist das alles in VCONTROL_Read implementiert.

Die SET Befehle werden auch zunächst zurück gestellt, wenn ein POLL gerade aktiv ist.
Man muss sie nicht erneut senden, sondern sie werden gespeichert und erst nach "End of POLL" werden die SET Befehle gesendet.

Aber dies muss man dann auch im Log bei verbose 5 sehen.

Also bitte mal ein Log über einen längeren Zeitraum nach SET posten,
dann kann ich mal schauen.

Bisher waren es tatsächlich immer "falsche" Adressen die nicht zur Anlage passten,
wenn die SET Befehle nicht übernommen wurden.

Gruß
Adam

pechnase

Hallo Adam,
hallo Hary,

jetzt geht es! Ja, es war doch die falsche Adresse  :-[ Die Heizung kann mit verschiedenen Heizkreisläufen verwendet werden und ich hatte die Kommandos für den Heizkreislauf A1M1 aus der Adressliste gelesen. Richtig ist aber der Heizkreislauf M2!! und somit muss das Kommando 01F433010100 sein.

Zudem hatte ich wohl das Attribute webCmd falsch definiert. Die Konfiguration des VCONTROL Moduls sieht jetzt so aus:
define HEIZBRESL1 VCONTROL /dev/ttyUSB0 /opt/fhem/V200KW2.cfg 120
attr HEIZBRESL1 devStateIcon ABSCHALT:viessmann_abschalt.png WW:viessmann_ww H\+WW:viessmann_h_ww H\+WW\x20FS:viessmann_h_ww
attr HEIZBRESL1 group Heizung,
attr HEIZBRESL1 icon sani_heating
attr HEIZBRESL1 room Heizung
attr HEIZBRESL1 verbose 3
attr HEIZBRESL1 webCmd AUS:WW:HWW

Die WebGUI sieht jetzt wie im Screenshot unten aus.

Im LogFile (VCONTROL verbose auf 5) sehe jetzt auch ein SET Kommando:
2015.06.09 13:35:29 5: VCONTROL_READ
2015.06.09 13:35:29 5: VCONTROL: VCONTROL_Read '0505'
2015.06.09 13:35:29 5: VCONTROL: exit if buffer just filled with 0x05
2015.06.09 13:35:31 5: VCONTROL_READ
2015.06.09 13:35:31 5: VCONTROL: VCONTROL_Read '05'
2015.06.09 13:35:31 5: VCONTROL: send '01F433010100'
2015.06.09 13:35:31 5: SW: 01f433010100
2015.06.09 13:35:31 5: VCONTROL_READ
2015.06.09 13:35:31 5: VCONTROL: VCONTROL_Read '00'
2015.06.09 13:35:31 5: VCONTROL: Poll SET!
2015.06.09 13:35:31 4: VCONTROL: Start of Poll !
2015.06.09 13:35:31 5: VCONTROL: set InternalTimer to 1433849851.46468
2015.06.09 13:35:34 5: VCONTROL_READ
2015.06.09 13:35:34 5: VCONTROL: VCONTROL_Read '05'
2015.06.09 13:35:34 5: VCONTROL: Setze sendstr
2015.06.09 13:35:34 5: VCONTROL: send '01F7080002'
2015.06.09 13:35:34 5: SW: 01f7080002
2015.06.09 13:35:34 5: VCONTROL_READ
2015.06.09 13:35:34 5: VCONTROL: VCONTROL_Read '9d'
2015.06.09 13:35:34 5: VCONTROL: VCONTROL_Read receive_len < 4, 9d
2015.06.09 13:35:34 5: VCONTROL_READ
2015.06.09 13:35:34 5: VCONTROL: VCONTROL_Read '00'
2015.06.09 13:35:34 5: VCONTROL: receive 'Temp-Aussen : 15.7'
2015.06.09 13:35:37 5: VCONTROL_READ
2015.06.09 13:35:37 5: VCONTROL: VCONTROL_Read '05'
2015.06.09 13:35:37 5: VCONTROL: Setze sendstr
2015.06.09 13:35:37 5: VCONTROL: send '01F7080402'
2015.06.09 13:35:37 5: SW: 01f7080402
2015.06.09 13:35:37 5: VCONTROL_READ
2015.06.09 13:35:37 5: VCONTROL: VCONTROL_Read 'e3'
2015.06.09 13:35:37 5: VCONTROL: VCONTROL_Read receive_len < 4, e3
2015.06.09 13:35:37 5: VCONTROL_READ
2015.06.09 13:35:37 5: VCONTROL: VCONTROL_Read '01'
2015.06.09 13:35:37 5: VCONTROL: receive 'Temp-WarmWasser-Ist : 48.3'
2015.06.09 13:35:40 5: VCONTROL_READ
2015.06.09 13:35:40 5: VCONTROL: VCONTROL_Read '05'
2015.06.09 13:35:40 5: VCONTROL: Setze sendstr
2015.06.09 13:35:40 5: VCONTROL: send '01F7630001'
2015.06.09 13:35:40 5: SW: 01f7630001
2015.06.09 13:35:40 5: VCONTROL_READ
2015.06.09 13:35:40 5: VCONTROL: VCONTROL_Read '37'
2015.06.09 13:35:40 5: VCONTROL: receive 'Temp-WarmWasser-Soll : 55'
2015.06.09 13:35:43 5: VCONTROL_READ
2015.06.09 13:35:43 5: VCONTROL: VCONTROL_Read '05'
2015.06.09 13:35:43 5: VCONTROL: Setze sendstr
2015.06.09 13:35:43 5: VCONTROL: send '01F7080202'
2015.06.09 13:35:43 5: SW: 01f7080202


Nochmals herzlichen Dank für Eure Unterstützung. Da ich im Moment viel mit dem VCONTROL Modul mache, könnten durchaus weitere Fragen auftauchen. Ich werde mich dann wieder gerne an das Forum wenden.

VG pechnase
2 x RPI mit FHEM 5.8 (RPI B+ & RPI 2B) verbunden über FHEM2FHEM
- HM Fensterkontakte, Rauchmelder, Fernbedienung, Schalter
- Optolink (Selbstbau) Vitotronic 200KW2
- 1-wire DS1820 Temp.Sensoren, TX29DT-IT
- CUL (busware), nanoCUL, Jeelink (Nachbau), FHEMduino

kvo1

@pechnase  dann sei doch nett und sende Adam die gesamte cfg-Datei mit einigen Infos, damit er diese in den ersten Post reinhängt ... für die nächsten !

Danke
klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

pechnase

Hallo,

anbei die V200KW.cfg, mit der ich gerade mein VCONTROL Modul an einer Viessmann Vitotronic 200KW2 GeräteID 2098 betreibe.
Leider findet man im Internet ganz unterschiedliche Adressen für die einzelnen Parameter. openv ist sicher eine gute, oder die beste Quelle, nur auch dort führen verschiedene Links zu unterschiedlichen Angaben für die gleiche Steuerung!
Deshalb stimmen einige der Werte (POLLs) immer noch nicht, bzw. evtl. gibt es die 'Sensoren' auch gar nicht in der Steuerung.
Beispiel: Temp-Vorlauf-Soll
               MischerPosM1 oder ..M2, für beide wird kein vernünftiger Wert zurückgegeben
               
Evtl. können wir gemeinsam ja doch noch für die V200KW2 eine komplette Liste zusammen bekommen.

VG pechnase

PS: Klaus, ich hoffe Du hast diese cfg-Datei gemeint.
2 x RPI mit FHEM 5.8 (RPI B+ & RPI 2B) verbunden über FHEM2FHEM
- HM Fensterkontakte, Rauchmelder, Fernbedienung, Schalter
- Optolink (Selbstbau) Vitotronic 200KW2
- 1-wire DS1820 Temp.Sensoren, TX29DT-IT
- CUL (busware), nanoCUL, Jeelink (Nachbau), FHEMduino

kvo1

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

PeMue

Hallo Pechnase,

ich denke, die Vitotronic 200 KW2 sollte ziemlich ähnlich zur KW1 sein (bis auf die Mischersteuerung). Falls Du magst, kann ich Dir meine Konfiguration für die Vitotronic 200 KW1 posten (müsste aber identisch zu der von Adam im ersten Post sein). Wenn Du noch was brauchst, einfach kurz fragen.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser