Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

ReinerZ

Hallo Adam,

leider keine Änderung. Immer wenn ich die LAN Verbindung abschalte bzw. FHEM dies macht, dann hängt sich mein Raspberry auf, bzw.
Anfragen dauern ewig, weil er zu beschäftigt ist. Werde das jetzt mal mit einer IF Anweisung lösen ... sonst funktioniert Dein Modul perfekt :-)

@Martin: Die Anbindung via LAN kannst Du mittels XPORT machen. Hatte das mal hier gepostet ...

http://openv.wikispaces.com/Bauanleitung+LAN-Ethernet

Dort bietet auch Jemand die Hardware an.

Gruß

Reiner

kvo1

Hallo Martin,
Ich haben den über openv fertig gekauft...als USB Ausführung am RPi.

Will eventuell mal das mit dem XPort von Rainer testen.

Mein "Traum" wäre sowas als HM-Modul , als eine Art Optolink-HM Adapter.

Gruss 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

blueberry63

Hallo,

ich möchte nochmal auf meinen "Urlaubslösung" zurückkommen.

Anfang - und Endedatum des Urlaubs müßten ja am besten über die Weboberfläche eingegeben werden. Hat jemand eine Idee, wie man das realisiert? Gibt es für "Datum" extra Eingabe-Felder?

Gruß
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

blueberry63

Ich habe noch eine dumme Frage: wie bringe ich denn die Set-Befehle in das Webinterface? Z.Zt. bekomme ich dort angeboten:
SET state - AUS,WW,HWW,P-ON,P-OFF,S-ON,S-OFF

Gruß
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

Hi blueberry63,

ich hatte ein paar Posts weiter vorne bereits folgendes geschrieben:

@blueberry63:
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


Das geht natürlich auch in der Eingabezeile vom WEB-Interface

Um die anderen SET im WEB direkt anzusprechen musst Du
das Attribut SetList in Deiner Konfiguration des VCONTROL Moduls erweitern.

Bisher hast Du da wahrscheinlich stehen:

attr Heizung setList state:AUS,HWW,WW,P-ON,P-OFF,S-ON,S-OFF
(Dazu gibt es auch einiges in der commandref!)

Wenn Du aber ein SET definiert hast kannst Du das immer schon in der Eingabezeile direkt angeben!

Adam

#260
Hallo zusammen,

auf Anregung von Michael habe ich doch noch mal Hand angelegt:


Es gibt nun die folgenden PARSE (für POLL) und entsprechenden CONV (für SET) Methoden:











PARSECONV
1ByteU1ByteU
1ByteS1ByteS
2ByteU2ByteU
2ByteS2ByteS
2BytePercentbisher nicht benötigt
4Bytebisher nicht benötigt
modewird nicht benötigt da Adresse bereits komplett
timertimer
datedate

Dass heisst auch, wer bisher in seiner VCONTROL.cfg 1Byte benutzt hat, muss nach dem Update 1ByteU nutzen!!

Das Handling der Timer Werte wurde nun auch vereinheitlicht!

Um Timer auszulesen muss man nun zusätzliche POLL Einträge definieren,
um Timer zu setzen zusätzliche SET Einträge definieren.

Somit gibt es nur noch POLL und SET in der Konfigurationsdatei. Aus meiner Sicht macht es sie dadurch lesbarer!

-> SETTIMERHZ und SETTIMERWW müssen zu SET umdefiniert werden
-> GETTIMER und GETWWTIMER müssen zu POLL umdefiniert werden

Timer auslesen:
Konfiguration sieht dann wie folgt aus:
#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          , -


Die POLL Einträge die in der Parse Methode "timer" enthalten, werden jedoch  nicht immer wieder abgefragt
(die ändern sich aus meiner Sicht zu selten), sondern können wie folgt abgefragt werden:

GET <devicename> TIMER

