Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

PeMue

Hallo zusammen,

da ich eher für die Hardware zustänig bin und hier nur mit einem Auge mitlese, meine Frage: Was hätte ich von dem neuen Modul?
Zur Info: Ich habe eine Vitotronic 200 KW1.
Was ich meine verstanden zu haben: Das neue Modul pollt deutlich schneller, indem es mehrere Datenpunkte nach einem 0x05 ausliest (ob das mit meiner Regelung geht, weiß ich allerdings nicht). Allerdings muss ich die Konfigurationsdatei etwas anpassen und die Readings kommen ggf. in anderer Form oder unter anderen Namen, d.h. ich müsste mein Logging oder meine Plotdateien anpassen.
Das neue Modul ist mit dem alten nicht kompatibel, sprich es geht entweder oder bzw. das mergen der beiden in ein Modul wird schwierig. Das alte ist im Repository, das neue noch nicht.
Generell stelle ich mir die Frage, ob es sich lohnen würde, umzustellen.

Danke schonmal für Eure Tipps.

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

Tach Peter,

die gleiche Frage habe ich mir ja auch schon gestellt und wäre dafür das Adamsche Modul so zu lassen
und ggf. ein neues zu ersten.... für die "Eiligen" .  Hatte ich auch w.o. schon mal so kund getan !

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

srxp

Grüss euch,
Also die beiden Module werden nie gemerged werden. Dazu sind sie zu unterschiedlich vom Aufbau her. Ich hab das neue Modul vorwiegend für mich selbst gemacht da ich sehr viele Werte abrufe und das mit dem bisherigen Modul bzw der bisherigen Implementation des kW Protokolls nicht in angemessener Zeit ging. Allerdings hab ich das bisherige Modul auch adaptiert damit es schneller geht, das muss ich aber mit Adam klären wegen dem Einchecken. Ja ob jemand auf das neue Modul umsteigen will bleibt jedem selbst überlassen. Falls das Interesse besteht kann ich meine weitere Entwicklung gerne hier Posten, falls nicht dann halt nicht. Es braucht sich keiner gezwungen fühlen mein Modul zu verwenden.
Die Vorteile des neuen modules bestehen im Prinzip darin dass das 300er Protokoll unterstützt wird und dass es non-blocking ausgeführt wird und somit Fhem nicht blockiert.
Weiters auch noch dass die cfg etwas optimiert wurde.

Lg

@peter:sofern in der cfg die readings gleich heissen ist auch alles gleich wie beim anderen Modul dh deine loggjngs betrifft das nicht. Nur so zur Info.

PeMue

Hallo Stephan,

vielen Dank für Deine Erklärungen.
Zitat von: srxp am 17 Januar 2017, 00:16:07
Allerdings hab ich das bisherige Modul auch adaptiert damit es schneller geht, das muss ich aber mit Adam klären wegen dem Einchecken.
das wäre klasse, denn ich würde gerne die Aktualisierungen automatisch per Repository bekommen.

Zitat von: srxp am 17 Januar 2017, 00:16:07
Ja ob jemand auf das neue Modul umsteigen will bleibt jedem selbst überlassen. Falls das Interesse besteht kann ich meine weitere Entwicklung gerne hier Posten, falls nicht dann halt nicht. Es braucht sich keiner gezwungen fühlen mein Modul zu verwenden.
Die Vorteile des neuen modules bestehen im Prinzip darin dass das 300er Protokoll unterstützt wird und dass es non-blocking ausgeführt wird und somit Fhem nicht blockiert.
Da ich nicht nur eine Heizung auslese, werde ich Dein Modul mal auf einem System ausprobieren und berichten. Ich bin auf jeden Fall interessiert, m.E. wäre es schade, wenn eine solche Entwicklung irgendwo "versacken" würde. Ich wollte ich könnte so gut Perl programmieren wie Du  ;)

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

Moin srxp,

bitte nicht falsch verstehen, wir schätzen was Du hier machst !
Da das also 2 Module sind , kann jeder entscheiden was er macht ! Testen werde ich das auch schon mal !

Habe nur (immer) zu viele Baustellen  ;)
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

srxp

