Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

srxp

HI Jens,
wie lautet denn deinen kompletten define string plus attribute sowie könntest bitte mal deine cfg datei auch reinstellen?

Achja toll wäre wenn du ein log mit verbose 5 machen könntest :-)

danke&lg

stephan

srxp

Hallo nochmal,
ich habs jetzt bei mir auch mal direkt mit dem USB port ausprobiert...ich habe die gleichen Probleme wie ihr finde aber keinen Fehler in meinem Sourcecode.
Ich vermute dass es etwas mit den Parametern der seriellen Verbindung zu tun hat bzw. mit dem DevIO Modul.
Aber vielleicht hab ich ja doch wo nen denkfehler und jemand anders findet ihn :-)

Wäre cool wenn ihr es mal mit ser2net probieren könntet ob es dann funkt...so verwende ich es nämlich auch.

einfach mit apt-get install ser2net installieren und dann
in die ser2net config folgende Zeilen einfügen:
#Optolink
4001:raw:600:/dev/ttyOptolink:4800 EVEN 2STOPBITS 8DATABITS LOCAL -RTSCTS -XONXOFF

4001 ist der port den ihr dann inkl. der ip adresse in fhem angeben müsst.
/dev/ttyOptolink ist der optolink usb port....heißt bei euch vermutlich /dev/ttyUSBx

und dann ser2net nochmal neu starten.


in fhem gebt ihr dann anstatt /dev/ttyUSBx die ip adresse des servers an dort wo ser2net läuft und den port also z.B.
127.0.0.1:4001

lg

stephan


mmi

Hi Stephan,

ich habs mit ser2net über den selben Host (localhost) ausprobiert. Die USB disconnect Meldungen sind natürlich weg, da dies nun durch ser2net maskiert wird.

Bei mir ist es so, dass immer ein Poll funktioniert, und einige darauf folgende Polls nicht funktionieren. Das war gestern mit der direkten USB Anbindung so, und ist auch mit der indirekten Anbindung via ser2net so geblieben.

Mit ser2net sieht das so aus (Poll alle 90s):

2016.12.30 12:07:36 4: VCONTROL300: Update done!
2016.12.30 12:09:09 4: VCONTROL300: End of polling values! Duration: 3.88
2016.12.30 12:09:10 4: VCONTROL300: Update done!
2016.12.30 12:10:36 4: VCONTROL300: End of polling values! Duration: 0.01
2016.12.30 12:10:36 4: VCONTROL300: Update done!
2016.12.30 12:12:10 4: VCONTROL300: End of polling values! Duration: 3.91
2016.12.30 12:12:10 4: VCONTROL300: Update done!
2016.12.30 12:13:36 4: VCONTROL300: End of polling values! Duration: 0.01
2016.12.30 12:13:36 4: VCONTROL300: Update done!
2016.12.30 12:15:09 4: VCONTROL300: End of polling values! Duration: 3.27
2016.12.30 12:15:09 4: VCONTROL300: Update done!
2016.12.30 12:16:36 4: VCONTROL300: End of polling values! Duration: 0.01
2016.12.30 12:16:36 4: VCONTROL300: Update done!
2016.12.30 12:18:09 4: VCONTROL300: End of polling values! Duration: 3.79
2016.12.30 12:18:10 4: VCONTROL300: Update done!
2016.12.30 12:19:36 4: VCONTROL300: End of polling values! Duration: 0.01
2016.12.30 12:19:36 4: VCONTROL300: Update done!


Zum Vergleich - mit direkter USB Anbindung war das gestern so:

2016.12.29 19:28:00 4: VCONTROL300: End of polling values! Duration: 0.01
2016.12.29 19:28:00 4: VCONTROL300: Update done!
2016.12.29 19:29:40 4: VCONTROL300: Update aborted!
2016.12.29 19:31:10 4: VCONTROL300: Update aborted!
2016.12.29 19:32:33 4: VCONTROL300: End of polling values! Duration: 3.03
2016.12.29 19:32:33 4: VCONTROL300: Update done!
2016.12.29 19:34:00 4: VCONTROL300: End of polling values! Duration: 0.01
2016.12.29 19:34:00 4: VCONTROL300: Update done!
2016.12.29 19:35:40 4: VCONTROL300: Update aborted!
2016.12.29 19:37:10 4: VCONTROL300: Update aborted!
2016.12.29 19:38:33 4: VCONTROL300: End of polling values! Duration: 2.97
2016.12.29 19:38:33 4: VCONTROL300: Update done!
2016.12.29 19:40:00 4: VCONTROL300: End of polling values! Duration: 0.01
2016.12.29 19:40:00 4: VCONTROL300: Update done!
2016.12.29 19:41:40 4: VCONTROL300: Update aborted!
2016.12.29 19:43:10 4: VCONTROL300: Update aborted!
2016.12.29 19:44:33 4: VCONTROL300: End of polling values! Duration: 2.94
2016.12.29 19:44:33 4: VCONTROL300: Update done!
2016.12.29 19:46:00 4: VCONTROL300: End of polling values! Duration: 0.01
2016.12.29 19:46:00 4: VCONTROL300: Update done!
2016.12.29 19:47:40 4: VCONTROL300: Update aborted!
2016.12.29 19:49:10 4: VCONTROL300: Update aborted!
2016.12.29 19:50:33 4: VCONTROL300: End of polling values! Duration: 3.04
2016.12.29 19:50:33 4: VCONTROL300: Update done!
2016.12.29 19:52:00 4: VCONTROL300: End of polling values! Duration: 0.01
2016.12.29 19:52:00 4: VCONTROL300: Update done!
2016.12.29 19:53:40 4: VCONTROL300: Update aborted!


Ein fehlgeschlagener Poll mit ser2net scheitert immer hieran:

2016.12.30 12:25:36 5: VCONTROL300: Set InternalTimer to 1483097226.09243
2016.12.30 12:25:36 3: VCONTROL300: TCP connection opened
2016.12.30 12:25:36 3: Opening Heizung device 127.0.0.1:4001
2016.12.30 12:25:36 3: Heizung device opened
2016.12.30 12:25:36 4: VCONTROL300: Start of update...
2016.12.30 12:25:36 4: VCONTROL300: Start of polling values...
2016.12.30 12:25:36 5: VCONTROL300: Waiting for sync byte...
2016.12.30 12:25:36 5: SW: 04
2016.12.30 12:25:36 5: VCONTROL300: Did not receive init response, but 06
2016.12.30 12:25:36 4: VCONTROL300: End of polling values! Duration: 0.01
2016.12.30 12:25:36 4: VCONTROL300: Update done!
2016.12.30 12:25:36 3: VCONTROL300: TCP connection closed
2016.12.30 12:25:36 5: VCONTROL300: Undef set_cmd_list_values!


Ich hab mal das fhem Log für die letzten paar Polls angehängt - ich hoffe, dass es Dir hilft.

srxp

Hi mmi,
danke für die Logs.
probier mal diese Version hier.

Was für einen Optolink Adapter verwendest du?

Bekommst du mit dem bisherigen Modul VCONTROL eigentlich regelmäßig, also laut deinem Intervall, korrekte Daten oder gibts da auch Probleme?

lg

stephan

mmi

Hi,

damit hat sich leider nichts geändert. Ich nutze einen original Viessmann Optolink Adapter. Mit der Version von Adam und Deiner erweiterten Version ohne Nutzung des Blocking Moduls funktioniert alles super - Poll alle 90s, Readings werden immer zurückgeliefert.

Hier nochmal ein Logauszug von nicht funktionierenden Polls (alles wieder via USB). Zuletzt folgte dann wieder ein Poll, der durchlief.