Somit können aber beliebig viele Timer M1, M2 und Zirkulationspumpe usw. gleichzeitig definiert werden,
die Reading-Namen müssen halt eindeutig vergeben werden!
(Das ging bisher nicht)


Timer auslesen:
Konfiguration sieht dann wie folgt aus:
#SET,SETCMD    ,    SENDCMD       , CONV     , NEXT_CMD or DAY for timer
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


In der letzten Spalte muss einer der Werte MO,DI,MI,DO,FR,SA oder SO definiert werden,
da der Wochentag beim Setzen mitgegeben werden muss.
Der Wert in der Spalte SETCMD muss eindeutig sein, damit man das SET Kommando zuordnen kann.

Das Setzen geht dann wie folgt:

SET <devicename> <SETCMD> <times>

<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_2_MO 07:00,07:30,12:00,14:00,18:00,21:00,--,--

Die aktuelle Version im 1. Post beinhaltet mittlerweile diese Änderungen!

Gruß
Adam

blueberry63

Zum Thema "Urlaub"

Bei meinen Überlegungen habe ich festgestellt, daß ich ja zusätzlich zum "Urlaubs-Button" irgendwie Anfang- und Endedatum setzen. Und da fehlt mir noch eine gute Idee, die auch den WAF-Test besteht.

Die Möglichkeit über das Notify habe ich verstanden, aber das ist eben nicht flexibel.

Gruß
Blueberry
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

blueberry63

Heizung auf URLAUB schalten - meine Umsetzung

Ich habe eine Lösung für mich gefunden, um die Heizung über einen virtuellen Urlaubs-Schalter in den Urlaubs-Modus zu setzen. Wichtig ist hier zu bemerken, dass man Start- und Ende-Datum des Urlaubs in 2 weiteren Dummies eingegeben haben muß. Aber vielleicht findet ja jemand noch eine elegantere Lösung.


###################
# Urlaub-Dummies #
###################
define Urlaub dummy
attr Urlaub eventMap 0:Heim 1:Urlaub
attr Urlaub room System
attr Urlaub setList 0 1
attr Urlaub webCmd 0:1

# Dummy fuer Urlaub-Beginn
define UrlaubStart dummy
attr UrlaubStart comment Datumsformat: dd.mm.yyyy_00:00:00
attr UrlaubStart room System

# Dummy fuer Urlaub-Beginn
define UrlaubEnde dummy
attr UrlaubEnde comment Datumsformat: dd.mm.yyyy_00:00:00
attr UrlaubEnde room System


######################
# Urlaub EIN notifies
######################
define n_urlaubEIN notify Urlaub:Urlaub {\
my $vals = $value{"UrlaubStart"};;\
my $vale = $value{"UrlaubEnde"};;\
if ($vals ne "01.01.1970_00:00:00") {\
   fhem("set Vito200 URLON $vals");;\
   fhem("set Vito200 URLOFF $vale");;\
}\
}\
attr n_urlaubEIN room System

######################
# Urlaub AUS notifies
######################
define n_urlaubAUS notify Urlaub:Heim \
set Vito200 URLON 01.01.1970_00:00:00;; \
set Vito200 URLOFF 01.01.1970_00:00:00;;\
set UrlaubStart 01.01.1970_00:00:00;; \
set UrlaubEnde 01.01.1970_00:00:00;;\
attr n_urlaubAUS room System

###################
# URLAUB-Aktionen #
# ENDE            #
###################


Gruß
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

Hi blueberry63,

sorry für meine späte Reaktion.

Ich persönlich arbeite da mit dem Calendar Modul.
siehe http://fhem.de/commandref.html#Calendar

Also im Prinzip einen google Kalender, den ich im voraus pflege,
wann wir weg sind. Du kannst dann täglich (oder wie oft auch immer)
auf Einträge abfragen und dann z.B. den  Start und das Ende des Ferienbetriebs setzen.
(Habe ich jedoch noch nicht umgesetzt). Oder aber dein Dummy schalten!?