Guten Morgen,
@Peter:
Der Nachteil an der Adaption des VControls Moduls liegt allerdings darin, dass, wenn man alle Werte auf einmal abruft, je nachdem wieviel es sind, fhem dann für ein paar Sekunden blockiert ist. Was natürlich eher suboptimal ist. Deswegen hab ich auch das neue Modul geschaffen welches NonBlocking arbeitet. Allerdings kann man bei der alten Version einstellen wieviel Werte auf einmal abrufen soll, somit kann man das Blockieren etwas steuern.
Danke für die Blumen ;-)

@Peter:
schon okay :-)

@Adam:
hab anbei nochmal das adaptiere Modul anhängt...Vielleicht magst es dir ja mal anschaun und wenn alles okay ist aus deiner Sicht einchecken ins Repo.

Danke&lg

Stephan

postfux_at

Hallo srxp

Habe dein Modul mit dem 300er Protokoll seit gestern in Betrieb und muß sagen ich bin Begeistert!!

Zum auslesen meiner Werte habe ich bisher ~180 Sekunden gebraucht, mit
deinem Modul schaffe ich es in ~5 Sekunden!!

Habe mal testweise versucht  70 Werte abzufragen und in weniger als 7 Sekunden waren alle Ausgelesen.

Bisher konnte ich alle Werte auslesen und auch setzen funktioniert einwandfrei.
Das einzige das ich nicht hinbekommen habe ist folgendes, was aber mit dem alten Modul funktioniert hat.
neu:
POLL, 55D3, 1ByteU, state , Brenner , -

alt:
POLL, 01F755D301, 1ByteU, state , Brenner , -


Mit dem alten Modul habe ich bei dieser Adresse gesehen wenn der Brenner "on" ist, und das hat auch gestimmt.
Die Adresse liefert leider nicht nur 0 und 1 sonder verschiedene Werte alles > 0 dürfte Brenner "on" bedeuten.
Wollte deinen Code jetzt nicht umschreiben, und hab auch noch nicht mal geschaut wie das funktionieren könnten.
Vielleicht hast du ja einen Tipp wie ich das hinbekommen könnte!?

Danke für die tolle Arbeit währe super wenn das Modul ins Repository kommen würde!!!
LG Markus

ManfredC

Moin,

[quote author=postfux_at link=topic=20280.msg568459#msg568459 date=148526678
Bisher konnte ich alle Werte auslesen und auch setzen funktioniert einwandfrei.
Das einzige das ich nicht hinbekommen habe ist folgendes, was aber mit dem alten Modul funktioniert hat.
neu:
POLL, 55D3, 1ByteU, state , Brenner , -

alt:
POLL, 01F755D301, 1ByteU, state , Brenner , -

[/quote]

welche Regelung hast Du denn? Bei den diversen die ich hier habe, ist der Brennerstatus unter der Adresse 0842 zu finden. Auf der Seite https://openv.wikispaces.com/Adressen findet man bei Suche nach 55D3 Beiträge, wo es um die Brennerleistung geht. Versuch mal 0842 für den Status.

Hier die Beiträge aus dem openv Forum. Dieses Forum ist leider nicht sehr übersichtlich:

Rückgabewerte von getBrennerStatus?
l3u Oct 8, 2016

Hallo :-)

Ich habe die Regelung Vitotronic 200 H01B.

Mit dem Befehl "getBrennerStatus", der hier Adresse 55D3 ausliest, bekomme ich nicht nur "00" oder "01" zurück, sondern einige verschiedene Werte. Bisher hatte ich außerdem "1A", "1D", "24", "3A" und "64".

Bei jedem dieser Werte scheint der Brenner zu laufen, zumindest war auf dem Display das Flammensymbol zu sehen, und man hat gehört, dass das Gerät etwas tut.

Kann mir jemand sagen, was diese Rückgabewerte bedeuten? Bzw. gibt es irgendwo eine Datenpunktliste für diese Regelung?

Vielen Grüße
l3u Oct 9, 2016

Scheinbar sind die Rückgabewerte Prozente! Folgende Werte hatte ich:

hex: dec
1A: 26
1C: 28
23: 35
24: 36
26: 38
34: 52
3A: 58
43: 67
46: 70
59: 89
64: 100

Mehr als 100 war es noch nicht, und je länger ich die Werte aufzeichne, desto mehr füllen sich die "Lücken".

Gibt es irgendwo was "offizielles" zu der Adresse 55D3? So wie es aussieht ist das nicht "Läuft der Brenner?", sondern "Mit wie viel Prozent Leistung läuft der Brenner?" ...


