Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

salvadore

Hallo Adam,
ja ich kann den Blau-Brenner hören. Habe gerade wie von Dir gefragt, einen Test gemacht. Wenn der Brenner anspringt, kam jetzt der Wert 1b=27 und dann 16=16. Vorher hatte ich den Loglevel noch auf 3 und da kam wieder die 43. Die Zeile in der cfg ist unverändert. Hilft Dir das?
Gruss
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

#361
Hi salvadore,

wurde in dem Log wo 1B steht die 16 geloggt? Dann wäre 16 -> 22, sonst müsste da 10 -> 16 gestanden haben.
War bei der 16 der Brenner zu hören oder nicht?


Bit Position 12345678
2B -> 43 ->  00101011 -> on
1B -> 27 ->  00011011 -> on
18 -> 24 ->  00011000 -> off
16 -> 22 ->  00010110 -> on
10 -> 16 ->  00010000 -> off
00 -> 00 ->  00000000 -> off


Hmmm. Bin noch nicht überzeugt.

Wird denn bei Dir der Wert Brennerstarts sinnvoll ermittelt?
Man könnte sonst mal mehrere Stunden (einen Tag) mit hohem Loglevel (verbose 5) loggen,
die ganzen Werte für den Brennerzustand raussuchen und mit den Brennerstarts vergleichen !?!?

Adam

salvadore

Hallo Adam,
erst mal herzlichen Dank für Deine Bemühungen.
Ich habe jetzt mal einen anderen FHEM-Server eingerichtet und da nur das VCONTROL Modul installiert. Will damit die Zahl der Log Einträge dezimieren. Ein Problem habe ich natürlich, bei den momentanen Wetterverhältnissen springt die Heizung erfahrungsgemäß ein- zweimal in 24 Stunden an, müssen wir dann mal sehen.

Ich hatte weiterhin das auf der openv Seite zu findende Windows-Programm vControl installiert und Adapter angeschlossen. Es wird darin über ein grünes Symbol und die Anzeige der Brennerleistung der Brennerzustand angezeigt.
Das Programm loggt neben einer cvs-Datei eine txt. Darin werden u.a. die Adressen auf die zugegriffen wird, aufgezeichnet. Beim Vergleichen mit der VCONTROLL.cfg bleiben die Adressen 0x0A81, 0xA80 und 0xA406, die ich nicht zuordnen kann.  Vielleicht hilft das?!.

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,

salvadore

@Adam
auf der Konsole kommt folgender Hinweis wenn ich die fhem-log aufrufen möchte und fhem lässt sich nicht mehr aufrufen:

Can't call method "close" on an undefined value at ./FHEM/99_VCONTROL.pm line 354.

Sagt Dir das was?

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

Moin Moin,

ne sorry, das Problem ist mir nicht bekannt.
An der Stelle wird versucht ein expliziten "close" auf die USB Schnittstelle zu machen, um wieder neu aufzusetzen.
Bisher gab es da bei keinem Probleme?? Vielleicht mal den USB Stecker noch mal abziehen und wieder stecken?

Die Bezeichnungen zu den Adressen sagen mir nicht viel, vielleicht mal konfigurieren und schauen was zurück kommt:

AE_Eingang1~0x0A80  -> scheint ein On/Off Wert zu sein -> mal als 1Byte wie Brenner konfigurieren
AE_Eingang2~0x0A81  -> scheint ein On/Off Wert zu sein -> mal als 1Byte wie Brenner konfigurieren
nvoHCC1_EffRoomSetpt~0xA406 -> ist wohl eine Temperatur -> mal als 2Byte wie Temp-Aussen konfigurieren

Adam

salvadore

Hall Adam,
nach weiteren Versuchen bin ich folgendem Stand:

die Adresse 0xA38F beinhaltet die Brennerleistung und wird wie folgt im Log eingetragen

2014.07.24 12:44:10 4: eventTypes: VCONTROL Vito200 Brenner: 456 -> Brenner: .*
2014.07.24 12:44:10 5: Notify loop for Vito200 Brenner: 456
2014.07.24 12:44:10 5: Triggering Vito200 (1 changes)
2014.07.24 12:44:10 5: VCONTROL: receive 'Brenner : 456'
2014.07.24 12:44:10 5: VCONTROL: VCONTROL_Read 'c801'
2014.07.24 12:44:10 5: VCONTROL_READ
2014.07.24 12:44:10 5: SW: 01f7a38f02
2014.07.24 12:44:10 5: VCONTROL: send '01F7A38F02'

