Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

Gunther

Brenner an/aus habe ich eingebaut. Geht Danke.

Ich möchte gerne die Auswertung für Anzahl Brennerstunden und Starts.
Habe ich etwas übersehen?
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


Gunther

ja genau. Die Plots kann ich dann vermutlich auf Balkendiagramme umstellen.
Super, werde ich mal einbauen. 1000 Dank!
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

fischle

Hallo Adam.
ich habe es mal wieder geschafft, dass sich meine Heizungs-Abfrage aufhängt:

Ich vermute, dass das zu dem Zeitpunkt passiert ist, als ich das Plot erzeugt habe, kann es aber nicht mehr nachvollziehen da ich nur noch das Logging auf Modullevel aktiv habe.

Hast du irgend eine Idee??


2014.03.16 17:22:14 5: VCONTROL_READ
2014.03.16 17:22:14 5: VCONTROL: VCONTROL_Read '8b00'
2014.03.16 17:22:14 5: VCONTROL: receive 'Temp-Aussen : 13.9'
2014.03.16 17:22:17 5: VCONTROL_READ
2014.03.16 17:22:17 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:17 5: VCONTROL: Setze sendstr
2014.03.16 17:22:17 5: VCONTROL: send '01F7080202'
2014.03.16 17:22:17 5: SW: ÷
2014.03.16 17:22:17 5: VCONTROL_READ
2014.03.16 17:22:17 5: VCONTROL: VCONTROL_Read '1402'
2014.03.16 17:22:17 5: VCONTROL: receive 'Temp-Kessel-Ist : 53.2'
2014.03.16 17:22:20 5: VCONTROL_READ
2014.03.16 17:22:20 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:20 5: VCONTROL: Setze sendstr
2014.03.16 17:22:20 5: VCONTROL: send '01F7254602'
2014.03.16 17:22:20 5: SW: ÷%F
2014.03.16 17:22:20 5: VCONTROL_READ
2014.03.16 17:22:20 5: VCONTROL: VCONTROL_Read '9901'
2014.03.16 17:22:20 5: VCONTROL: receive 'Temp-Kessel-Soll : 40.9'
2014.03.16 17:22:23 5: VCONTROL_READ
2014.03.16 17:22:23 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:23 5: VCONTROL: Setze sendstr
2014.03.16 17:22:23 5: VCONTROL: send '01F7757404'
2014.03.16 17:22:23 5: SW: ÷ut
2014.03.16 17:22:23 5: VCONTROL_READ
2014.03.16 17:22:23 5: VCONTROL: VCONTROL_Read 'a05e0100'
2014.03.16 17:22:23 5: VCONTROL: exit if buffer just filled with 0x05
2014.03.16 17:22:26 5: VCONTROL_READ
2014.03.16 17:22:26 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:28 5: VCONTROL_READ
2014.03.16 17:22:28 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:28 5: VCONTROL: Setze sendstr
2014.03.16 17:22:28 5: VCONTROL: send '01F7757404'
2014.03.16 17:22:28 5: SW: ÷ut
2014.03.16 17:22:28 5: VCONTROL_READ
2014.03.16 17:22:28 5: VCONTROL: VCONTROL_Read 'a05e0100'
2014.03.16 17:22:28 5: VCONTROL: exit if buffer just filled with 0x05
2014.03.16 17:22:31 5: VCONTROL_READ
2014.03.16 17:22:31 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:34 5: VCONTROL_READ
2014.03.16 17:22:34 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:34 5: VCONTROL: Setze sendstr
2014.03.16 17:22:34 5: VCONTROL: send '01F7757404'
2014.03.16 17:22:34 5: SW: ÷ut
2014.03.16 17:22:34 5: VCONTROL_READ
2014.03.16 17:22:34 5: VCONTROL: VCONTROL_Read 'a05e0100'
2014.03.16 17:22:34 5: VCONTROL: exit if buffer just filled with 0x05
2014.03.16 17:22:37 5: VCONTROL_READ
2014.03.16 17:22:37 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:39 5: VCONTROL_READ
2014.03.16 17:22:39 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:39 5: VCONTROL: Setze sendstr
2014.03.16 17:22:39 5: VCONTROL: send '01F7757404'
2014.03.16 17:22:39 5: SW: ÷ut
2014.03.16 17:22:39 5: VCONTROL_READ
2014.03.16 17:22:39 5: VCONTROL: VCONTROL_Read 'a05e0100'
2014.03.16 17:22:39 5: VCONTROL: exit if buffer just filled with 0x05
2014.03.16 17:22:42 5: VCONTROL_READ
2014.03.16 17:22:42 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:44 5: VCONTROL_READ
2014.03.16 17:22:44 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:44 5: VCONTROL: Setze sendstr
2014.03.16 17:22:44 5: VCONTROL: send '01F7757404'
2014.03.16 17:22:44 5: SW: ÷ut
2014.03.16 17:22:44 5: VCONTROL_READ
2014.03.16 17:22:44 5: VCONTROL: VCONTROL_Read 'a05e0100'
2014.03.16 17:22:44 5: VCONTROL: exit if buffer just filled with 0x05
2014.03.16 17:22:47 5: VCONTROL_READ
2014.03.16 17:22:47 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:49 5: VCONTROL_READ
2014.03.16 17:22:49 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:49 5: VCONTROL: Setze sendstr
2014.03.16 17:22:49 5: VCONTROL: send '01F7757404'
2014.03.16 17:22:49 5: SW: ÷ut
2014.03.16 17:22:49 5: VCONTROL_READ
2014.03.16 17:22:49 5: VCONTROL: VCONTROL_Read 'a05e'
2014.03.16 17:22:49 5: VCONTROL: VCONTROL_Read receive_len < 8, a05e
2014.03.16 17:22:49 5: VCONTROL_READ
2014.03.16 17:22:49 5: VCONTROL: VCONTROL_Read '0100'
2014.03.16 17:22:49 5: VCONTROL: exit if buffer just filled with 0x05
2014.03.16 17:22:52 5: VCONTROL_READ
2014.03.16 17:22:52 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:55 5: VCONTROL_READ
2014.03.16 17:22:55 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:22:55 5: VCONTROL: Setze sendstr
2014.03.16 17:22:55 5: VCONTROL: send '01F7757404'
2014.03.16 17:22:55 5: SW: ÷ut
2014.03.16 17:22:55 5: VCONTROL_READ
2014.03.16 17:22:55 5: VCONTROL: VCONTROL_Read 'a05e01'
2014.03.16 17:22:55 5: VCONTROL: VCONTROL_Read receive_len < 8, a05e01
2014.03.16 17:22:55 5: VCONTROL_READ
2014.03.16 17:22:55 5: VCONTROL: VCONTROL_Read '00'
2014.03.16 17:22:55 5: VCONTROL: exit if buffer just filled with 0x05
2014.03.16 17:22:58 5: VCONTROL_READ
2014.03.16 17:22:58 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:23:00 5: VCONTROL_READ
2014.03.16 17:23:00 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 17:23:00 5: VCONTROL: Setze sendstr
2014.03.16 17:23:00 5: VCONTROL: send '01F7757404'
2014.03.16 17:23:00 5: SW: ÷ut
2014.03.16 17:23:00 5: VCONTROL_READ
2014.03.16 17:23:00 5: VCONTROL: VCONTROL_Read 'a05e0100'
2014.03.16 17:23:00 5: VCONTROL: exit if buffer just filled with 0x05
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

