Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

Adam

Hi Reiner das ist schön  :D

Bedeutet für mich:

- die reine DevIo Version ist für Linux (und LAN) optimiert.
- meine Version mehr für Windows (und USB)

Werde versuchen da eine gemeinsame Version draus zu machen, die bei Linux DevIo nutzt
und bei Windows meine Version.
Oder aber mal nach den Unterschieden suchen.
Aber dafür brauche Ich erstmal Zeit  ::)

Adam

kvo1

Hi Adam,

ZitatBedeutet für mich:

- die reine DevIo Version ist für Linux (und LAN) optimiert.
- meine Version mehr für Windows (und USB)

wäre diese dann auch für Linux/USB  die richtige.
Wenn ich demnächst wieder etwas mehr Zeit habe , wäre ich als Proband dabei  ;)

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 Adam,

nach Umzug von FHEM auf einen BBB bekomme ich beim Start von FHEM folgenden Fehler:

Zitat
/opt/fhem/FHEM# Undefined subroutine &main::trim called at ./FHEM/99_VCONTROL.pm line 821, <CMDDATEI> line 1.

Hast Du eine Idee?

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

Hmmmm?? Die Routine trim ist in 99_Utils.pm definiert!
Hast Du diese nach Deine Umzug noch im FHEM Verzeichnis?

blueberry63

ZitatHast Du diese nach Deine Umzug noch im FHEM Verzeichnis?

...das war es  ::)

Danke!!!

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

salvadore

Hallo,
zuerst möchte ich ein großes Dankeschön an die "Viessmann-Gemeinde" hier loswerden. Ein wirklich tolles Modul.
Nach Umzug auf einen BeagleBoneBlack setzte ich es ebenfalls ein mit einem Original Optolink (vorher mit vConnect verwendet). Es hat direkt geklappt und die Werte werden in die Readings geschrieben.
Im ersten Post steht, das als Konfigurationsgrundlage das Protokoll für V200KW2 eingesetzt wird. Ich habe selbst eine Anlage, die das Protokoll VPlusH01 verwendet. Beide Protokolle sind lt. der Adressliste von openv, größtenteils identisch. Aufgefallen ist mir jedoch, dass bei der Temp-Kessel-Soll eine andere Adresse verwendet wird. openv= ...555A;  cfg=...5502. Beim Brenner lt. openv= ....551E, cfg= .... 0842. Kann das mal jemand prüfen, Bei mir wird bei Temp-Kessel-Soll -0.1 angezeigt und beim Brenner konstant off.

Gruss
Salvadore
FHEM 5.6, APU-Board, CUNO 1.x, RFXtrx433, 8 FHT80B, diverse FS20 Aktoren, Rasperry, div. DS18x-Sensoren, KD101, AB400R, HE877, ESA2000, Beaglebone Black Rev.C, Jeelink, PCA 301, PT8005,

Adam

Hi salvadore,

immer wieder schön zu hören wenn das Modul bei neuen Benutzern des Modus auf Anhieb funktioniert.  ;D

Ich sitze gerade an der Nordsee  8) und kann nicht nachschauen. Morgen abend wieder.
Habe da noch ein paar "offizielle" Tabellen mit Adressen gefunden im openv Forum.

Ich melde mich.
Adam

Lars

Hallo Adam,

Nach langer Zeit hatte ich endlich Probleme mit meiner bisherigen Anbindung in FHEM (Abfragen skriptgesteuert und dummys), der Bedarf zum Einsatz deines Moduls ist dadurch gestiegen. Das Modul läuft jetzt bei mir auf dem beaglebone black seit 7 Tagen ohne Probleme.
Was mich jedoch nervt ist, dass ich für meine Anlage (Vitocal 200-S) relativ wenige Daten bekomme. Werte setzen funktioniert überhaupt nicht und einige wichtige Informationen liefert die vitocal nicht.
Mir bleibt nur die Hoffnung, dass entweder andere User noch ein paar Adressen heraus finden oder das viessmann mal ein Update vorbei schickt :-)))

Also, noch mal danke für das Modul und die damit verbundene Arbeit!!!  :D
FHEM Hauptsystem auf ESXi VM | dblog | 3 rPi für Nebensysteme | 2 Beaglebone Black Test- / Integrationssystem

Adam

Hallo Lars, Hallo Salvadore,

ich denke Ihr müsst die richtigen Adressen für Eure Anlage finden und diese in die CFG Datei konfigurieren.
Die aus dem ersten Post passt halt wohl zu 100% nur zu meiner Anlange.

Ich hänge hier mal zwei xml Dateien an, die die offizielle Viessmann Software wohl benutzt, um die Anlagen auszulesen.
Ich öffne sie mit Excel, damit sind sie "etwas" lesbarer.

