Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

Adam

ZitatDanke für deine Geduld, ich würde wahrscheinlich ausflippen.

Ja fänd es halt cool wenn es bei Allen vernünftig läuft  8)

Zitatam erneuten port opening liegt? Schliesst mein System vielleicht einfach die Verbindung nach einer Abfrage und das VCONTROL merkt es irgendwie nicht?

Tja gute Frage, aber wahrscheinlicher als das cfg nachladen.

Hast Du eigentlich das Attribut closedev gesetzt?

Muss mal schauen, was ich da noch einbauen kann.
Habe noch nicht verstanden, was bei einem Reload in FHEM alles durchlaufen wird.
Das wird aber heute leider nichts mehr und wird noch was dauern.
Jetzt musst Du noch was Geduld haben!  ;)

olli84

Lieber Adam,

geduld habe ich. Alles kein Problem. :)

Wenn es sich so nicht lösen lässt muss ich mir irgendwie einen Watchdog basteln, der mir das Reload laufen lässt.

Adam

Kannst du mir noch sagen ob du das Attribut closedev  gesetzt hast und auf welchen Wert?

olli84

natürlich. bisher war es nicht gesetzt.

hab es nun mal auf 1 gesetzt. Wenn Besserung eintritt melde ich mich. :)

olli84

ging schneller als gedacht:

2015.02.08 23:28:39 5: VCONTROL: VCONTROL_Read '05'
2015.02.08 23:28:39 4: VCONTROL: End of Poll ! Duration: 68.34
2015.02.08 23:28:39 3: VCONTROL: USB device closed
2015.02.08 23:30:31 5: SW: 04
2015.02.08 23:30:31 4: VCONTROL: Start of Poll !
2015.02.08 23:30:31 5: VCONTROL: set InternalTimer to 1423434811.38545
2015.02.08 23:33:31 5: SW: 04
2015.02.08 23:33:31 4: VCONTROL: Start of Poll !
2015.02.08 23:33:31 5: VCONTROL: set InternalTimer to 1423434991.38775


somit keinerlei unterschied zum ungesetzten closedev.

olli84

#620
Hallo Adam,

irgendwas stimmt bei mir nicht. Ich hab den Intervall mal probeweise auf 600 (=10 Minuten) gesetzt.

Trotzdem werden die Daten viel früher abgerufen:

2015.02.09 09:02:31 5: SW: 04
2015.02.09 09:02:31 4: VCONTROL: Start of Poll !
2015.02.09 09:02:31 5: VCONTROL: set InternalTimer to 1423469551.49632
2015.02.09 09:02:33 5: VCONTROL_READ
2015.02.09 09:09:52 5: SW: 04
2015.02.09 09:09:52 4: VCONTROL: Start of Poll !
2015.02.09 09:09:52 5: VCONTROL: set InternalTimer to 1423469992.64269
2015.02.09 09:09:52 5: VCONTROL_READ
2015.02.09 09:12:31 5: SW: 04
2015.02.09 09:12:31 4: VCONTROL: Start of Poll !
2015.02.09 09:12:31 5: VCONTROL: set InternalTimer to 1423470151.49882
2015.02.09 09:12:32 5: VCONTROL_READ


komisch, oder? Mit dem 600er Intervall läufts jetzt auch schon ne Weile, nur was stimmt da nicht? Mir scheint fast es gibt noch ein zweites VCONTROL oder so...?

Adam

#621
Noch ein Versuch, mache jetzt nach jedem Poll ein DevIo_OpenDev und sende das 0x04.

Attrib closedev auf 0 setzen und init_every_poll auf 1!

Bitte mal testen.
Adam

olli84

Hallo Adam,

leider gar keinen Erfolg mehr:

2015.02.09 20:34:42 5: VCONTROL: VCONTROL_Read 'ff'
2015.02.09 20:34:43 3: VCONTROL: Define open DATEI 'V200KW1.cfg'
2015.02.09 20:34:43 3: VCONTROL: open DATEI 'V200KW1.cfg'
2015.02.09 20:34:43 3: VCONTROL: DATEI 'V200KW1.cfg' refreshed
2015.02.09 20:34:43 3: VCONTROL opening VCONTROL device /dev/ttyUSB1
2015.02.09 20:34:43 3: VCONTROL opened VCONTROL device /dev/ttyUSB1
2015.02.09 20:34:43 5: SW: 04
2015.02.09 20:34:43 3: VCONTROL: Initialization
2015.02.09 20:34:43 5: VCONTROL set InternalTimer +1 to 1423510484.32946
2015.02.09 20:34:44 1: /dev/ttyUSB1 reappeared (Vito200)
2015.02.09 20:34:44 5: SW: 04
2015.02.09 20:34:44 3: VCONTROL: Initialization
2015.02.09 20:34:44 4: VCONTROL: Start of Poll !
2015.02.09 20:34:44 5: VCONTROL: set InternalTimer to 1423510664.3359
2015.02.09 20:34:44 5: VCONTROL_READ
2015.02.09 20:34:44 5: VCONTROL: VCONTROL_Read '66'
2015.02.09 20:34:44 5: VCONTROL_READ
2015.02.09 20:34:44 5: VCONTROL: VCONTROL_Read '00'
2015.02.09 20:34:44 5: VCONTROL_READ
2015.02.09 20:34:44 5: VCONTROL: VCONTROL_Read 'ff'
2015.02.09 20:34:47 5: VCONTROL_READ
2015.02.09 20:34:47 5: VCONTROL: VCONTROL_Read '66'
2015.02.09 20:34:47 5: VCONTROL_READ
2015.02.09 20:34:47 5: VCONTROL: VCONTROL_Read '00'
2015.02.09 20:34:47 5: VCONTROL_READ
2015.02.09 20:34:47 5: VCONTROL: VCONTROL_Read 'ff'
2015.02.09 20:34:49 5: VCONTROL_READ
2015.02.09 20:34:49 5: VCONTROL: VCONTROL_Read '66'
2015.02.09 20:34:49 5: VCONTROL_READ


so gehts dann einfach weiter...

das reappeared kommt dann bei jedem poll.

Adam


Adam

#624
Das ist jetzt leider Trial and Error: noch ein Versuch, Close + Open + Init 0x04.

Bitte noch ein Test.

olli84

Hallo Adam,

die geht auch nicht. Die Heizung bleibt auf initialized stehen und ich habe ein neues reading

state opened

Die Log sieht aus wie in meinem letzten Post, egal ob close oder init gesetzt ist oder nicht.

Mit dem aktuellem, aus dem update, werden zumindest die Daten abgerufen - mal schauen wie lang...

Ich kann einfach nicht glauben dass das Problem an dem aktiven USB Kabel liegen soll... Auf dem System ist das ding ja permanent vorhanden...

Adam

ZitatIch kann einfach nicht glauben dass das Problem an dem aktiven USB Kabel liegen soll... Auf dem System ist das ding ja permanent vorhanden...

Ich eigentlich auch nicht, ich nutze auch so ein Kabel, jedoch an Windows.
Probleme gab es meistens nur bei USB auf LAN Umsetzungen.

Also noch mal auf Anfang, wenn Du das ursprüngliche Modul nutzt, es zu einem Hänger kommt und Du dann ein reload des VCONTROL.pm machst,
dann wird wieder weitergelesen?

Dann muss ich doch mal das reload aus fhem.pl versuchen zu verstehen.  ???

olli84

Guten Morgen Adam,

nicht ganz. Bei einem einfachen "reload 89_VCONTROL.pm" kommen folgende Meldungen im Log:

2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_Initialize redefined at ./FHEM/89_VCONTROL.pm line 104.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_Define redefined at ./FHEM/89_VCONTROL.pm line 126.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_Undef redefined at ./FHEM/89_VCONTROL.pm line 254.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_Poll redefined at ./FHEM/89_VCONTROL.pm line 276.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_Shutdown redefined at ./FHEM/89_VCONTROL.pm line 297.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_SetState redefined at ./FHEM/89_VCONTROL.pm line 305.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_Clear redefined at ./FHEM/89_VCONTROL.pm line 312.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_DoInit redefined at ./FHEM/89_VCONTROL.pm line 331.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_Read redefined at ./FHEM/89_VCONTROL.pm line 362.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_Parse redefined at ./FHEM/89_VCONTROL.pm line 545.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_Ready redefined at ./FHEM/89_VCONTROL.pm line 689.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_Set redefined at ./FHEM/89_VCONTROL.pm line 745.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_Get redefined at ./FHEM/89_VCONTROL.pm line 815.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_CmdConfig redefined at ./FHEM/89_VCONTROL.pm line 857.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_1ByteUParse redefined at ./FHEM/89_VCONTROL.pm line 955.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_1ByteSParse redefined at ./FHEM/89_VCONTROL.pm line 977.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_2ByteUParse redefined at ./FHEM/89_VCONTROL.pm line 985.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_2ByteSParse redefined at ./FHEM/89_VCONTROL.pm line 993.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_2BytePercentParse redefined at ./FHEM/89_VCONTROL.pm line 1001.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_4ByteParse redefined at ./FHEM/89_VCONTROL.pm line 1009.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_ModeParse redefined at ./FHEM/89_VCONTROL.pm line 1018.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_timerParse redefined at ./FHEM/89_VCONTROL.pm line 1026.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_DateParse redefined at ./FHEM/89_VCONTROL.pm line 1059.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_1ByteUConv redefined at ./FHEM/89_VCONTROL.pm line 1085.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_1ByteSConv redefined at ./FHEM/89_VCONTROL.pm line 1091.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_1ByteUx10Conv redefined at ./FHEM/89_VCONTROL.pm line 1103.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_2ByteUConv redefined at ./FHEM/89_VCONTROL.pm line 1109.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_2ByteSConv redefined at ./FHEM/89_VCONTROL.pm line 1116.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_DateConv redefined at ./FHEM/89_VCONTROL.pm line 1127.
2015.02.10 10:22:12 1: PERL WARNING: Subroutine VCONTROL_TimerConv redefined at ./FHEM/89_VCONTROL.pm line 1156.


Ändern tut sich jedoch nichts, der Poll läuft weiterhin ins leere.

Erst durch ein druck auf DEF und dem folgenden "modify Vito200" (so ist meine Heizung definiert) folgt ein neueinlesen der V200KW1.cfg sowie ein sofortiges Abrufen der Werte. Das kann ich auch Tage oder Wochen nach dem letzten erfolgreichen abrufen machen, die neuen Werte sind sofort da. Somit kann ich ein Problem des USB-Kabels eigentlich ausschliessen.

2015.02.10 10:33:19 3: VCONTROL: Define open DATEI 'V200KW1.cfg'
2015.02.10 10:33:19 3: VCONTROL: open DATEI 'V200KW1.cfg'
2015.02.10 10:33:19 3: VCONTROL: DATEI 'V200KW1.cfg' refreshed
2015.02.10 10:33:19 3: VCONTROL opening VCONTROL device /dev/ttyUSB1
2015.02.10 10:33:19 3: VCONTROL opened VCONTROL device /dev/ttyUSB1
2015.02.10 10:33:19 5: SW: 04
2015.02.10 10:33:19 3: VCONTROL: Initialization
2015.02.10 10:33:19 5: VCONTROL set InternalTimer +1 to 1423560800.17718


Theoretisch (!) wäre es für mich also am einfachsten das Modul würde einmal die Stunde die V200KW1.cfg neu einlesen, bzw. das tun was dann noch alles passiert.

Adam

jaja sowas schwebt mir auch vor, aber dafür muss ich erst verstehen, was bei dem modify von fhem selber alles aufgerufen wird!
Schaue ich mir heute abend mal an, ob ich das rausfinde!

Adam

#629
Hi Olli ich hoffe Du bleibst testwillig  ::)
Habe da noch was versucht:

Wieder bitte: Attrib closedev auf 0 setzen und init_every_poll auf 1!

(Habe hier kein Testsystem, hoffe ich habe keinen Syntax Fehler eingebaut!)