fischle

Soo, ich habe die SW noch mal gestartet - sieht aus als ob das Modul ein Problem mit der Antwort "a05e0100" hat:


2014.03.16 18:42:49 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 18:42:49 5: VCONTROL: Setze sendstr
2014.03.16 18:42:50 5: VCONTROL: send '01F7080002'
2014.03.16 18:42:50 5: SW: ÷
2014.03.16 18:42:50 5: VCONTROL_READ
2014.03.16 18:42:50 5: VCONTROL: VCONTROL_Read '8100'
2014.03.16 18:42:50 5: VCONTROL: receive 'Temp-Aussen : 12.9'
2014.03.16 18:42:53 5: VCONTROL_READ
2014.03.16 18:42:53 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 18:42:53 5: VCONTROL: Setze sendstr
2014.03.16 18:42:53 5: VCONTROL: send '01F7080202'
2014.03.16 18:42:53 5: SW: ÷
2014.03.16 18:42:53 5: VCONTROL_READ
2014.03.16 18:42:53 5: VCONTROL: VCONTROL_Read '9e01'
2014.03.16 18:42:53 5: VCONTROL: receive 'Temp-Kessel-Ist : 41.4'
2014.03.16 18:42:56 5: VCONTROL_READ
2014.03.16 18:42:56 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 18:42:56 5: VCONTROL: Setze sendstr
2014.03.16 18:42:56 5: VCONTROL: send '01F7254602'
2014.03.16 18:42:56 5: SW: ÷%F
2014.03.16 18:42:56 5: VCONTROL_READ
2014.03.16 18:42:56 5: VCONTROL: VCONTROL_Read '9b01'
2014.03.16 18:42:56 5: VCONTROL: receive 'Temp-Kessel-Soll : 41.1'
2014.03.16 18:42:59 5: VCONTROL_READ
2014.03.16 18:42:59 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 18:42:59 5: VCONTROL: Setze sendstr
2014.03.16 18:42:59 5: VCONTROL: send '01F7757404'
2014.03.16 18:42:59 5: SW: ÷ut
2014.03.16 18:42:59 5: VCONTROL_READ
2014.03.16 18:42:59 5: VCONTROL: VCONTROL_Read 'a05e0100'
2014.03.16 18:42:59 5: VCONTROL: exit if buffer just filled with 0x05
2014.03.16 18:43:02 5: VCONTROL_READ
2014.03.16 18:43:02 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 18:43:04 5: VCONTROL_READ
2014.03.16 18:43:04 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 18:43:04 5: VCONTROL: Setze sendstr
2014.03.16 18:43:04 5: VCONTROL: send '01F7757404'
2014.03.16 18:43:04 5: SW: ÷ut
2014.03.16 18:43:04 5: VCONTROL_READ
2014.03.16 18:43:04 5: VCONTROL: VCONTROL_Read 'a05e0100'
2014.03.16 18:43:04 5: VCONTROL: exit if buffer just filled with 0x05
2014.03.16 18:43:07 5: VCONTROL_READ
2014.03.16 18:43:07 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 18:43:09 5: VCONTROL_READ
2014.03.16 18:43:09 5: VCONTROL: VCONTROL_Read '05'
2014.03.16 18:43:09 5: VCONTROL: Setze sendstr
2014.03.16 18:43:09 5: VCONTROL: send '01F7757404'
2014.03.16 18:43:09 5: SW: ÷ut
2014.03.16 18:43:09 5: VCONTROL_READ
2014.03.16 18:43:09 5: VCONTROL: VCONTROL_Read 'a05e0100'
2014.03.16 18:43:09 5: VCONTROL: exit if buffer just filled with 0x05

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