VCONTROL300: Set InternalTimer to 1483104544.39683
2016.12.30 14:27:34 3: VCONTROL300: USB connection opened
2016.12.30 14:27:34 3: Opening Heizung device /dev/ttyUSB0
2016.12.30 14:27:34 3: Setting Heizung serial parameters to 4800,8,E,2
2016.12.30 14:27:34 3: Heizung device opened
2016.12.30 14:27:34 4: VCONTROL300: Start of update...
2016.12.30 14:27:34 4: VCONTROL300: Start of polling values...
2016.12.30 14:27:34 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:27:34 5: SW: 04
2016.12.30 14:27:35 4: VCONTROL300: Did not receive init response, but 06
2016.12.30 14:27:35 4: VCONTROL300: End of polling values! Duration: 1.01
2016.12.30 14:27:35 4: VCONTROL300: Update done!
2016.12.30 14:27:35 3: VCONTROL300: USB device closed
2016.12.30 14:27:35 5: VCONTROL300: Undef set_cmd_list_values!
2016.12.30 14:29:04 5: VCONTROL300: Set InternalTimer to 1483104634.40318
2016.12.30 14:29:04 3: VCONTROL300: USB connection opened
2016.12.30 14:29:04 3: Opening Heizung device /dev/ttyUSB0
2016.12.30 14:29:04 3: Setting Heizung serial parameters to 4800,8,E,2
2016.12.30 14:29:04 3: Heizung device opened
2016.12.30 14:29:04 4: VCONTROL300: Start of update...
2016.12.30 14:29:04 4: VCONTROL300: Start of polling values...
2016.12.30 14:29:04 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:29:04 5: SW: 04
2016.12.30 14:29:05 1: /dev/ttyUSB0 disconnected, waiting to reappear (Heizung)
2016.12.30 14:29:06 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:29:06 5: SW: 04
2016.12.30 14:29:07 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:29:07 5: SW: 04
2016.12.30 14:29:08 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:29:08 5: SW: 04
2016.12.30 14:29:09 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:29:09 5: SW: 04
2016.12.30 14:29:10 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:29:10 5: SW: 04
2016.12.30 14:29:11 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:29:11 5: SW: 04
2016.12.30 14:29:12 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:29:12 5: SW: 04
2016.12.30 14:29:13 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:29:13 5: SW: 04
2016.12.30 14:29:14 1: Timeout for VCONTROL300_DoUpdate reached, terminated process 27894
2016.12.30 14:29:14 4: VCONTROL300: Update aborted!
2016.12.30 14:29:14 2: VCONTROL300: USB device closed
2016.12.30 14:29:14 5: VCONTROL300: Undef set_cmd_list_values!
2016.12.30 14:30:34 5: VCONTROL300: Set InternalTimer to 1483104724.40774
2016.12.30 14:30:34 3: VCONTROL300: USB connection opened
2016.12.30 14:30:34 3: Opening Heizung device /dev/ttyUSB0
2016.12.30 14:30:34 3: Setting Heizung serial parameters to 4800,8,E,2
2016.12.30 14:30:34 3: Heizung device opened
2016.12.30 14:30:34 4: VCONTROL300: Start of update...
2016.12.30 14:30:34 4: VCONTROL300: Start of polling values...
2016.12.30 14:30:34 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:30:34 5: SW: 04
2016.12.30 14:30:35 1: /dev/ttyUSB0 disconnected, waiting to reappear (Heizung)
2016.12.30 14:30:36 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:30:36 5: SW: 04
2016.12.30 14:30:37 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:30:37 5: SW: 04
2016.12.30 14:30:38 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:30:38 5: SW: 04
2016.12.30 14:30:39 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:30:39 5: SW: 04
2016.12.30 14:30:40 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:30:40 5: SW: 04
2016.12.30 14:30:41 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:30:41 5: SW: 04
2016.12.30 14:30:42 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:30:42 5: SW: 04
2016.12.30 14:30:43 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:30:43 5: SW: 04
2016.12.30 14:30:44 1: Timeout for VCONTROL300_DoUpdate reached, terminated process 28184
2016.12.30 14:30:44 4: VCONTROL300: Update aborted!
2016.12.30 14:30:44 2: VCONTROL300: USB device closed
2016.12.30 14:30:44 5: VCONTROL300: Undef set_cmd_list_values!
2016.12.30 14:32:04 5: VCONTROL300: Set InternalTimer to 1483104814.41444
2016.12.30 14:32:04 3: VCONTROL300: USB connection opened
2016.12.30 14:32:04 3: Opening Heizung device /dev/ttyUSB0
2016.12.30 14:32:04 3: Setting Heizung serial parameters to 4800,8,E,2
2016.12.30 14:32:04 3: Heizung device opened
2016.12.30 14:32:04 4: VCONTROL300: Start of update...
2016.12.30 14:32:04 4: VCONTROL300: Start of polling values...
2016.12.30 14:32:04 4: VCONTROL300: Waiting for sync byte...
2016.12.30 14:32:04 5: SW: 04
2016.12.30 14:32:05 4: VCONTROL300: Received sync byte!
2016.12.30 14:32:05 5: SW: 160000
2016.12.30 14:32:05 4: VCONTROL300: Init status ok
2016.12.30 14:32:05 5: VCONTROL300: Send 4105000108080218

srxp