So wie ich die Dateien verstehe müsst Ihr wie folgt vorgehen:


  • In der Datei ecnEventTypeGroup.xml in der Spalte DataPointTypeID Euren Anlagen Typ finden. Also z.B. VPlusHO1
  • Dann mit teilen aus Spalte ID oder EventTypeID in der zweiten Datei ecnEventType.xml suchen.
    1:1 findet man die Sachen leider nicht

Beispiel wie es wohl gehen sollte:

Wenn man mal nach VPlusHO1 sucht findet man:

Heizzeiten               
   VPlusHO1~10_Bedienung_A1~15_Heizzeiten            
      VPlusHO1         
               Schaltzeiten_A1M1_HK_Sonntag_06

In der zweiten Datei mal nach "15_Heizzeiten" oder mal nach "A1M1" gesucht findet man:

Schaltzeiten_A1M1_HK  und die Adressen ......

So wie es aussieht sind für VPlusHO1 die Adressen für die Schaltzeiten identisch!?
Werden sie nicht angezeigt?

Ihr müsst also leider erstmal Adressen suchen, diese dann in die CFG Eintragen und mal mit DEBUG Level 5 loggen.
Dann kann man zumindest mal sehen was an Bytes so zurück kommt!

Die Adressen aus meiner CFG sind aus einer vito.xml Datei die bei mir mit vcontrol bereits finktioniert hat.

Für die Vitocal 200-S weiss ich leider nicht wonach man suchen muss. Vitocal finde ich in den Dateien nicht.
Lars vielleicht findest Du in der Spalte DataPointTypeID etwas was Dir bekannt vorkommt für Deinen Heizungstyp.

Also viel Glück beim Adressen suchen.
Ich helfe gern weiter, wenn es irgendwie möglich ist ohne so eine Heizung selber zu haben  ;)

Adam

Adam

#354
@Lars:

Wenn ich meine Recherche richtig interpretiere, müsste die Vitocal 200-S mit Vitotronic 200 der Geräte-ID VBC702-S entsprechen.

siehe hier:
https://vitodata100.viessmann.com/VD100/ApplicationHelp/VD100/Ger%C3%A4teliste.html

D.h. ich würde in den XML Dateien mal die Adressen für DataPointTypeID = VBC700_BW_WW ausprobieren!!!

EDIT 20:12Uhr

Ich befürchte Du wirst auch damit kein Erfolg haben. Bei der Vitocal 200-S steht auf vielen Seiten:
Achtung: eingeschränkter Datenzugriff

Gruß
Adam

salvadore

@Adam

Vielen Dank für die Infos.

Ich habe versucht mithilfe der beiden Listen die richtigen Adressen zu finden, ist mir aber nicht ganz gelungen. Gefunden habe ich unter der Adresse  0x551E den Brennerstatus. Wenn ich diesen in der Config austausche, wechselt zwar der Status von off auf on, bleibt aber immer gleich.
In deiner Conf. wird hier die Adresse des Brennerzustandes 1. Stufe ausgelesen. es erfolgt aber auch kein Statuswechsel.

Die Adresse für Kessel-Soll-Temp habe ich ermitteln können. ( u.a.von openv -Adressen). POLL, 01F7080202, 2ByteS, 10    , Temp-Kessel-Ist     , -

Zum DEBUGEN, bin nicht der Große Guru, kannst Du mir dazu einen Tip geben?

Gruss
Salvadore
FHEM 5.6, APU-Board, CUNO 1.x, RFXtrx433, 8 FHT80B, diverse FS20 Aktoren, Rasperry, div. DS18x-Sensoren, KD101, AB400R, HE877, ESA2000, Beaglebone Black Rev.C, Jeelink, PCA 301, PT8005,

Adam

Hi salvadore,

also zum "Debuggen" bei Deinem Device des Moduls das Attribut verbose auf 5 setzen.

Abwarten bis ein POLL Intervall abgearbeitet wurde und sich dann das FHEM Log anschauen.
Eventuell auch mehrere Intervalle vergleichen, ob immer der gleiche Wert kommt, oder auch mal was anderes.

Es könnte ja sein, dass der Wert vom Modul nicht richtig interpretiert wird.

Wenn Du den Log hier mal postest kann ich gern mit drauf schauen!!

Verstehe ich es richtig, dass die Ermittlung der Kesse-Soll-Temp  nun funktioniert?

In Deinem Post hast Du als Reading wohl Temp-Kessel-Ist konfiguriert???
ZitatDie Adresse für Kessel-Soll-Temp habe ich ermitteln können. ( u.a.von openv -Adressen). POLL, 01F7080202, 2ByteS, 10    , Temp-Kessel-Ist     , -

Adam

Adam

Noch einen habe ich, wenn ich mir die XML Dateien anschaue finde ich folgendes:

Kessel               
   VPlusHO1~40_Diagnose_1~10_Kessel            
      VPlusHO1         
               Oelverbrauch
               BrennerstartsGWG
               BetriebsstundenBrenner1Bedienung
               DigitalAusgang_InternePumpe
               TiefpassTemperaturwert_ATS
               BetriebsstundenBrenner2Bedienung
               Kesselsoll_eff
               TiefpassTemperaturwert_KTS
               GWG_Brenner_2
               GWG_Brenner_1
               Gemischte_AT
               InternePumpeDrehzahl_res

In der zweiten Datei dann nach GWG_Brenner_1 und _2 und Kesselsoll_eff gesucht ergibt das:

GWG_Brenner_1~0x55DE   Dropdown   Read   0x55DE
GWG_Brenner_2~0x55DD   Dropdown   Read   0x55DD
Kesselsoll_eff~0x555A              Read   0x555A


Also würde ich mal 0x55DE und 0x55DD und 0x555A ausprobieren!!

Viel Erfolg,
Adam

salvadore

@Adam

Danke für die Unterstützung.
Bei der Konfigration der Kessel-Soll-Temperatur hatte ich die falsche Zeile gepostet. Es funktioniert mit dieser:

POLL, 01F7555A02, 2ByteU, 1     , Temp-Kessel-Soll    , -

Nicht richtig weiter komme ich mit dem Brennerstatus. Mit der Adresse 01F755DE01 ändert sich der Wert von 0 zuerst auf 24 und dann auf 43, beim abschalten wieder auf 0. Ich vermute das es mit der zweiten Stufe des Brenners im Zusammenhang steht. Bei der Adresse 01F755DD01 ändert sich der Wert von 1 auf 25.

Was mir als mögliche Lösung hierzu einfällt, wäre, wenn Wert größer 0, dann ist Brennerstatus an, sonst aus.

Ein Auszug aus dem logFile:
.
.

2014.07.22 12:54:23 5: VCONTROL: send '01F755DE01'
2014.07.22 12:54:23 5: SW: 01f755de01
2014.07.22 12:54:24 5: VCONTROL_READ
2014.07.22 12:54:24 5: VCONTROL: VCONTROL_Read '2b'
2014.07.22 12:54:24 5: VCONTROL: receive 'Brenner : 43'
2014.07.22 12:54:24 5: Triggering Vito200 (1 changes)
2014.07.22 12:54:24 5: Notify loop for Vito200 Brenner: 43
2014.07.22 12:54:24 4: eventTypes: VCONTROL Vito200 Brenner: 43 -> Brenner: .*
.
.
2014.07.22 12:56:04 5: VCONTROL: Setze sendstr
2014.07.22 12:56:04 5: VCONTROL: send '01F755DE01'
2014.07.22 12:56:04 5: SW: 01f755de01
2014.07.22 12:56:04 5: VCONTROL_READ
2014.07.22 12:56:04 5: VCONTROL: VCONTROL_Read '00'
2014.07.22 12:56:04 5: VCONTROL: receive 'Brenner : 0'
2014.07.22 12:56:04 5: Triggering Vito200 (1 changes)
2014.07.22 12:56:04 5: Notify loop for Vito200 Brenner: 0
2014.07.22 12:56:04 4: eventTypes: VCONTROL Vito200 Brenner: 0 -> Brenner: .*


Als weiteres habe ich dann von openv das Win-Programm Viss-Data 2.0 installiert. Aus dessen Adressliste ist die Adresse 0842 für die Statusanzeige verwendet worden. Aber auch hier bleibt das Feld einschl. der aktuellen Leistungsanzeige leer.

Grüsse
Salvadore
FHEM 5.6, APU-Board, CUNO 1.x, RFXtrx433, 8 FHT80B, diverse FS20 Aktoren, Rasperry, div. DS18x-Sensoren, KD101, AB400R, HE877, ESA2000, Beaglebone Black Rev.C, Jeelink, PCA 301, PT8005,

Adam

#359
Diese Heizungen sind schon schräg programmiert  :-\

Ich habe mir die XML Tabelle noch mal angeschaut:

Bei Adresse 55DE wird bei BitPosition nicht wie bei meiner Adresse 0, sondern eine 7 angegeben!?!?

Tja, heisst das vielleicht:


Bit Position 12345678
2B -> 43 ->  00101011 -> on
18 -> 24 ->  00011000 -> off
00 -> 00 ->  00000000 -> off


Vermutungen:
Es wird wohl ab 1 und nicht ab 0 gezählt, da es auch BitPosition 8 mit einem Byte in der XML Datei gibt.
Und  es kann dann wohl auch nur von links nach rechts sein, sonst hätten wir keine Änderung?

Hörst Du an Deiner Heizung, wenn der Brenner läuft? (Bei mir höre ich das)
Dann könntest Du mal prüfen, ob der Brenner immer nur bei 2B an ist.

EDIT:

Bei Adresse 55DD wird bei BitPosition eine 5 angegeben!?!?


Bit Position 12345678
19 -> 25 ->  00011001 -> on
01 -> 01 ->  00000001 -> off

Gruß
Adam