Grüße,

Manfred

srxp

grüß euch,
also der wert für den brennerstaus sollte 2bytes haben und müsst ihr so abrufen. es wird naemlich leistung und status geliefert.

POLL,     A38F, 2ByteU_1stByte,         1, Brenner-Leistung         , -
POLL,     A38F, 2ByteU_2ndByte,     state, Brennerstatus            , -


statt a38f einfach mal 55d3 nehmen.

funkt das?

ich habe eine wo1b und kann das net testen aber es hat so bei nem andren forum leser funktioniert. steht eh ein paar posts vorher.

lg

postfux_at

Hallo

@ManfredC:
Ich habe eine Vitodens 200-W B2HB mit Vitotronic 200 (HO1B), und ja mit 8042 bekomme ich den Brennerstatus zurück danke!

@srxp:
Mit 55d3 2ndByte hats nicht geklappt für den Brennerstatus, da gibt es nicht nur 0 und 1, aber mit a38f 2ndByte bekomme ich den Brennerstatus.
Interessant ist das ich mit 55d3 1stByte eine "feiner abstufung" der Leistung erhalte als mit a38f.
POLL, A38F, 2ByteU_1stByte , 2       , BrennerLeistung  , -
POLL, A38F, 2ByteU_2ndByte , state   , BrennerStatus    , -
POLL, 55D3, 2ByteU_1stByte , 1       , BrennerLeistung-Fein  , -


Anbei ein Bild der Leistung Violett ist mit a38f und Dunkelrot mit 55d3

Nochmal ein Lob an deine ausgezeichnete Arbeit, dein Modul funktioniert prächtig!

Danke für eure hilfe

LG Markus

srxp

Hi Markus,
super...freut mich dass es nun klappt. :-)

lg

stephan

PS: danke für das Lob, hört man gerne ;-)

ManfredC

#1226
Hallo Stephan,

ich habe eine Vitocontrol 300GW2, die ich demnächst bei meinem Sohn einbauen will, weil dessen Regelung bis auf die Kesselsteuerung defekt ist.

Es ist eine Regelung für einen Kessel- und zwei Mischerkreise, Viessmann ID 20A5. Die Adressen für die Betriebsarten für die drei Kreise lassen sich entgegen den Angaben auf https://vito.rampro.de/nicht setzen, nur auslesen. Sie haben die gleiche Bedeutung wie bei meiner V200KW1:

Adressen 2301,3301,4301:

  • 0=Nur WW
  • 1=Dauernd Reduziert
  • 2=Dauernd Normal
  • 3=Heizen und WW
  • 4=Heizen und WW
  • 5=Abschaltbetrieb

Die Betriebsarten lassen sich aber über diese Adressen setzen, allerdings nur Abschalt,WW und WW+Heizen:

2320,3320,4320:

  • 0=Abschalt
  • 1=Nur WW
  • 2=Heizen und WW

Ich kann damit leben, es wäre allerdings schön wenn die Betriebsartanzeige richtig wäre, also mode=0 ausgewählt würde. Im Moment bekomme ich: "Aus","Nur_Warmwasser","Heizen_und_Warmwasser","NA","Reduziert","Normal","Abschaltbetrieb","Nur_Kuehlen", es wird also statt Heizen_und_Warmwasser NA angezeigt.   Selbst im Modul herum zu pfuschen hab ich mich nicht getraut  ;)

Die Vitocontrol 300GW2 geht übrigens auch mit dem 300er Protokoll.

Danke für Deine Arbeit, ist schon toll was in recht kurzer Zeit alles passiert ist.

Grüße,

Manfred

srxp

Hi Manfred,
also wenn ich es richtig verstanden habe müsste dein Problem lösbar sein indem du das Attribut "vitotronicType" auf "200_KWx" setzt.
Somit sollte er dann die richtigen Betriebsmodi anzeigen.


lg

stephan

ManfredC

Hi Stephan,

Zitat von: srxp am 25 Januar 2017, 10:33:23
Attribut "vitotronicType" auf "200_KWx" setzt.

danke, das wars. Ich hab schon nach einem Attribut gesucht, da es ein paar Seiten vorher erwähnt war. Aber manchmal hat man einfach ein Brett vorm Kopf, ich habs einfach in der Attributliste überlesen  >:(

Grüße,

Manfred

srxp