Mehrere Versuche haben immer den gleichen Eintrag ergeben. Und das habe ich in der cfg eingetragen:

POLL, 01F7A38F02, 2ByteU, 1     , Brenner             , -

Könnte man jetzt hergehen und sagen, wenn der Wert > 001 ist, ist der Brenner an ?
Zumindest solange, bis die Adresse für die Statusabfrage zur Anlage VPlusH01 bekannt ist.

Der Konsolenhinweis ist bisher nicht mehr aufgetreten, habe aber auch einen Neustart gemacht.



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

ZitatKönnte man jetzt hergehen und sagen, wenn der Wert > 001 ist, ist der Brenner an ?

Das weiss ich nicht, ich würde beide Werte Brennerleistung und die Adressen die wir vorher hatten,
mal über einen Tag im Log vergleichen!

Adam

Ach eins noch,
eigentlich müsste 0xA38F ein Prozent Wert zwischen 0 und 100 sein! (456 scheint mir nicht OK)

Probier doch mal 2BytePercent in der Konfiguration!

POLL, 01F7A38F02, 2BytePercent , 1     , Brenner             , -

salvadore

@Adam
Gut das Dir das eingefallen ist. Ich habe die cfg geändert und das ergibt sich:

beim Ausschalten des Brenners

2014.07.24 17:17:52 5: VCONTROL: receive 'Brenner_0xA38F : 0'
2014.07.24 17:17:52 5: VCONTROL: VCONTROL_Read '0000'
2014.07.24 17:17:52 5: VCONTROL_READ
2014.07.24 17:17:52 5: SW: 01f7a38f02
2014.07.24 17:17:52 5: VCONTROL: send '01F7A38F02'

beim Einschalten des Brenners

2014.07.24 16:57:47 5: VCONTROL: receive 'Brenner_0xA38F : 1'
2014.07.24 16:57:47 5: VCONTROL: VCONTROL_Read 'c801'
2014.07.24 16:57:47 5: VCONTROL_READ
2014.07.24 16:57:47 5: SW: 01f7a38f02
2014.07.24 16:57:47 5: VCONTROL: send '01F7A38F02'
2014.07.24 17:02:55 5: SW: 01f7a38f02
2014.07.24 17:02:55 5: VCONTROL: send '01F7A38F02'

Wenn ich dann noch state anstelle der 1 verwende, kommt dieser Hinweis auf der Konsole

Argument "state" isn't numeric_VCONTROL.pm line 954.
Illegal division by zero at ./FHEM/99_VCONTROL.pm li

FHEM hängt sich auf und muss neu gestartet werden. Hast Du hier auch eine Idee?
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

state geht nur bei 1ByteU und 1ByteS, da musst Du mit 1 bei divisor leben.
Und dann halt mit 0/1 statt off/on. Aber kann man ja auch plotten!

Aber:
Ich dachte das wäre die Brennerleistung??? Da kommt nur 0 oder 1 ? Das wäre seltsam.

Adam

ne, ich glaube jetzt verstehe ich !!!!!!


ID                                  BlockLength BytePosition ByteLength Conversion

nvoPWRState_CFDM_state~0xA38F         2             1              1          -
nvoPWRState_CFDM_value~0xA38F        2             0              1          Div2


Bei der Adresse bekommt man 2 Byte zurück
im vorderen Byte (0) ist der value, also die Leistung geteilt durch 2
im hinteren Byte (1) ist der state, also 0 oder 1, also off oder on

Aus Deinem Log ist das dann:
0000 -> 00 off und 00 %
c801 -> 01 on und c8 -> 200/2 -> 100%


D.h. um beide Werte zu bekommen müsste folgende Konfig funktionieren:


POLL, 01F7A38F02, 2BytePercent , 1     , Brenner          , -
POLL, 01F7A38F01, 1ByteU       , 2     , Brennerleistung  , -


Ansonsten müsste ich eine neue Parse Methode implementieren, die Aus einer Adresse zwei Readings füllt!?

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,

salvadore

und so sieht der Logeintrag aus:

2014.07.24 18:43:00 5: VCONTROL: receive 'Brennerleistung : 100'
2014.07.24 18:43:00 5: VCONTROL: VCONTROL_Read 'c8'
2014.07.24 18:43:00 5: VCONTROL_READ
2014.07.24 18:43:00 5: SW: 01f7a38f01
2014.07.24 18:43:00 5: VCONTROL: send '01F7A38F01'
2014.07.24 18:43:00 5: VCONTROL: Setze sendstr
2014.07.24 18:43:00 5: VCONTROL: VCONTROL_Read '05'
2014.07.24 18:43:00 5: VCONTROL_READ
2014.07.24 18:42:57 4: eventTypes: VCONTROL Vito200 Brenner: 1 -> Brenner: .*
2014.07.24 18:42:57 5: Notify loop for Vito200 Brenner: 1
2014.07.24 18:42:57 5: Triggering Vito200 (1 changes)
2014.07.24 18:42:57 5: VCONTROL: receive 'Brenner : 1'
2014.07.24 18:42:57 5: VCONTROL: VCONTROL_Read '01'
2014.07.24 18:42:57 5: VCONTROL_READ
2014.07.24 18:42:57 5: VCONTROL: VCONTROL_Read receive_len < 4, c8
2014.07.24 18:42:57 5: VCONTROL: VCONTROL_Read 'c8'
2014.07.24 18:42:57 5: VCONTROL_READ
2014.07.24 18:42:57 5: SW: 01f7a38f02
2014.07.24 18:42:57 5: VCONTROL: send '01F7A38F02'

PERFEKT!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Jetzt kann es ja weitergehen. Soll ich die cfg für meine Anlage VPlusH01 hier einstellen ?
Auf jeden Fall ein herzliches Dankeschön für die tolle Unterstützung, alleine hätte ich das nicht geschafft.

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

#373
@salvadore:

Ja super  ;D
Ja wenn Du eine lauffähige CFG hast , kannst Du das gern tun.
Ich würde sie dann als Beispiel Datei mit in den ersten Post übernehmen.

Du könntest also die folgenden Adressen auch versuchen auszulesen,
die sind in der XML Datei in der gleichen section:

VPlusHO1         
         nvoProdCState_Speicher_CFDM
         nvoPWRState_CFDM_state
         nviSetpoint_CFDM
         nviApplicMode_CFDM
         nviProdCmd_CFDM_state
         nvoPWRState_CFDM_value
         nvoProdCState_SP_CFDM
         nvoEffectSetpt_CFDM
         nvoSupplyTemp_CFDM
         nvoProdCState_HarteSperre_CFDM
         nviProdCmd_CFDM_value
         nvoProdCState_Fehler_CFDM


@all:

Wer hat noch eine eigene lauffähige CFG, für welchen Anlagentyp?
Wir könnten mal sammeln und ich könnte diese im ersten Post als Beispieldateien anhängen!

Adam

blitzcom

Hallo zusammen,

ich hoffe, dass das hier nicht nur ein reiner Entwicklerthread ist. Denn in dem Fall würde ich auch mit meiner Frage hoffnungslos unterfordern:-)
Worum geht es:

Erstmal finde ich das sehr geil, das es jetzt auch möglich ist die Viessmänner auf den FHEM zu bringen!
Ich bin nicht ganz so linuxerfahren und und habe nun folgendes Problem:
Ich habe einen Raspi mit firsch inst. Wheezy und FHEM. Meine Viessmann ist über einen RS232 (selbstgebaut) an dem Raspi angeschlossen. Bei einer vorherigen Installation konnte ich per ser2net sauber von meinem Windows PC auf die Schnittstelle zugreifen. Der Adapter geht also.

Ich habe nun die beiden ersten Datein in die entsprechenden Verzeichnisse unter FHEM kopiert.
Sobald ich aber den Befehl: define Heizung  VCONTROL /dev/ttyUSB3 99_VCONTROL.cfg 180 in der Kommandozeile absetze, meldet er mir, Verzeichnis nicht gefunden.
Zudem kann ttyUSB3 ja bei mir auch nicht stimmen, aber ich komme einfach nicht mehr auf den Befehl mit dem ich mir die Schnittstellen anzeigen lassen kann.

Könnt ihr mir helfen?
Ich weiss, ich weiss... mir kann man eh nicht mehr helfen:-)))

mfg
Mike