Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

LuckyDay

#SET, TIMER_4_MI,    01F4201008  , timer      , MI

Du hast das setzten der Timer nicht freigegeben,

renemt

Hi Hary,

danke für die Antwort - aber die hilft leider nicht :)

Ich hatte den falschen Teil aus der Config gepostet, mein Fehler. SET ist für die WW-Timer tatsächlich freigegeben, ich habe die Config in meinem Beitrag jetzt aktualisiert.

Funktioniert leider weiterhin nicht  :'(

Das ist gerade etwas frustrierend. Mein Plan ist es, eine zusätzliche manuelle Warmwasser-Aufheizung per "Knopfdruck" zu realisieren. Das funktioniert an der Heizung und per Vitotrol durch Einschalten des Partymodus. Allerdings will ich da ja nicht immer hinlaufen.

Leider gehört meine Vitrotronic zu denen, bei welchen der Partymodus über die Schnittstelle nicht gesetzt werden kann. Laut irgendeines Viessmann-Dokuments, das ich gefunden habe, geht das bei der 20CB (VScotHO1) erst ab "Software-Version 4", meine scheint noch darunter zu liegen :(

Der Alternativplan ist jetzt
- den WW-Timer des aktuellen Tages auszulesen
- zwischenzuspeichern
- einen 0:00-24:00 - Timer zu setzen
- und nach ein paar Minuten, wenn der WW-Heizvorgang begonnen hat, den Originaltimer wiederherzustellen

Aber wie gesagt: Leider funktioniert das Setzen des Timers nicht. Stellt sich nun die Frage, ob das an der Software (FHEM/VCONTROL) oder der Hardware (Vitotronic) liegt.


René

kvo1

Hi René,

Leider gehört meine Vitrotronic zu denen, bei welchen der Partymodus über die Schnittstelle nicht gesetzt werden kann. Laut irgendeines Viessmann-Dokuments, das ich gefunden habe, geht das bei der 20CB (VScotHO1) erst ab "Software-Version 4", meine scheint noch darunter zu liegen
Wo hast Du das den gelesen und wir kann man die SW Version auslesen.... ?

Ich glaube wir liegen ähnlich .... habe

Vitodens 333-F   (20CB), ,Steuerung ist eine Vitotronic 200, Typ HO1A


klaus

PS:
Poste doch mal bitte Deine CFG-Datei !
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

renemt

#963
Datenpunkte: Schau mal hier, ganz oben im Dokument. In dem wird der Partymodus als "write" deklariert, allerdings gilt das erst ab "Softwareindex >= 4".

Im Vergleich dazu wird der Partymodus hier als "read" deklariert, bei "SW-Index < 4".

Viel Lesestoff zu Datenpunkten bei den verschiedenen Vitotronics generell gibt's hier: http://daten-kommunikation.viessmann.de/de/Produktinfos_rt_dk/vitogate-200-eib-info/vitogate-200-eib/Vitogate_200_Typ_EIB_ab_05_2012.html

Und hier meine Config:

######################################################################################
# Polling Commands  VScotHO1 ID 20CB
######################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME       , KUMULATION?
POLL, 01F70A8201, 1ByteU, state , Stoerung            , -
#POLL, 01F7084601, 1ByteU, state , Zirkulationspumpe   , -
POLL, 01F7230101, mode,  10     , Betriebsart         , -
POLL, 01F70A1001, 1ByteU, 1     , Umschaltventil      , -
POLL, 01F7080002, 2ByteS, 10    , Temp-Aussen         , -
#POLL, 01F7080802, 2ByteS, 10    , Temp-Abgas          , -
POLL, 01F7080402, 2ByteS, 10    , Temp-WarmWasser-Ist , -
POLL, 01F7630001, 1ByteU, 1     , Temp-WarmWasser-Soll, -
POLL, 01F7080202, 2ByteS, 10    , Temp-Kessel-Ist     , -
POLL, 01F7555A02, 2ByteS, 10    , Temp-Kessel-Soll    , -
POLL, 01F7089602, 2ByteS, 10    , Temp-Raum-Ist       , -
POLL, 01F7A38F02, 2BytePercent, 1 , Brenner           , -
POLL, 01F7A38F01, 1ByteU, 2     , BrennerLeistung    , -
POLL, 01F7088A02, 2ByteU, 1     , BrennerStarts       , day
POLL, 01F7088604, 4Byte, 3600   , BrennerStunden      , day
POLL, 01F7230301, 1ByteU, state , PartyModus          , -
POLL, 01F7230201, 1ByteU, state , SparModus           , -
POLL, 01F7766002, 1ByteU, state , PumpeStatus         , -
POLL, 01F7766002, 2BytePercent , 1 , PumpeDrehzahl    , -
POLL, 01F70C2402, 2ByteU, 1     , Volumenstrom        , -
#####################################################################################

#####################################################################################
# M1 Possible TIMER Get commands
#####################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME        , KUMULATION
POLL, 01F7200008, timer,  1     , TIMER_2_MO          , -
POLL, 01F7200808, timer,  1     , TIMER_3_DI          , -
POLL, 01F7201008, timer,  1     , TIMER_4_MI          , -
POLL, 01F7201808, timer,  1     , TIMER_5_DO          , -
POLL, 01F7202008, timer,  1     , TIMER_6_FR          , -
POLL, 01F7202808, timer,  1     , TIMER_0_SA          , -
POLL, 01F7203008, timer,  1     , TIMER_1_SO          , -
#####################################################################################
# M1 Possible Warm Water TIMER Get commands
#####################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME        , KUMULATION?
POLL, 01F7210008, timer,  1     , TIMER_WW_2_MO       , -
POLL, 01F7210808, timer,  1     , TIMER_WW_3_DI       , -
POLL, 01F7211008, timer,  1     , TIMER_WW_4_MI       , -
POLL, 01F7211808, timer,  1     , TIMER_WW_5_DO       , -
POLL, 01F7212008, timer,  1     , TIMER_WW_6_FR       , -
POLL, 01F7212808, timer,  1     , TIMER_WW_0_SA       , -
POLL, 01F7213008, timer,  1     , TIMER_WW_1_SO       , -
#####################################################################################
# M1 Possible Set commands which are complete
#####################################################################################
#SET,SETCMD    ,    SENDCMD       , CONV     , NEXT_CMD or DAY for timer
#####################################################################################
#SET, WW      , 01F423230101, state      , -
#SET, HWW     , 01F423230102, state      , -
#SET, AUS     , 01F423230100, state      , -
SET, S-OFF   , 01F423020100, state      , -
SET, S-ON    , 01F423020101, state      , P-OFF
SET, P-OFF   , 01F423030100, state      , -
SET, P-ON    , 01F423030101, state      , S-OFF

#SET, WWTEMP    ,    01F4630001  , 1ByteU     , -
#SET, K26       ,    01F4572602  , 2ByteU     , -
#SET, URLON     ,    01F4230908  , date       , -
#SET, URLOFF    ,    01F4231108  , date       , -
#SET, SYSTIME   ,    01F4088E08  , date       , -
#SET, NIVEAU    ,    01F4230401  , 1ByteS     , -
SET, U-VENTIL-H , 01F40A100101, 1ByteU     , -
SET, U-VENTIL-WW, 01F40A100103, 1ByteU     , -

#####################################################################################
# Possible TIMER Set commands prefix
#####################################################################################
#SET, TIMER_2_MO,    01F4200008  , timer      , MO
#SET, TIMER_3_DI,    01F4200808  , timer      , DI
#SET, TIMER_4_MI,    01F4201008  , timer      , MI
#SET, TIMER_5_DO,    01F4201808  , timer      , DO
#SET, TIMER_6_FR,    01F4202008  , timer      , FR
#SET, TIMER_0_SA,    01F4202808  , timer      , SA
#SET, TIMER_1_SO,    01F4203008  , timer      , SO
######################################################################################
#Possible Warm Water Timer Set commands prefix
######################################################################################
SET, TIMER_WW_2_MO, 01F4210008  , timer      , MO
SET, TIMER_WW_3_DI, 01F4210808  , timer      , DI
SET, TIMER_WW_4_MI, 01F4211008  , timer      , MI
SET, TIMER_WW_5_DO, 01F4211808  , timer      , DO
SET, TIMER_WW_6_FR, 01F4212008  , timer      , FR
SET, TIMER_WW_0_SA, 01F4212808  , timer      , SA
SET, TIMER_WW_1_SO, 01F4213008  , timer      , SO


Alle Einstellungen, die ich derzeit nicht benötige, habe ich deaktiviert. Die Polls laufen in knapp unter einer Minute durch, so kann ich alle 60 Sekunden pollen.


Gruß,
René

Omega

Zitateine zusätzliche manuelle Warmwasser-Aufheizung per "Knopfdruck"

Zur Not kannst du ja immer noch temporär die Warmwasser-Soll-Temperatur hochsetzen und sobald deine gewünschte Temperatur erreicht ist, wieder auf deinen Normalwert zurücksetzen (alles FHEM-gesteuert).

Beim Party-Betrieb erfolgt zusätzlich ja noch eine Raumbeheizung.
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

renemt

#965
Ja, schon, aber: Dann muss ich ja quasi die ganze (Heizungs- bzw.) Warmwasser-Steuerung über FHEM machen. Mein Ansatz ist bis jetzt, "kritische" Funktionen so zu gestalten, dass sie auch noch laufen, wenn der Home-Server mal abraucht. Dinge wie Deckenlicht. Oder Heizung/Warmwasser.

René

Postfach2000

Zitat von: Gunther am 12 April 2016, 23:33:36
Hast Du das mit Table UI gemacht?

Nein ich habe das einfach im normalen FHEM gemacht.

Viele Grüße
Michael

kvo1

Hallo René,

die Datenpunkte passen so auf den ersten Blick.
Meine Umschaltung auf "Party" klappt ! Dann scheine ich wohl eine neuere Software zu haben, wobei so richtig deuten kann ich dies nicht .

Laut Doku
Diese Liste gilt für den HO1A Regler nur ab Softwareindex ≥ 4
Dieser steht in der Kurzabfrage 3 an der 2. Stelle
1. OK und Menü gleichzeitig ca. 4 s lang drücken.
2. ,,Diagnose"   
3. ,,Kurzabfrage

hier mal die erste 4 Stellen

1 2B 01 02
2 02 10 47
3 09 00 00
4 05 23 CB
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

Omega

Ich glaube, meinen Vorschlag hast du missverstanden.

Dein Alternativplan sieht doch so aus:
- den WW-Timer des aktuellen Tages auszulesen
- zwischenzuspeichern
- einen 0:00-24:00 - Timer zu setzen
- und nach ein paar Minuten, wenn der WW-Heizvorgang begonnen hat, den Originaltimer wiederherzustellen

Eigentlich entspricht mein Vorschlag deinem Alternativplan – mit folgendem Unterschied:
-   aktuelle WWTemp auslesen und zwischenspeichern (falls du mit unterschiedlichen Temperaturen hantierst – ansonsten könnte der Punkt entfallen, da du deinen Standard ja kennst)
-   WWTEMP hochsetzen (Höhe hängt auch von deiner WW-Soll-Temp ab)
-   und nach ein paar Minuten wenn der WW-Heizvorgang begonnen hat (bzw. sobald der Wert erreicht ist, den du eigentlich willst), den originalen WWTEMP-Wert wiederherzustellen

Wenn in der Zeit dein Home-Server mal abraucht, kannst du ja schnell händisch den richtigen WWTEMP-Wert einstellen. Und falls du das übersiehst, tötest du deine Legionellen nur noch schneller und gründlicher  ;D
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

renemt

Hm. Erstmal Danke dafür (@Omega), dass du dich mit der Frage beschäftigst :)