Hi,
Aaah ich glaub ich weiss es schon. Melde mich wieder.

Lg

srxp

#1146
So ich denke jetzt hab ich den Fehler gefunden und behoben.
Bei mir funkt es jetzt jedenfalls mit der direkten USB Verbindung.
Es war einfach das Timeout zwischen Senden des 0x04 für Request Sync Byte und des Empfangens des 0x05 Sync Bytes zu gering. Manchmal ging es sich aus, manchmal nicht.
Die Vitotronic schickt das 0x05 ja nur alle 2 Sekunden.
Bei bisherigen Modul bestand das Problem nicht da ja immer nur auf eine Antwort reagiert wurde.
Bitte mal testen ob es bei euch nun auch funkt.

lg

stephan

mmi

Hi Stephan,

hat leider auch nicht zu 100% geklappt:


2016.12.31 10:02:42 4: VCONTROL300: Start of update...
2016.12.31 10:02:42 4: VCONTROL300: Start of polling values...
2016.12.31 10:02:42 4: VCONTROL300: Waiting for sync byte...
2016.12.31 10:02:42 5: SW: 04
2016.12.31 10:02:43 4: VCONTROL300: Did not receive sync byte after 1 retries!'
2016.12.31 10:02:43 4: VCONTROL300: End of polling values! Duration: 1.01
2016.12.31 10:02:43 4: VCONTROL300: Update done!
2016.12.31 10:02:43 3: VCONTROL300: USB device closed
2016.12.31 10:02:43 5: VCONTROL300: Undef set_cmd_list_values!


Davor gab es aber direkt einen erfolgreichen Poll.

Beim Durchschauen ist mir aufgefallen, dass die Statistik-Readings umbenannt wurden (*Day -> *_Today etc.). Kann man die wieder in das alte Format bringen, das wäre mir für einheitliches konsistentes Logging wichtig.

Und dann ist noch die Sache mit der selbstdefinierten setlist, die vom Modul momentan nicht mehr unterstützt wird. Mit der alten Version fand ich das Definieren einer eigenen setlist am Anfang schon umständlich. Aber es hat im Nachhinein auch einen Vorteil - mit eigener setlist kann man die Parameterbereiche vorgeben (z.B. Temperaturbereiche). Damit sind Änderungen (z.B. via Readingsgroup) via dropdown box möglich, und Fehlbedienungen werden verringert. Wenn möglich - bitte bring selbstdefinierte setlists wieder zurück. 

Aber bloss keinen Stress machen, gibt jetzt am Wochenende schliesslich andere Prioritäten ;D

Vielen Dank an Dich und auch an Adam & die restliche Community - startet gut ins Jahr 2017!



srxp

#1148
Hi,
hab nochen kleinen fehler gefunden.
das mit dem set usw bau ich wieder ein. jf dass man es so konfigurieren kann wie man will :-)

lg

ps: guten rutsch :-)

Tobias

Kommt die neue vcontrol300 auch irgendwann mal ins fhem repository wenn es stabil läuft.??

Gesendet von meinem Leap mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Adam

Wenn die 300er Version stabil ist, könnten wir die Versuchen mit der alten Version zu verheiraten würde ich Vorschlagen!
Was hälst Du davon Stephan?

Frohes Neues !
Adam

kvo1

Hallo Adam,
(bin zwar nicht  Stephan, aber vielleicht erinnerst Du Dich  ;))

zunächst Dur auch Frohes Neues !

Ich bin mit dem mergen der beiden Versionen da (vielleicht zu Unrecht) etwas skeptisch.
(aber ich kann mir ja DEINE Version mal sichern)

gruß
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

Hi Adam,
das müssen wir uns anschauen wie aufwändig das ist (glaube nämlich sehr) oder ob es besser wäre es als eigenes Modul zu lassen. Sie sind im Aufbau doch sehr verschieden.Und Problem ist halt auch dass das GWG Protokoll beim dem BlockingCall Dings glaub ich nicht wirklich viel Sinn macht.
Vielleicht wäre es besser wir lassen es als eigenes Modul. Dann könnten diejenigen die nichts ändern wollen an den Configs usw.
beim "alten" Modul bleiben, vor allem die die das GWG Protokoll verwenden. Und diejenigen die das 300er Protokoll oder KW verwenden wollen
müssen bzw können halt das Neue nehmen.
Was wir aber ins alte Modul schon übernehmen könnten wäre meine Änderung bezüglich Geschwindigkeit.
Aber wenn du eine gute und sinnvolle Lösung für ein Merging siehst bin ich natürlich gerne offen dafür :-)