Adam

Hi Fabian,

ja Danke für das Log, das war mir noch nicht aufgefallen.
Ich habe es nicht so mit regulären Ausdrücken  ::)

Ich habe den Ausdruck geändert und das korrigierte Modul ist wie immer im ersten Post zu finden.

Ist im übrigen für alle interessant, da ein Wert der größer als ein Byte ist und ein 0x05 enthält
bisher nicht sauber interpretiert wurde!!!

fischle

Hallo Adam,
super,
vielen Dank für den schnelle Support, werde gleich ein Update durchführen.
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

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

2.) Wo bekomme ich die Brennerleistung her?

Zitat von: kvo1 am 14 März 2014, 23:39:21
2) ggf. aus den xml-dateien
klaus

Welche XML-Dateien?
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

Adam

Hallo Gunther,

das Modul setzt ja auf dem KW Protokoll auf und kann dann in der Konfigdatei die Adressen nutzen,
die hier bereits beschrieben sind:

http://openv.wikispaces.com/Adressen

Das Tool vcontrold, das auch auf dieser Seite beschrieben ist,
nutzte eine vito.xml und vcontrold.xml Datei, in der diverse Adressen definiert waren.
Vielleicht hast Du welche die zu Deiner Heizung passen??

Wenn nein, musst Du hoffen, dass in dem oberen Link eine Adresse für Deine Heizung
und die Brennerleistung zu finden ist!

Gruß
Adam

Gunther

#176
Das hilft mir! Danke!

Unklar ist mir noch folgendes:
Wenn in der Liste unter "Values Factor" statt einer Zahl 0..1 steht, wie habe ich damit umzugehen.
z. B. unter Brenner bei "aktuelle Stufe (Brennerstatus)" zu finden.
z. B. bei "Betriebsstunden Stufe 1" steht  "Sek"
Wie gebe ich diesen Wert in der cfg ein?

Ich möchte folgende Werte mit aufnehmen:

POLL, 01F70010D2, 2ByteS, 10    , WarmWasser_oben     , -
POLL, 01F70010E2, 2ByteS, 10    , WarmWasser_unten    , -
POLL, 01F70551E1, 1ByteS, 2     , aktuelle_Stufe      , -
POLL, 01F7008864, 4ByteS, Sek   , Stunden_Stufe_1     , -
POLL, 01F7008A34, 4ByteS, Sek   , Stunden_Stufe_2     , -
POLL, 01F7008421, 1ByteS, 1     , Zustand_Stufe_1     , -
POLL, 01F7008491, 1ByteS, 1     , Zustand_Stufe_2     , -
POLL, 01F70A38F2, 2ByteS, 22    , Ist-Leistung        , -
POLL, 01F70A3052, 2ByteS, 22    , Kesselleistung      , -