Allerdings sehe ich trotzdem noch keine aus meiner Sicht zufriedenstellende Lösung. Die Warmwasserbereitstellung bei der Vitodens/Vitotronic wird ja von drei Parametern beeinflusst:


  • Solltemperatur
  • Zulässige Differenz
  • Timer

Der Algorithmus dabei ist: In den Zeiträumen, in denen der WW-Timer aktiviert ist, wird das Warmwasser bei Unterschreiten der Differenztemperatur auf die Solltemperatur aufgeheizt. Ist der Timer nicht aktiv, liegt die Solltemperatur bei 5°C (Frostschutz). Im Partymodus wird temporär die Aufheizung bei Unterschreitung der Differenztemperatur aktiviert.

Meine Anforderung ist wie gesagt bisher, die reguläre WW-Bereitstellung per Heizungs-Timer zu steuern. Dafür wird morgens und manchmal auch abends der Warmwasser-Timer für jeweils 20 Minuten freigegeben. Die Solltemperatur beträgt 45°C, Differenz 5K.

Welche Möglichkeiten habe ich nun, eine zusätzliche Aufladung anzufordern, falls z.B. jemand außer der Reihe mal ein Vollbad nehmen will?


  • Partymodus aktivieren. Wird auch in der Bedienungsanleitung so empfohlen, funktioniert problemlos - allerdings nur an der Heizung direkt, nicht per FHEM (siehe oben). Vorteile: Keinerlei Beeinflussung der regulären Timer oder Temperaturen. Die Heizung selbst setzt den Partymodus nach 10 Minuten wieder zurück. Keine Nebenwirkungen im Fehlerfall (FHEM raucht ab, Netzwerkverbindung zur Heizung geht verloren). Nachteile: Keine.
  • Warmwassertimer temporär umsetzen auf 0:00-24:00 - würde wohl funktionieren, lässt sich aber gerade nicht per FHEM setzen. Vorteile: Temperaturen werden nicht beeinflusst. Auswirkungen nur auf den Timer des aktuellen Tages. Nachteile: Im Fehlerfall (FHEM raucht ab, Netzwerkverbindung zur Heizung geht verloren) bleibt die Warmwasserbereitung des aktuellen Wochentags 24h aktiviert - was Geld kostet, wenn ich es nicht bemerke.
  • Warmwasserbereitung 24h aktivieren, Solltemperatur oder Differenztemperatur per FHEM steuern. Habe ich noch nicht probiert. Vorteile: ? Nachteile: Steuerlogik liegt komplett in FHEM. Im Fehlerfall (FHEM raucht ab, Netzwerkverbindung zur Heizung geht verloren) bleibt die Warmwasserbereitung entweder auf regulärer (45°C) Solltemperatur und es wird ständig nachgeheizt - was Geld kostet. Oder das Wasser bleibt kalt.