lg

stephan

PS: Anbei nochmal eine neuen Version...hab jetzt folgendes eingebaut: Wird keine SetList angegeben werden standardmäßig alle Sets angezeigt, ansonsten halt nur die Definierten. Weiters gibt es nun die Attribute cumulationSuffixToday, cumulationSuffixTodayStart und cumulationSuffixYesterday. Wird nichts angegeben werden hier standardmäßig die Werte _Today, _TodayStart und _Yesterday verwendet, ansonst halt das was man angibt also bei cumulationSuffixToday z.B. "Day" (hoffe das ist in deinem Sinne mmi :-) )

michaelr

Hallo zusammen,

ich habe eine Vitotronic 200 KW2 und habe das neue Module heute einmal ausprobiert (über ser2net). Hatte zuvor einen Setup mit dem alten Modul. Mir ist folgendes aufgefallen:

Mit der neuen VCONTROL300 bekomme ich keine Werte für Betriebsart und Systemzeit. Ist das nur bei mir so, oder hat das jemand anders auch? Kann es sein, dass es ein Problem mit Datentyp "mode" und "date" gibt oder habe ich da etwas falsch eingestellt?

Wenn ich die Befehle über vcontrold direkt aufrufe, bekommen ich Werte.

Danke und Gruß,
Michael

Auszug Config:
POLL, 551E, 1ByteU, state , Brenner             , -
POLL, 088A, 2ByteU, 1     , BrennerStarts       , day
POLL, 7574, 4Byte,  1000  , Oelverbrauch        , day
POLL, 3906, 1ByteU, state , Pumpe               , -
POLL, 0846, 1ByteU, state , Zirkulationspumpe   , -
POLL, 3301, mode,   1     , Betriebsart         , -
POLL, 3303, 1ByteU, state , state_party         , -
POLL, 3302, 1ByteU, state , state_spar          , -
POLL, 08A7, 4Byte,  3600  , BrennerStunden      , day
POLL, 08AB, 4Byte,  3600  , BrennerStunden2     , -
POLL, 2306, 1ByteU, 1     , Temp-Raum-Soll      , -
POLL, 5726, 2ByteU, 10    , Oelverbrauch-Codierung, -
POLL, 088E, date,   1     , SystemZeit          , -

Log Auszug Betriebsart:
2017.01.01 22:31:27 5: SW: f7330101
2017.01.01 22:31:27 5: VCONTROL300: Read '03'
2017.01.01 22:31:27 5: VCONTROL300: Data 03
2017.01.01 22:31:27 5: VCONTROL300: mode index 03
2017.01.01 22:31:27 5: VCONTROL300: Parsed 'Betriebsart : '
2017.01.01 22:31:27 5: VCONTROL300: Set sendstr 01F7330301
2017.01.01 22:31:27 5: VCONTROL300: Delete prefix 01 of sendstr
2017.01.01 22:31:27 5: VCONTROL300: Send F7330301
2017.01.01 22:31:27 5: SW: f7330301
2017.01.01 22:31:27 5: VCONTROL300: Read '00'

Log Auszug Systemzeit:
2017.01.01 22:31:31 5: VCONTROL300: Delete prefix 01 of sendstr
2017.01.01 22:31:31 5: VCONTROL300: Send F7088E00
2017.01.01 22:31:31 5: SW: f7088e00
2017.01.01 22:31:31 3: CUL_HM set NachttischlampeSchlafzimmer statusRequest
2017.01.01 22:31:32 3: CUL_HM set SoundPlayer1 statusRequest
2017.01.01 22:31:33 5: VCONTROL300: Read '05'
2017.01.01 22:31:33 5: VCONTROL300: Data 05
2017.01.01 22:31:33 2: VCONTROL300: Error while reading parameter 088E : Retry 2!!!
2017.01.01 22:31:33 5: VCONTROL300: Set sendstr 01F7088E00
2017.01.01 22:31:33 5: VCONTROL300: Delete prefix 01 of sendstr
2017.01.01 22:31:33 5: VCONTROL300: Send F7088E00
2017.01.01 22:31:33 5: SW: f7088e00
2017.01.01 22:31:35 3: CUL_HM set TVBad statusRequest
2017.01.01 22:31:35 5: VCONTROL300: Read '05'
2017.01.01 22:31:35 5: VCONTROL300: Data 05
2017.01.01 22:31:35 2: VCONTROL300: Error while reading parameter 088E : Retry 3!!!
2017.01.01 22:31:35 5: VCONTROL300: Set sendstr 01F7088E00
2017.01.01 22:31:35 5: VCONTROL300: Delete prefix 01 of sendstr
2017.01.01 22:31:35 5: VCONTROL300: Send F7088E00
2017.01.01 22:31:35 5: SW: f7088e00
2017.01.01 22:31:36 3: CUL_HM set TVEsszimmer_Sw statusRequest
2017.01.01 22:31:36 1: Timeout for VCONTROL300_DoUpdate reached, terminated process 82290
2017.01.01 22:31:36 4: VCONTROL300: Update aborted!
2017.01.01 22:31:36 2: VCONTROL300: TCP connection closed
2017.01.01 22:31:36 5: VCONTROL300: Undef set_cmd_list_values!