Vorteil ist halt für mich auch, dass ich diesen Kalender anderen frei geben kann
und meine Frau dann auch mit Ihrem Rechner/Handy dort Eintragungen machen kann.

So ermittle ich auch über die freien calendar von " http://www.schulferien.org" ob wir in NRW einen Feiertag haben oder Schulferien.
Damit z.B. die Rollos dann nicht zu früh hochfahren, wenn wir was länger schlafen wollen ;-)

Vielleicht ist das was für Dich!?

Gruß
Adam

ReinerZ

Hallo Adam,

habe das Problem mit dem Aufhängen nochmal näher betrachtet ...

Zuerst schalte ich das LAN Modul aus (00:27:07), dann funktioniert das System erst mal weiter und beschäftigt sich mit den anderen Sensoren. Da wird keinerlei Aktion in Richtung VCONTROL gemacht.
Um 02:37:38 kommt dann


2014.04.30 02:37:38 5: VCONTROL_READ
2014.04.30 02:37:38 1: 192.168.0.30:10001 disconnected, waiting to reappear
2014.04.30 02:37:38 5: Triggering V200KW2 (1 changes)
2014.04.30 02:37:38 5: Notify loop for V200KW2 DISCONNECTED
2014.04.30 02:37:38 3: VCONTROL: USB device 192.168.0.30:10001 disconnected, waiting to reappear


danach kein Eintrag mehr, keine Reaktion, erst nach Reboot ...

2014.05.01 12:17:21 1: Including fhem.cfg
2014.05.01 12:17:21 5: Cmd: >attr global autoload_undefined_devices 1<
2014.05.01 12:17:21 5: Cmd: >attr global logfile ./log/fhem-%Y-%m.log<


ist das bei USB auch so, wenn openv abgesteckt wird ?
Sonst läuft die Software tagelang ohne Probleme durch.
Mache mir da nur Sorgen, falls mal eine Netzwerk Störung sein sollte ...

Gruß

Reiner


PeMue

#265
Hallo Adam,

habe heute morgen von vcontrold auf Dein Modul umgestellt: echt klasse - vielen Dank dafür!
Ich muss mich noch ein bisschen damit beschäftigen, aber ich habe momentan alle Werte wieder in den Log-Dateien (allerdings nicht so schön in einer Zeile, wie vorher, aber egal, da kann ich die .gplot Dateien eventuell besser anpassen).
Da die Konfigurationsdatei User-spezifisch ist, würde ich diese ins fhem Wurzelverzeichnis packen (ist bei Dir ja auch so gemacht), ich hatte sie zuerst im ./FHEM Verzeichnis und die Datei wurde nicht gefunden, mit dem Parameter ./FHEM/00_VCONTROLD.cfg ging es dann auch.
Mir fehlt bis jetzt nur noch die Abgastemperatur (ist bei mir ein Temperatursensor, der im Rücklauf angeflanscht ist), aber diese bekomme ich auch noch decodiert.
Den Brennerstatus hatte ich vorher mit 0 für off und 1 für on, da muss ich vermutlich ein UserReading einführen, damit ich das im Plot angezeigt bekomme.

Trotz aller Unixkenntnise bekomme ich in /etc/init.d den Link auf den daemon nicht raus  >:(
lrwxrwxrwx  1 root   38 Aug 18  2013 vcondrold -> /opt/vcontrold/script/init.d/vcondrold
da geht weder rm noch rm -f ..., aber egal, der daemon startet nicht mehr und das ist die Hautpsache.

Nochmal vielen Dank.

Gruß PeMue

Edit1:
Mir ist noch aufgefallen, dass 99_VCONTROL.cfg editierbar ist, die 99_VCONTROL.pm nicht. Kann aber auch an meiner alten fhem Version liegen.

Edit2:
Ab und zu bleibt das Pollen "hängen" und es ist 10-25 Minuten Pause. Dann geht es unaufgefordert weiter. Ich habe noch nicht alle Threads durchgelesen, meine aber mitbekommen zu haben, dass irgendwelche Timer hängenbleiben. Ich warte einfach mal ab, momentan ist die Heizungsanzeige auch nicht ganz so spannend.

Edit3:
Ich würde den Brennerstarts (+DayStart, +Day) generell keine Nachkommastelle spendieren, dafür würde ich den Brennerstunden drei Nachkommastellen spendieren (aktuell nur zwei), da 0,001 h = 3,6 s (wenn ich mich nicht verrechnet habe). Ob die Regelung das dann auch so genau misst, wäre die nächste Frage ... ;)
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

