Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

kvo1

Hallo Gunther,

erst readings löschen
dann rereadcfg oder shutdown restart

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

Adam

Hi Gunther,

was sagt denn der Heizungsmechaniker, hat er Rückschlüsse auf die Optolink Verbindung schliessen können?
Oder purer Zufall?

Fragt neugierig Adam

ReinerZ

Hallo Adam,

nachdem ich meine LAN Anbindung zur Heizung ab und zu trenne, kommt ...


2014.04.12 09:22:23 3: VCONTROL: Initialization
2014.04.12 09:22:23 3: VCONTROL: Initialization
2014.04.12 09:22:23 3: VCONTROL: Initialization
2014.04.12 09:22:23 3: VCONTROL: Initialization
2014.04.12 09:22:23 3: VCONTROL: Initialization
2014.04.12 09:22:23 3: VCONTROL: Initialization
2014.04.12 09:22:23 3: VCONTROL: Initialization
2014.04.12 09:22:23 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization
2014.04.12 09:22:24 3: VCONTROL: Initialization


d.h. es schmiert mir das Log File zu und der Raspberry wird ziemlich ausgelastet.
Wie ist das bei der USB Version ? Ähnlich ?

Wie wäre es da auch einen Timer einzubauen und nur alle 5 oder 10 Minuten das I/F zu testen ?

Gruß

Reiner

Gunther

Zitat von: Adam am 07 April 2014, 22:27:47
Hi Gunther,

was sagt denn der Heizungsmechaniker, hat er Rückschlüsse auf die Optolink Verbindung schliessen können?
Oder purer Zufall?

Fragt neugierig Adam

Hallo Adam,

sorry für die späte Rückmeldung. Musste Holz hacken, da wir keine Heizung mehr haben.
Scherz beiseite.

Die Düse war schwarz.
Ob das mit FHEM zusammenhängt, konnte der Mechaniker nicht sagen.
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

Adam

Hi Reiner,

sorry für die späte Rückmeldung, ich werde mir das heute abend mal anschauen.
Das müsste bei USB genau so sein.
Ein zusätzlicher Timer ist eine gute Idee!

Adam

Adam

Hi Reiner,

das mit dem extra Timer scheint mir was komplizierter und ein Umbau zu werden!?
Hab das noch nicht so raus.

Aber was ich noch nicht drin hatte, war eine Abfrage, ob nach einem Open der LAN Anbindung auch alles OK ist.
Bei USB gab es das schon. Probier doch mal den Fix hier im Anhang aus.
Vielleicht hilft das ja schon.
(Modul musst Du dann noch umbenennen! )

Adam

ReinerZ


michaelr

Hallo Adam,

super Modul, speziell der Ansatz ein eigentlich passives Device "aktiv" in Fhem einzubinden. Respekt!!! Hatte auch schon mit vcontrol angefangen... echt aufwendig... ;-)

Dein Modul läuft bei mir jetzt seit ca. 2 Wochen ohne Probleme mit einer Viessmann Type 2098 und Fhem auf Raspberry PI verbunden über LAN mit einem zweiten Raspberry, welcher neben der Heizung steht. Dieser macht nichts weiter als mit ser2net (mit einer Zeile konfiguriert) den Viessmann USB Diagnosestecker als LAN Port zur Verfügung zu stellen.

Ich habe nach und nach noch weitere Pull und Set Adressen hinzugefügt, dabei sind mit folgende Punkte aufgefallen, die ich gerne als Wunschliste einreichen möchte:

1. Ich glaube die Adresse für Niveau (3304) verwendet eigentlich einen 1 Byte signed Wert. Das Auslesen eines positiven Werts geht, aber sobald der Wert negativ ist, wird ein falscher Wert im Module interpretiert: -1 in der Heizung liefert 255 ( -2 -> 254, etc.) in Fhem. Diese Art der Konvertierung (1ByteS) gibt es leider im Modul noch nicht. Beim SET mit dem Wert 1 in Fhem kommt derzeit übrigens auch nicht 1 nach Fhem zurück.

2. Prinzipiell wäre mein Vorschlag alle Konvertierungen Arten in für beide Wege zu implementieren: Lesen (Heizungwert nach Fhem) und schreiben (Fhem nach Heizung), auch für die "timer" Konvertierung. Damit wäre auch ein SET der der timer möglich.

3. Elegant wäre auch die Option GET Kommandos flexible (wie bei SET) zu konfigurieren z.b. GET, HZM1TIMERMO, adr, parse, reading. Das würde den "hardcoded" Teil im Module erübrigen und das Abfragen von der Timer beider Heizkreise (M1 und M2) ermöglichen. Es gibt da übrigens auch noch weitere Timergruppen für die Zirkulationspumpen. Das Abfragen von mehreren Werten (Mo-So) liesse sich mit Fhem-Mitteln (z.B. at, notify, etc.) realisieren.

Ich hoffe ich konnte hiermit einen kleinen konstruktiven Beitrag zur Abrundung dieser erstklassischen Arbeit leisten.

Viele Grüße,
Michael

Adam

Hi Michael,