Da 1. anscheinend aufgrund der Hardware ausschaltet (Partymodus nicht per Optolink aktivierbar) wäre 2. die aus meiner Sicht nächstbessere Lösung, während 3. die meisten Risiken birgt.

Daher wäre es mir lieb, wenn ich das Setzen der Timer hinbekommen würde. Könnte denn netter Weise irgendwer mal probieren, ob es ihm/ihr gelingt, Timer per VCONTROL zu setzen? Am liebsten Warmwassertimer bei einer Vitotronic 200 HO1A (VScotHO1, 20CB).


Gruß,
René

renemt

Zitat von: kvo1 am 15 April 2016, 20:01:43
hier mal die erste 4 Stellen

1 2B 01 02
2 02 10 47
3 09 00 00
4 05 23 CB

Spannend. Ich werde heute Abend mal nachschauen, was bei mir dort zu finden ist. "00" klingt für mich aber auch erstmal < 4 :)


René

Omega

Das Dokument VT200HO1ABC gilt auch für meine Regelung / Anlage.
Die Bedeutung der Kurzabfrage ist bei mir aber ganz anders als in VT200HO1ABC beschrieben. Bei mir steht in der Serviceanleitung zu meiner Anlage die für mich gültige Auslegung so:
Kurzabfrage 1 - Stelle 3 und 4: Softwarestand Regelung
Kurzabfrage 1 - Stelle 5 und 6: Softwarestand Bedieneinheit