Adam

@ Peter,

freut mich, dass der Umstieg relativ reibungslos funktioniert hat.
Hast Du die Version von 5 Posts vorher genommen oder die aus dem ersten Post?
(und dort die aktuelle?)

Das mit dem hängenden Pollen habe ich so mit der aktuellsten Version von keinem User mehr gehört!
In den ersten beiden Versionen gab es Probleme, wenn man die Timer per GET gelesen hat.
Dann kam das Modul aus dem Tritt. Die aktuellen sollten stabil laufen!

Will nicht ausschliessen, dass es noch Probleme gibt.
Wenn Du die aktuelle Version hast, kannst Du ja mal mit Verbose 5 mitlaufen lassen,
vielleicht entdecken wir noch was.

Warum das Modul unter Edit files nicht auftaucht weiss ich nicht.
Ich vermute das tuen PM Dateien nur wenn Utils im Namen steckt!

Ja das mit den Brennerstarts und Stunden kann ich bei Gelegenheit mal anpassen.

@Reiner

ich werde am Wochenende noch mal Tests mit der USB Version machen,
was passiert wenn ich den USB Stecker einfach mal raus ziehe und wieder reinstecke!?

Melde mich dann wenn ich Ergebnisse habe!

Gruß
Adam

PeMue

Hallo Adam,

so wie ich es interpretiert habe, ist die Version aus dem ersten Post die aktuelle.
Die Version vom 24. April (also vermutlich noch auf dieser Seite des Threads) ist erst einmal eine Testversion, die es auszutesten gilt. Falls diese ok ist, kommt sie wieder in den ersten Post. Richtig?
Ich habe die Version v 2.4 21.03.2014 21:10 aktuell installiert.
Ich wundere mich über die unkonventionelle Sortierung der Timer, ich habe einfach die Reading-Names von Mo (0) bis So(6) hochgezählt. Ist mir persönlich lieber ...

Gruß 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

kvo1

Hallo Peter,

schön, das Du jetzt auch auf Adam´s Modul umgestiegen bist  ;)

ZitatTrotz aller Unixkenntnise bekomme ich in /etc/init.d den Link auf den daemon nicht raus  >:(

versuch mal....        sudo update-rc.d vcontrold remove

Gruß 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

kvo1

Hi Peter

mit den Plots habe ich so gelöst....

### Plots
define SVG_FileLog_Vito200_Temp_1 SVG FileLog_Vito200_Temp:SVG_FileLog_Vito200_Temp_1:CURRENT
attr SVG_FileLog_Vito200_Temp_1 group Heizung
attr SVG_FileLog_Vito200_Temp_1 label "VIESSMANN VITODENS 333-F Temperaturen: Min $data{min1}, Max $data{max1}, Aktuell $data{currval1}"
attr SVG_FileLog_Vito200_Temp_1 room Heizung
define SVG_FileLog_Vito200_Brenner_1 SVG FileLog_Vito200_Brenner:SVG_FileLog_Vito200_Brenner_1:CURRENT
attr SVG_FileLog_Vito200_Brenner_1 group Heizung
attr SVG_FileLog_Vito200_Brenner_1 label "VIESSMANN VITODENS 333-F Brenneraktivitäten"
attr SVG_FileLog_Vito200_Brenner_1 room Heizung
#####################################

vielleicht hilft es Dir etwas

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