freut mich, dass es einen weiteren User gibt, der das Modul sinnvoll einsetzen kann!


  • Die 1ByteS Methode kann nicht so schwer sein, werde ich mir mal anschauen.


  • Eigentlich hatte ich gedacht wir haben bisher alle parse und conv methoden, die zu einander passen


  • Die Timer sind so ein bisschen was eigenes, aber setzen der Werte ist bereits möglich!!

    set <DeviceName> TIMER <mode>,<day>,<times>

    <mode> HZ oder WW
        HZ Timer für Heizung an aus
        WW Timer für Warm Wasseraufbereitung

    <day>  MO,DI,MI,DO,FR,SA,SO

    <times> 8 Uhrzeiten mit Komma getrennt.  (AN1,AUS1,AN2,AUS2,AN3,AUS3,AN4,AUS4)
           Keine Uhrzeit muss als -- angegeben werden.
           Minuten der Uhrzeiten dürfen nur 00,10,20,30,40 oder 50 sein

    Beispiel:
    set Heizung TIMER WW,DO,06:00,07:30,12:00,14:00,18:00,21:00,--,--

  • Das setzen der anderen Timer z.B. Zirkulationspumpe würde dann noch fehlen ja!!

Ja ich gebe zu bei den Timern könnte man das Ganze noch ein bisschen flexibler gestalten.
Mal schauen, es kommen ja jetzt ein paar freie Tage ;-)

Danke schon mal für die Anregungen

michaelr

Hallo Adam,

vielen Dank für deine schnelle Antwort. 1ByteS ist wirklich kein großes Ding. Das Internet ist voll mit Beschreibungen dazu.

Habe heute einmal ausprobiert die Timer für WW per Set zu ändern und es hat (wie erwartet) funktioniert. Ich hatte zuvor versucht einen eigenen Set dafür zu definieren. Der möchte den "timer" Parameter aber nicht.

Die Adressen für die Warmwasser-Pumpen-Timer lauten: Mo 2000, Di 2008, etc. (folgt dem gleichen Adressen Prinzip (8 Bytes) wie bei den anderen Timer).

Noch eine kurze Frage. Ich weiß nicht, ob die Adresse 3535 schon in deiner Config mit der Bezeigung Urlaubsbetrieb enthalten war, aber ich denke das müsste evtl. etwas anderes sein. Der Status wechselt bei mir öfters zwischen on und off, obwohl die Heizung nicht auf Urlaubsbetrieb steht.

Da ich mit meinen Kids über Ostern eine Woche an die Nordsee fahre, werde ich mal schauen, wie es mit der Remote-Steuerung funktioniert und das mal im Auge behalten... ;-)

Wünsche dann erst einmal Frohe Ostern...


blueberry63

Hallo,

das Erwähnen von "Urlaubsbetrieb" im letzten Post hat mich an eine Frage erinnert, die ich schon immer mal stellen wollte: Bei der Viessmann-Heizung kann man im Display-Menü "Urlaub" einstellen und zwar mit "Anfang- und Endedatum". In dem eingestellten Zeitraum wird dann (so wie ich es verstanden habe) die Heiz-Temperatur auf Nachtabsenkungswert reduziert und kein WW aufbereitet.

Könnte man diese Funktion durch FHEM nachbilden? Ich benutze bei mir einen vitruellen Button "Urlaub" über den ich verschieden Aktionen "triggere" und wenn ich die Heizung einbinden könnte, wäre das natürlich genial.  ;)

Frohe Ostern
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

Adam

Frohe Ostern zusammen!

@blueberry63:
Du könntest wenn Dein Dummy auf Urlaub geht ein Notify einrichten, dass dann den Modus nur WW setzt und die WW Soll Temp komplett runterstetzen!?
Ich persönliche lasse immer gern die Heizung Ihr Ding machen bei solchen bereits vorhanden Mechanismen.
Du könntest Auch den Ulaubsbeginn und Urlaubende Zeitpunkt mit dem Modul in FHEM setzen, wenn Dein Button auf Urlaub geht.

Beispiel in Config-Datei wäre:

POLL, 01F7230908, date,   1     , Urlaub-Beginn       , -
POLL, 01F7231108, date,   1     , Urlaub-Ende         , -

SET, URLON   , 01F4230908  , date       , -
SET, URLOFF  , 01F4231108  , date       , -


Im Notify kannst Du dann z.B. setzen:

set Heizung URLON 01.05.2014_00:00:00
set Heizung URLOFF 13.05.2014_00:00:00


@Michael: Die Anpassungen werden noch länger dauern,
da ich über Ostern doch andere Prioritäten habe ;-)

martinschm

Hi zusammen,
hört sich nach einem super Modul an... Haben will :)

Aber eine Frage zur Hardware vorne weg, habt ihr euch den Lesekopf alle selber nach den Anleitungen von OpenV gebaut oder irgendwo bezogen.

Mein Pi ist mit über 5m für USB vermutlich zu weit von der Heizung entfernt. Wie habt ihr die LAN Variante umgesetzt ?

Ciao
Martin

Adam

Mallo Martin,

aktuelle Version findest Du im ersten Post.
(Wobei ich nach Anregung von michaelr noch ein bisschen erweitere, kommt aber erst nach dem ich getestet habe)

Ich persönlich bin auf  Windows unterwegs und dort habe ich ein 5m USB Kabel an dem Optolink von
der openv Seite.
Ich habe ihn mir wie hier beschrieben bestellt und nicht selber gelötet!
http://openv.wikispaces.com/Bauanleitung+USB

Funktioniert einwandfrei!

Gruß
Adam

PeMue

Hallo Martin,

ich habe das Teil mit einem Bausatz von Ulrich Radig selber gebaut. Wenn ich mein Passwort fuer openv noch finde, lade ich die Anleitung hoch. Kabellange ist momentan 2 m, muesste aber auch laenger gehen ...

Gruss Peter
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