mmi

Hi Stephan,

Zitat von: srxp am 01 Januar 2017, 21:12:56
PS: Anbei nochmal eine neuen Version...hab jetzt folgendes eingebaut: Wird keine SetList angegeben werden standardmäßig alle Sets angezeigt, ansonsten halt nur die Definierten. Weiters gibt es nun die Attribute cumulationSuffixToday, cumulationSuffixTodayStart und cumulationSuffixYesterday. Wird nichts angegeben werden hier standardmäßig die Werte _Today, _TodayStart und _Yesterday verwendet, ansonst halt das was man angibt also bei cumulationSuffixToday z.B. "Day" (hoffe das ist in deinem Sinne mmi :-) )

Ich hatte ein bisschen Zeit und konnte diese Version testen. Die läuft jetzt seit ca. 1 Stunde und es gab keine fehlerhaften Pollings mehr - super! :D Die benutzerdefinierte Setlist funktioniert ebenfalls, klasse.

Ich kann das Verhalten von michaelr bei "state" sets ebenfalls beobachten.

# Betriebsart ueber Parameter setzen
SET, 2323, 1ByteU, 1, Betriebsart, -
# Betriebsart explizit setzen
SET, 232300, 1ByteU, state, Betriebsart_Abschaltbetrieb, -
SET, 232301, 1ByteU, state, Betriebsart_WW, -
SET, 232302, 1ByteU, state, Betriebsart_HZ_WW, -


Ein Set resultiert immer im Status 0:

2017-01-02_10:05:00 Heizung Betriebsart_WW
2017-01-02_10:05:05 Heizung Betriebsart: 0

2017-01-02_10:07:19 Heizung Betriebsart_HZ_WW
2017-01-02_10:07:24 Heizung Betriebsart: 0

Das direkte Setzen klatt aber:

2017-01-02_10:09:04 Heizung Betriebsart 2
2017-01-02_10:09:09 Heizung Betriebsart: 2

Die Systemzeit lese ich nicht aus, konnte das also nicht testen.

Die Funktion mit den selbstdfinierten Suffixen scheint noch einen kleinen Fehler zu enthalten bzw. sich anders zu verhalten. Ich kann die  Attribute ändern, und *Today wird auch ausgerechnet/geschrieben:

Attributes:
   cumulationSuffixToday Today
   cumulationSuffixTodayStart DayStart
   cumulationSuffixYesterday LastDay


     2017-01-02 10:11:10   Brennerlaufzeit 485.22
     2017-01-02 09:16:58   BrennerlaufzeitDayStart 475.00
     2017-01-02 00:00:28   BrennerlaufzeitLastDay 17.65
     2017-01-02 10:11:10   BrennerlaufzeitToday 10.22


*TodayStart wird nicht mehr zyklisch geschrieben, die alte Version hat das bei jedem Polling mit getan. Ist das ein Fehler oder eine Funktionsänderung? So wie ich das verstehe, wird TodayStart ja nur beim Tageswechsel gesetzt. Damit wird der Wert zu Tagesbeginn als Hilfe definiert, um *Today auszurechnen, und damit sollte ein einmaliges Schreiben zu Tagesbeginn reichen, richtig?

Ich lasse die letzte Version nun dauerhaft weiterlaufen und melde mich, sobald noch was auffälliges passiert.