Bei mir stehen dann (ab Stelle 3): 51 04

Der Begriff "Softwareindex" ist in meinen Unterlagen leider nicht aufgeführt, so dass ich keine 1:1-Zuordnung treffen kann.
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Adam

#972
Hallo René,

prinzipiell funktioniert das Setzen der Timer Werte mit dem aktuellen Modul, ich habe es gerade mal getestet.
(set Heizung TIMER_WW_2_MO 06:00,07:30,12:00,14:00,18:00,21:00,--,--)

Es scheint aber noch ein Problem mit 00:00 und 01:00 als Uhrzeit zu geben, das hat wohl bisher noch keiner probiert / gebraucht.
Es kommt nur eine Ziffer für das Byte raus und da fehlt dann wohl die führende Null.

Ich glaube auch 24:00 ist nicht zulässig, das habe ich nämlich explizit im Modul abgefragt, dass die Stunde < 24 ist

Also maximal Spanne geht im Moment 02:00 bis 23:50 (habe ich getestet)

set Heizung TIMER_WW_2_MO 02:00,23:50,--,--,--,--,--,--

Ich schaue mir das die Tage aber an, das werde ich korrigieren!

Gruß
Adam

EDIT:
Falls Du schon testen möchtest, ich denke das aus der Zeile

push(@hextimerdata, (sprintf "%X", $helpvalue));

ein

push(@hextimerdata, (sprintf "%02X", $helpvalue));

gemacht werden muss für 00:00 und 01:00

und aus
if ( $timerhour < "00" || $timerhour > "23" ){

dann

if ( $timerhour < "00" || $timerhour > "24" ){

Adam

Habe es gerade eingebaut, getestet und commited!
00:00 und 24:00 wird nun akzeptiert!

Gruß
Adam

renemt

Hi Adam,

ein Träumchen  ;D Habe die 89_VCONTROL.pm gerade angepasst und kann bestätigen, dass es funktioniert. Auch mit 00:00-24:00. Ich würde sagen, das kannst du einchecken. Vielen Dank!

Jetzt gibt's Warmwasser per Knopfdruck :)


Beste Grüße,
René