Ich teste mal.
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

Hat leider nicht geklappt.
Was habe ich gemacht:

1.) 99_VCONTROL.cfg angepasst:
######################################################################################
# Polling Commands
######################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME       , KUMULATION?
#
POLL, 01F7080002, 2ByteS, 10    , Temp-Aussen         , -
POLL, 01F7080402, 2ByteS, 10    , Temp-WarmWasser-Ist , -
POLL, 01F7630001, 1Byte,  1     , Temp-WarmWasser-Soll, -
POLL, 01F7080202, 2ByteS, 10    , Temp-Kessel-Ist     , -
POLL, 01F7550202, 2ByteS, 10    , Temp-Kessel-Soll    , -
POLL, 01F7084201, 1Byte,  state , Brenner             , -
POLL, 01F7088A02, 2ByteU, 1     , BrennerStarts       , day
#POLL, 01F7088A04, 4Byte, 1     , BrennerStarts       , day
POLL, 01F7757404, 4Byte,  1000  , Oelverbrauch        , day
POLL, 01F7084601, 1Byte,  state , Zirkulationspumpe   , -
POLL, 01F7230101, mode,   10    , state               , -
POLL, 01F7230301, 1Byte,  state , state_party         , -
POLL, 01F7230201, 1Byte,  state , state_spar          , -
POLL, 01F708A704, 4Byte,  3600  , BrennerStunden      , day
POLL, 01F7230601, 1Byte,  1     , Temp-Raum-Soll      , -
POLL, 01F7080A02, 2ByteS, 10    , Temp-Ruecklauf      , -
POLL, 01F7080C02, 2ByteS, 10    , Temp-Vorlauf        , -
POLL, 01F70010D2, 2ByteS, 10    , WarmWasser_oben     , -
POLL, 01F70010E2, 2ByteS, 10    , WarmWasser_unten    , -
POLL, 01F70551E1, 1ByteS, 2     , aktuelle_Stufe      , -
POLL, 01F7008864, 4ByteS, Sek   , Stunden_Stufe_1     , -
POLL, 01F7008A34, 4ByteS, Sek   , Stunden_Stufe_2     , -
POLL, 01F7008421, 1ByteS, 1     , Zustand_Stufe_1     , -
POLL, 01F7008491, 1ByteS, 1     , Zustand_Stufe_2     , -
POLL, 01F70A38F2, 2ByteS, 22    , Ist-Leistung        , -
POLL, 01F70A3052, 2ByteS, 22    , Kesselleistung      , -


2.) Die Dateien hochgeladen, bzw. die alten ersetzt:
99_VCONTROL.pm
99_VCONTROL.cfg

3.) FHEM: shutdown restart

Leider wird in den Readings nichts von den neuen Werten angezeigt. Muss ich dafür noch etwas 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

Zitatz. B. bei "Betriebsstunden Stufe 1" steht  "Sek"
auf jeden Fall nicht einfach "sek" hinschreiben

Vergleich doch mal mit ...
POLL, 01F708A704, 4Byte,  3600  , BrennerStunden      , day

Zwei Beispiel von Dir
falsch , denke ich  ;)
POLL, 01F7008864, 4ByteS, Sek   , Stunden_Stufe_1     , -
ich würd schreiben
POLL, 01F7088604, 4ByteS, 3600   , Stunden_Stufe_1     , day


falsch , denke ich  ;)
POLL, 01F7008A34, 4ByteS, Sek   , Stunden_Stufe_2     , -
ich würd schreiben
POLL, 01F708A304, 4ByteS, Sek   , Stunden_Stufe_2     , day




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

Einen hab ich noch ...... :D

Deine Version
POLL, 01F70A38F2, 2ByteS, 22    , Ist-Leistung        , -
ich würd schreiben
POLL, 01F7A38F02, 2ByteS, 2    , Ist-Leistung        , -

Deine Version
POLL, 01F70A3052, 2ByteS, 22    , Kesselleistung      , -
ich würd schreiben
POLL, 01F7A30502, 2ByteS, 2    , Kesselleistung      , -

Das setzt natürlich voraus das die Adressen auch stimmen (kennen Deinen Kesseltyp / ID ) nicht .

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