Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Das Sync-Byte ist nicht nur für Debugzwecke, wie der Name schon erkennen lässt.

Ich befürchte, dass diese Art der Anbindung FHEM ziemlich ausbremst.

LG

pah

kvo1

Hallo,

ZitatHallo Leute,

ich wollte jetzt mal so in die Runde fragen, wer denn einen USB-Optoadapter verwendet und wie lange der bei Euch stabil läuft.

bei mir läuft das so seit Wochen stabil (Optoadapter am RPi) !

gruss
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

Adam

Hallo zusammen,

auch bei mir läuft der Adapter direkt über USB an Windows Rechner angebunden seit 2 Jahren problemlos.

ZitatDas Sync-Byte ist nicht nur für Debugzwecke, wie der Name schon erkennen lässt.
Ich befürchte, dass diese Art der Anbindung FHEM ziemlich ausbremst.

Das Viessmann Protokoll gibt das wohl leider nur so her!

Neben der Anbindung der Heizung an FHEM (polle alle 3 Minuten) nutze ich parallel in der gleichen FHEM Installation,
den CUL für FS20 Schalter und eine Wetterstation,
einen MAX! Adapter für mehrere Heizungsthermostate und Fensterkontakte,
einen RFXTRX für die Auswertung von mehreren Temperatur und Luftfeuchtigkeits Sensoren
und einen Homematic Adapter für die Anbindung aller meiner Rollos und Markisen.

Ich konnte bisher kein Ausbremsen oder Auswertungsprobleme von Sensoren erkennen.

Habt Ihr andere Erfahrungen?

Gruß
Adam

Prof. Dr. Peter Henning

Die Frage ist, wieviel Intelligenz man zum Bedienen des Viessmann-Busses benötigt. Beim EBUS (z.B. Vaillant) ist einiger Overhead für die Bus Arbitration nötig.

LG

pah

Adam

Ich kann Dir leider nicht ganz folgen.  ;)

Z. Zt. öffnet das Modul das USB Device und horcht darauf,
wenn das konfigurierbare Poll-Intervall abgelaufen ist, kann es über das Device Kommandos zum Auslesen senden,
und zwar nur genau dann, nachdem es einmalig das 0x05 als Sync Byte erhalten hat.

Nur dann wird es abgewartet und ausgewertet. Ansonsten empfängt das Device das sync bite nur ständig.

Bist Du der Meinung, dass das bereits bremsen würde?
Sollte mal lieber ständig das Device schliessen und den Bus nur bedienen wenn man pollt?
Hast Du aus anderen Modulen eine alternative für das Modul?

Wie gesagt habe ich noch keine negative Einflüsse feststellen können,
aber vielleicht können die anderen Nutzer was dazu sagen.

Gruß
Adam

Prof. Dr. Peter Henning

Langsam, langsam, ich will weder die Pferde scheu machen noch unnütze Aufwände erzeugen.

Ich kenne den Viessmann-Bus nicht. Ob das im konkreten Fall bremst, lässt sich durch ein Tracing feststellen.

Was passiert z.B. wenn auf dem Viessmann-Bus ein anderer Busmaster sendet ? Wartet das FHEM-Modul dann dessen Kommunikation ab ? Wie viele Master gibt es auf diesem Bus ? Das sind die Fragen, die man auch dann stellen muss, wenn es schon irgendwie läuft.

LG

pah


Adam

Hi Peter,

keine Sorge, so schnell programmiere ich hier nichts um, dafür hat es zu lange gedauert und läuft zu stabil.  ;D

Finde es auch gut, wenn ein erfahrener Modul Programmierer mal ein bisschen hinterfragt.
Zumal ich gerade dabei bin das Modul in das normale Update hineinzubringen.

Ich denke, ich verstehe auch langsam Deinen Einwand.
Kann aber glaube ich soweit Entwarnung geben, was wohl auch die Praxis zeigt.

Der Viessmann Bus ist ziemlich "doof". Da kommt ausser dem Sync Byte nichts von selbst, womit sich der Empfänger,
bzw. das Modul mit beschäftigen könnte. Das Sync Byte wird auch soweit ignoriert und das Modul direkt verlassen.

Erst wenn explizit durch das Pollen was abgefragt wird, kommt etwas auf dem Bus zurück.
Und dabei wird auch nicht im Modul gewartet, sondern eine Nachricht gesendet und anschliessend das Modul Verlassen.
Wenn wieder was auf dem Bus ankommt, weiss das Modul das es etwas angefragt hat, interpretiert es, sendet das nächste Kommando
wenn nötig und es wird wieder verlassen.

Ich denke diese Vorgehensweise sorgt dafür, das FHEM immer nur kurz, wie bei allen anderen Modulen, in diesem Modul verweilt.
Und somit so gut wie nicht ausgebremst wird.

Gruß
Adam


Gunther

So, lange habe ich mich hier nicht gemeldet.

Trotzdem möchte ich natürlich dazu beitragen das Modul weiterzuentwickeln.
Anbei meine cfg für meine V300KW3 mit 3 Heizkreisen.

Die Timer für die 3 Kreise passen schonmal.
Ich arbeite weiter dran und poste bei Bedarf eine neue Version.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

Sitze jetzt schon mehrere Stunden mit den XML-Files vor der Heizungsanlage.
1.) Gibt es eine Möglichkeit ohne Neustart von FHEM die veränderte Modul-Config-Datei dem Modul bekannt zu machen?
2.) Wenn ich den Namen ändere (Versionszähler) und in der fhem.cfg angebe, kann ich fhem sagen, dass die fhem.cfg neu geladen werden soll?

An die, die hier mehr als einen Mischer haben:
Ich habe festgestellt, dass meine 3 Kreisläufe jeweils eine Einstellung haben, in der die Modi WW HWW und AUS existieren.
Die Logik dahinter (was Warmwasser angeht) habe ich noch nicht ganz verstanden. Vielleicht für Mehrparteienhäuser? Warmwasser ist doch Warmwasser...???

Nun suche ich gerade die Adressen für diese Zustände. Gibt es hier jemanden, der das Stellen der Modi WW HWW und AUS schon für mehrere Kreisläufe realisiert hat?

Folgende Adressen werde ich testen, wenn ich wieder an die Anlage komme ("muss" jetzt essen... :-) )
SET, WW_KR1     , 01F423010100, state      , -
SET, HWW_KR1    , 01F423010103, state      , -
SET, AUS_KR1    , 01F423010105, state      , -
SET, WW_KR2     , 01F433010100, state      , -
SET, HWW_KR2    , 01F433010103, state      , -
SET, AUS_KR2    , 01F443010105, state      , -
SET, WW_KR3     , 01F443010100, state      , -
SET, HWW_KR3   , 01F443010103, state      , -
SET, AUS_KR3    , 01F443010105, state      , -



# Test für 3 Kreislauf-Anlage
SET, WW_KR1_test        ,    01F423230101, state      , -
SET, HWW_KR1_test       ,    01F423230102, state      , -
SET, AUS_KR1_test       ,    01F423230100, state      , -
SET, WW_KR2_test        ,    01F433230101, state      , -
SET, HWW_KR2_test       ,    01F433230102, state      , -
SET, AUS_KR2_test       ,    01F433230100, state      , -
SET, WW_KR3_test        ,    01F443230101, state      , -
SET, HWW_KR3_test       ,    01F443230102, state      , -
SET, AUS_KR3_test       ,    01F443230100, state      , -


FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

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

Gunther

#475
Erfolg!

Ich kann alle drei Kreisläufe pollen und verändern.

Vielleicht hilft es dem ein oder anderem:


######################################################################################
# Polling Commands V300KW3
######################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME       , KUMULATION?
#
POLL, 01F7230101, mode,   10    , state               , -
POLL, 01F7330101, mode,   10    , state_KR2           , -
POLL, 01F7430101, mode,   10    , state_KR3           , -

#####################################################################################
# M1 Possible Set commands which are complete
#####################################################################################
#SET,SETCMD    ,    SENDCMD       , CONV     , NEXT_CMD or DAY for timer
#####################################################################################
SET, WW_KR1     , 01F423010100, state      , -
SET, HWW_KR1    , 01F423010103, state      , -
SET, AUS_KR1    , 01F423010105, state      , -
SET, WW_KR2     , 01F433010100, state      , -
SET, HWW_KR2    , 01F433010103, state      , -
SET, AUS_KR2    , 01F433010105, state      , -
SET, WW_KR3     , 01F443010100, state      , -
SET, HWW_KR3    , 01F443010103, state      , -
SET, AUS_KR3    , 01F443010105, state      , -


Anbei die veränderte cfg-Datei für die V300KW3. Habe mal einen Versionszähler eingebaut.
EDIT: Habe die Datei nochmal mit Änderungen hochgeladen. Sieht schon sehr gut aus!
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

Eine Frage zu "verwaisten" Readings. Nach Umbenennung habe ich da noch was stehen, was ich raus haben möchte. Wie kann ich das tun?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

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

kvo1

Hallo Zusammen,
dann stell ich jetzt auch mal ne (ganz andere) Frage.

Ich würde gern meine "BrennerStartsLastDay" als plot darstellen, also rückwirkend für eine Woche oder einen Monat.
Hat da jemand einen Idee?
Würde ja auch mit dem (ev.) berechneten Gas- oder Ölverbrauch sinnvoll sein  ;)
Bin für jede Anregung / Hinweis dankbar.

Danke ud Gruss
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

Adam

Hi Klaus,

hier mein gplot File dazu.

Du musst beim Plot dann noch das Attribut fixedrange auf einen gewünschten Wert setzen:

day
week
month
year