Ankündigung

Einklappen
Keine Ankündigung bisher.

Viessmann Plugin Neuentwicklung Python Hilfe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sisamiwe
    antwortet
    Morg

    Hallo,

    ich habe gestern die Heizung abgeschaltet und dann die Log geprüft. Da war alles gut. Heute morgen nochmal die Logs gecheckt und Fehler entdeckt. Scheinbar ist die Kommunikation angebrochen und konnte nicht wieder aufgebaut werden.


    error.log
    Code:
    2020-06-06  18:53:47 ERROR    plugins.viessmann   send_command failed with IO error: IO Error: write failed: [Errno 5] Eingabe-/Ausgabefehler.
    2020-06-06  18:53:47 ERROR    plugins.viessmann   Trying to reconnect (disconnecting, connecting
    2020-06-06  18:53:47 ERROR    plugins.viessmann   Not connected, trying to reconnect.
    2020-06-06  19:47:44 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  19:47:49 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  19:47:49 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  19:47:54 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:12:42 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:12:47 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:12:47 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:12:52 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:13:25 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:13:30 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:13:30 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:13:35 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:14:07 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:14:12 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:14:12 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:14:17 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:14:50 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:14:55 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:14:55 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:15:00 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:15:32 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:15:37 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:15:37 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:15:42 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:16:15 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:16:20 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:16:20 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:16:25 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    develop.log
    Code:
    2020-06-06  18:53:47 INFO     plugins.viessmann   Triggering cyclic read command: Speicherladepumpe
    2020-06-06  18:53:47 DEBUG    plugins.viessmann   Got a new read job: Command Speicherladepumpe
    2020-06-06  18:53:47 DEBUG    plugins.viessmann   Command config: {'len': 1, 'set': False, 'addr': '6513', 'unit': 'IUBOOL'}
    2020-06-06  18:53:47 DEBUG    plugins.viessmann   Preparing command Speicherladepumpe with packet to be sent as hexstring: 410500016513017f and as bytes: bytearray(b'A\x05\x00\x01e\x13\x01\x7f')
    2020-06-06  18:53:47 ERROR    plugins.viessmann   send_command failed with IO error: IO Error: write failed: [Errno 5] Eingabe-/Ausgabefehler.
    2020-06-06  18:53:47 ERROR    plugins.viessmann   Trying to reconnect (disconnecting, connecting
    2020-06-06  18:53:47 DEBUG    plugins.viessmann   scheduler_get: name = plugins.viessmann.cyclic
    2020-06-06  18:53:47 DEBUG    plugins.viessmann   scheduler_remove: name = plugins.viessmann.cyclic
    2020-06-06  18:53:47 INFO     plugins.viessmann   Disconnected
    2020-06-06  18:53:47 INFO     plugins.viessmann   Triggering cyclic read command: Brennerstatus_2
    2020-06-06  18:53:47 DEBUG    plugins.viessmann   Got a new read job: Command Brennerstatus_2
    2020-06-06  18:53:47 DEBUG    plugins.viessmann   Command config: {'len': 1, 'set': False, 'addr': '0849', 'unit': 'IUBOOL'}
    2020-06-06  18:53:47 DEBUG    plugins.viessmann   Preparing command Brennerstatus_2 with packet to be sent as hexstring: 4105000108490158 and as bytes: bytearray(b'A\x05\x00\x01\x08I\x01X')
    2020-06-06  18:53:47 ERROR    plugins.viessmann   Not connected, trying to reconnect.
    2020-06-06  18:53:47 INFO     plugins.viessmann   Connecting ...
    2020-06-06  18:53:47 INFO     plugins.viessmann   Connected to /dev/ttyUSB_optolink
    2020-06-06  18:53:47 INFO     plugins.viessmann   Init Communication....
    2020-06-06  18:53:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  18:53:48 DEBUG    plugins.viessmann   read_bytes: Read b''
    2020-06-06  18:53:48 DEBUG    plugins.viessmann   send_bytes: Send reset command b'\x04'
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x06'
    2020-06-06  18:53:49 INFO     plugins.viessmann   Communication initialized: True
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Successfully sent packet: 4105000108490158
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Trying to receive 10 bytes of the response.
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Received 10 bytes chunk of response as hexstring 0641060101084901005a and as bytes b'\x06A\x06\x01\x01\x08I\x01\x00Z'
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Response decoded to: commandcode: 0849, responsedatacode: 1, valuebytecount: 1
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Rawdatabytes formatted: 00 and unformatted: bytearray(b'\x00')
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Corresponding Item: heizung.brenner.brennerstatus_2; Corresponding commandname: Brennerstatus_2
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Unit defined to IUBOOL with config {'signed': False, 'unit_de': 'INT unsigned bool', 'read_value_transform': 'bool', 'type': 'integer'}.
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Matched command Brennerstatus_2 and read transformed value False (integer raw value was 0) and byte length 1.
    2020-06-06  18:53:49 INFO     plugins.viessmann   Triggering cyclic read command: Heizkreispumpe_A1M1
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Got a new read job: Command Heizkreispumpe_A1M1
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Command config: {'len': 1, 'set': False, 'addr': '2906', 'unit': 'IUBOOL'}
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Preparing command Heizkreispumpe_A1M1 with packet to be sent as hexstring: 4105000129060136 and as bytes: bytearray(b'A\x05\x00\x01)\x06\x016')
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Successfully sent packet: 4105000129060136
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Trying to receive 10 bytes of the response.
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Received 10 bytes chunk of response as hexstring 06410601012906010038 and as bytes b'\x06A\x06\x01\x01)\x06\x01\x008'
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Response decoded to: commandcode: 2906, responsedatacode: 1, valuebytecount: 1
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Rawdatabytes formatted: 00 and unformatted: bytearray(b'\x00')
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Corresponding Item: heizung.heizkreis_a1m1.status.hk_pumpe; Corresponding commandname: Heizkreispumpe_A1M1
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Unit defined to IUBOOL with config {'signed': False, 'unit_de': 'INT unsigned bool', 'read_value_transform': 'bool', 'type': 'integer'}.
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Matched command Heizkreispumpe_A1M1 and read transformed value False (integer raw value was 0) and byte length 1.
    2020-06-06  18:53:49 INFO     plugins.viessmann   Triggering cyclic read command: Relais_K12
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Got a new read job: Command Relais_K12
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Command config: {'len': 1, 'set': False, 'addr': '0842', 'unit': 'IUBOOL'}
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Preparing command Relais_K12 with packet to be sent as hexstring: 4105000108420151 and as bytes: bytearray(b'A\x05\x00\x01\x08B\x01Q')
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Successfully sent packet: 4105000108420151
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Trying to receive 10 bytes of the response.
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Received 10 bytes chunk of response as hexstring 06410601010842010053 and as bytes b'\x06A\x06\x01\x01\x08B\x01\x00S'
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Response decoded to: commandcode: 0842, responsedatacode: 1, valuebytecount: 1
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Rawdatabytes formatted: 00 and unformatted: bytearray(b'\x00')
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Corresponding Item: heizung.kessel.relais_k12; Corresponding commandname: Relais_K12
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Unit defined to IUBOOL with config {'signed': False, 'unit_de': 'INT unsigned bool', 'read_value_transform': 'bool', 'type': 'integer'}.
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Matched command Relais_K12 and read transformed value False (integer raw value was 0) and byte length 1.
    2020-06-06  18:53:49 INFO     plugins.viessmann   Triggering cyclic read command: Heizkreispumpe_M2
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Got a new read job: Command Heizkreispumpe_M2
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Command config: {'len': 1, 'set': False, 'addr': '3906', 'unit': 'IUINT'}
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Preparing command Heizkreispumpe_M2 with packet to be sent as hexstring: 4105000139060146 and as bytes: bytearray(b'A\x05\x00\x019\x06\x01F')
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Successfully sent packet: 4105000139060146
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Trying to receive 10 bytes of the response.
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Received 10 bytes chunk of response as hexstring 06410601013906010048 and as bytes b'\x06A\x06\x01\x019\x06\x01\x00H'
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Response decoded to: commandcode: 3906, responsedatacode: 1, valuebytecount: 1
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Rawdatabytes formatted: 00 and unformatted: bytearray(b'\x00')
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Corresponding Item: heizung.heizkreis_m2.status.hk_pumpe; Corresponding commandname: Heizkreispumpe_M2
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Unit defined to IUINT with config {'signed': False, 'unit_de': 'INT unsigned int', 'read_value_transform': 'int', 'type': 'integer'}.
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   Matched command Heizkreispumpe_M2 and read transformed value 0 (integer raw value was 0) and byte length 1.
    2020-06-06  18:53:49 DEBUG    plugins.viessmann   cyclic command read took 2.9 seconds for 5 items
    2020-06-06  19:47:44 INFO     plugins.viessmann   Update item: heizung.heizkreis_a1m1.raumtemperatur.raumtemperatur_soll_normal, item has been changed outside this plugin
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   update_item was called with item 'Raumtemperatur_Soll_Normalbetrieb_A1M1' from caller 'Logic', source 'None' and dest 'None'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   Got item value to be written: 3 on command name Raumtemperatur_Soll_Normalbetrieb_A1M1.
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   Got a new write job: Command Raumtemperatur_Soll_Normalbetrieb_A1M1 with value 3
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   Command config: {'len': 1, 'unit': 'ISNON', 'set': True, 'addr': '2306', 'min_value': 3, 'max_value': 37}
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   Unit defined to ISNON with config{'signed': True, 'unit_de': 'INT signed non', 'read_value_transform': 'non', 'type': 'integer'}.
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   Created value bytes for type integer as hexstring: 03 and as bytes: b'\x03'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   Payload length is: 6 bytes.
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   Preparing command Raumtemperatur_Soll_Normalbetrieb_A1M1 with value 3 (transformed to value byte '03') to be sent as packet 410600022306010335.
    2020-06-06  19:47:44 INFO     plugins.viessmann   Init Communication....
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:44 INFO     plugins.viessmann   Communication initialized: False
    2020-06-06  19:47:44 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  19:47:44 DEBUG    plugins.viessmann   Attempting read after write for item Raumtemperatur_Soll_Normalbetrieb_A1M1, command Raumtemperatur_Soll_Normalbetrieb_A1M1, delay 5
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   Got a new read job: Command Raumtemperatur_Soll_Normalbetrieb_A1M1
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   Command config: {'len': 1, 'unit': 'ISNON', 'set': True, 'addr': '2306', 'min_value': 3, 'max_value': 37}
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   Preparing command Raumtemperatur_Soll_Normalbetrieb_A1M1 with packet to be sent as hexstring: 4105000123060130 and as bytes: bytearray(b'A\x05\x00\x01#\x06\x010')
    2020-06-06  19:47:49 INFO     plugins.viessmann   Init Communication....
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 INFO     plugins.viessmann   Communication initialized: False
    2020-06-06  19:47:49 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  19:47:49 INFO     plugins.viessmann   Update item: heizung.heizkreis_a1m1.raumtemperatur.raumtemperatur_soll_red, item has been changed outside this plugin
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   update_item was called with item 'Raumtemperatur_Soll_Red_Betrieb_A1M1' from caller 'Logic', source 'None' and dest 'None'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   Got item value to be written: 3 on command name Raumtemperatur_Soll_Red_Betrieb_A1M1.
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   Got a new write job: Command Raumtemperatur_Soll_Red_Betrieb_A1M1 with value 3
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   Command config: {'len': 1, 'unit': 'ISNON', 'set': True, 'addr': '2307', 'min_value': 3, 'max_value': 37}
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   Unit defined to ISNON with config{'signed': True, 'unit_de': 'INT signed non', 'read_value_transform': 'non', 'type': 'integer'}.
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   Created value bytes for type integer as hexstring: 03 and as bytes: b'\x03'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   Payload length is: 6 bytes.
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   Preparing command Raumtemperatur_Soll_Red_Betrieb_A1M1 with value 3 (transformed to value byte '03') to be sent as packet 410600022307010336.
    2020-06-06  19:47:49 INFO     plugins.viessmann   Init Communication....
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:49 INFO     plugins.viessmann   Communication initialized: False
    2020-06-06  19:47:49 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  19:47:49 DEBUG    plugins.viessmann   Attempting read after write for item Raumtemperatur_Soll_Red_Betrieb_A1M1, command Raumtemperatur_Soll_Red_Betrieb_A1M1, delay 5
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   Got a new read job: Command Raumtemperatur_Soll_Red_Betrieb_A1M1
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   Command config: {'len': 1, 'unit': 'ISNON', 'set': True, 'addr': '2307', 'min_value': 3, 'max_value': 37}
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   Preparing command Raumtemperatur_Soll_Red_Betrieb_A1M1 with packet to be sent as hexstring: 4105000123070131 and as bytes: bytearray(b'A\x05\x00\x01#\x07\x011')
    2020-06-06  19:47:54 INFO     plugins.viessmann   Init Communication....
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  19:47:54 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  19:47:54 INFO     plugins.viessmann   Communication initialized: False
    2020-06-06  19:47:54 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:12:42 INFO     plugins.viessmann   Update item: heizung.heizkreis_a1m1.raumtemperatur.raumtemperatur_soll_normal, item has been changed outside this plugin
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   update_item was called with item 'Raumtemperatur_Soll_Normalbetrieb_A1M1' from caller 'Logic', source 'None' and dest 'None'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   Got item value to be written: 8 on command name Raumtemperatur_Soll_Normalbetrieb_A1M1.
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   Got a new write job: Command Raumtemperatur_Soll_Normalbetrieb_A1M1 with value 8
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   Command config: {'len': 1, 'unit': 'ISNON', 'set': True, 'addr': '2306', 'min_value': 3, 'max_value': 37}
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   Unit defined to ISNON with config{'signed': True, 'unit_de': 'INT signed non', 'read_value_transform': 'non', 'type': 'integer'}.
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   Created value bytes for type integer as hexstring: 08 and as bytes: b'\x08'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   Payload length is: 6 bytes.
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   Preparing command Raumtemperatur_Soll_Normalbetrieb_A1M1 with value 8 (transformed to value byte '08') to be sent as packet 41060002230601083a.
    2020-06-06  21:12:42 INFO     plugins.viessmann   Init Communication....
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:42 INFO     plugins.viessmann   Communication initialized: False
    2020-06-06  21:12:42 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:12:42 DEBUG    plugins.viessmann   Attempting read after write for item Raumtemperatur_Soll_Normalbetrieb_A1M1, command Raumtemperatur_Soll_Normalbetrieb_A1M1, delay 5
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   Got a new read job: Command Raumtemperatur_Soll_Normalbetrieb_A1M1
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   Command config: {'len': 1, 'unit': 'ISNON', 'set': True, 'addr': '2306', 'min_value': 3, 'max_value': 37}
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   Preparing command Raumtemperatur_Soll_Normalbetrieb_A1M1 with packet to be sent as hexstring: 4105000123060130 and as bytes: bytearray(b'A\x05\x00\x01#\x06\x010')
    2020-06-06  21:12:47 INFO     plugins.viessmann   Init Communication....
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 INFO     plugins.viessmann   Communication initialized: False
    2020-06-06  21:12:47 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  21:12:47 INFO     plugins.viessmann   Update item: heizung.heizkreis_a1m1.raumtemperatur.raumtemperatur_soll_red, item has been changed outside this plugin
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   update_item was called with item 'Raumtemperatur_Soll_Red_Betrieb_A1M1' from caller 'Logic', source 'None' and dest 'None'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   Got item value to be written: 8 on command name Raumtemperatur_Soll_Red_Betrieb_A1M1.
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   Got a new write job: Command Raumtemperatur_Soll_Red_Betrieb_A1M1 with value 8
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   Command config: {'len': 1, 'unit': 'ISNON', 'set': True, 'addr': '2307', 'min_value': 3, 'max_value': 37}
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   Unit defined to ISNON with config{'signed': True, 'unit_de': 'INT signed non', 'read_value_transform': 'non', 'type': 'integer'}.
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   Created value bytes for type integer as hexstring: 08 and as bytes: b'\x08'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   Payload length is: 6 bytes.
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   Preparing command Raumtemperatur_Soll_Red_Betrieb_A1M1 with value 8 (transformed to value byte '08') to be sent as packet 41060002230701083b.
    2020-06-06  21:12:47 INFO     plugins.viessmann   Init Communication....
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   send_bytes: Send sync command b'\x16\x00\x00'
    2020-06-06  21:12:47 DEBUG    plugins.viessmann   read_bytes: Read b'\x05'
    2020-06-06  21:12:47 INFO     plugins.viessmann   Communication initialized: False
    2020-06-06  21:12:47 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    details.log
    Code:
    2020-06-06  18:53:47 INFO     plugins.viessmann   Triggering cyclic read command: Speicherladepumpe
    2020-06-06  18:53:47 ERROR    plugins.viessmann   send_command failed with IO error: IO Error: write failed: [Errno 5] Eingabe-/Ausgabefehler.
    2020-06-06  18:53:47 ERROR    plugins.viessmann   Trying to reconnect (disconnecting, connecting
    2020-06-06  18:53:47 INFO     plugins.viessmann   Disconnected
    2020-06-06  18:53:47 INFO     plugins.viessmann   Triggering cyclic read command: Brennerstatus_2
    2020-06-06  18:53:47 ERROR    plugins.viessmann   Not connected, trying to reconnect.
    2020-06-06  18:53:47 INFO     plugins.viessmann   Connecting ...
    2020-06-06  18:53:47 INFO     plugins.viessmann   Connected to /dev/ttyUSB_optolink
    2020-06-06  18:53:47 INFO     plugins.viessmann   Init Communication....
    2020-06-06  18:53:49 INFO     plugins.viessmann   Communication initialized: True
    2020-06-06  18:53:49 INFO     plugins.viessmann   Triggering cyclic read command: Heizkreispumpe_A1M1
    2020-06-06  18:53:49 INFO     plugins.viessmann   Triggering cyclic read command: Relais_K12
    2020-06-06  18:53:49 INFO     plugins.viessmann   Triggering cyclic read command: Heizkreispumpe_M2
    2020-06-06  19:47:44 INFO     plugins.viessmann   Update item: heizung.heizkreis_a1m1.raumtemperatur.raumtemperatur_soll_normal, item has been changed outside this plugin
    2020-06-06  19:47:44 INFO     plugins.viessmann   Init Communication....
    2020-06-06  19:47:44 INFO     plugins.viessmann   Communication initialized: False
    2020-06-06  19:47:44 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  19:47:49 INFO     plugins.viessmann   Init Communication....
    2020-06-06  19:47:49 INFO     plugins.viessmann   Communication initialized: False
    2020-06-06  19:47:49 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  19:47:49 INFO     plugins.viessmann   Update item: heizung.heizkreis_a1m1.raumtemperatur.raumtemperatur_soll_red, item has been changed outside this plugin
    2020-06-06  19:47:49 INFO     plugins.viessmann   Init Communication....
    2020-06-06  19:47:49 INFO     plugins.viessmann   Communication initialized: False
    2020-06-06  19:47:49 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    2020-06-06  19:47:54 INFO     plugins.viessmann   Init Communication....
    2020-06-06  19:47:54 INFO     plugins.viessmann   Communication initialized: False
    2020-06-06  19:47:54 ERROR    plugins.viessmann   send_command failed with error: Interface not initialized!.
    Ich starte mal neu.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Hallo,

    ich habe eine alte Ölheizung (Viessmann Vitola Biferral) mit einer einer modernen Reglung Viessmann Vitotronic K01B ausgestattet.
    Bedient werden 2 Heizkreise (Heizkörper und FBH) sowie Warmwasserbereitung. Über das Plugin hier kann man die gute Regelung noch weiter optimieren bzw an den Realbedarf anpassen. per shNG werden bzw. die RTRs zusammengefassen und der max-Wert ermittelt. Ist dieser klein genug, geht die Heizung aus.

    Der Kessel und Brenner tun seit 1995 ihren Dienst ohne Probleme!

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Hihi. ...

    Ich habe eine Wärmepumpe, die geht nur als Niedrigtemperaturheizung (Vorlauf normalerweise zwischen 25 und 35° C). Vitocal 200-S (WO1C). Aufgrund der niedrigen Vorlauftemperaturen normalerweise nur iVm Fußbodenheizung eingesetzt. Da eine Nachtabsenkung oder häufige Regelungen an der zentralen Anlage aufgrund der Trägheit kaum zielführend sind, macht das die Steuerung einfach - Anlage läuft und am RTR stelle ich eine Zielgröße ein, fertig.

    Für Altbauten bzw. nicht angemessen isolierte Gebäude eher nicht geeignet. Aber dafür unschlagbar günstig im Betrieb

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Welche Geräte habt ihr denn nun in Verwendung? Wie viele Heizkreise? FB oder Radiatoren? Speichergröße? Solarunterstützung?
    ... Meine Heizung will wohl nicht mehr. Brauche wohl eine neue. Daher die Fragen ...

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Denk dran, auch mal die Heizung auszuschalten

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Morg Beitrag anzeigen
    Ich wäre dir dankbar, wenn du die neue Version nochmal testest. Falls du selbst noch weitere Änderungen gemacht hast, gib mir bitte eine entsprechende Info, dann kann ich das noch nachpflegen.
    Test läuft!
    Bislang alles gut.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Hallo Morg,

    ich komme erst jetzt dazu, Dir zu antworten.
    Zitat von Morg Beitrag anzeigen
    Was hast du für einen Lesekopf? Hast du den irgendwie konfiguriert?
    Den Orgininalen vonm Viessmann Concect.

    Zitat von Morg Beitrag anzeigen
    Die offensichtliche Wirkung ist, dass die Methode send_cyclic_cmds() nicht beendet wird, und daher weitere zyklische Leseversuche blockiert. Wieso die sich anhäufen, statt mit Meldung "Triggered..., but previous cyclic run is still active..." zu beenden, kann ich nicht sagen. Das scheint aber den Scheduler zu füllen.
    Ok.

    Zitat von Morg Beitrag anzeigen
    Ich wäre dir dankbar, wenn du die neue Version nochmal testest. Falls du selbst noch weitere Änderungen gemacht hast, gib mir bitte eine entsprechende Info, dann kann ich das noch nachpflegen.
    Das mache ich gern. Komme morgen oder am WE dazu und melde mich.

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Ich habe mal versucht, deine oben angesprochenen Änderungen (Typos von mir, min/max bei Systemzeit) nachzuvollziehen und die notwendigen Änderungen einzubauen.

    Da ich das in meinem Produktivsystem testen musste, habe ich das in ein "klassisches" Repo gepackt (https://github.com/Morg42/viessmann.git). Ich habe
    • an fast alles relevanten Stellen nochmal eine Prüfung auf self._connected() bzw. self._initialized() eingefügt
    • in _send_command() die Auswertung um die Prüfung auf "not initialized" ergänzt -> forciert dann Neu-Initialisierung
    • in _read_bytes() aus der 'while True'-Schleife eine mit Timeout gemacht, den Timeout-Parameter fürs Plugin eingefügt
    • noch ein paar Stellen mit Fehlerkontrolle und -korrektur ergänzt
    • die Methoden etwas umsortiert - "öffentliche" zuerst, danach inhaltlich sortiert und kommentiert
    • noch ein paar kleinere Updates für lesbareren Code eingefügt
    • Schleifenvariable 'time' in 'sw_time' umbenannt, um Namensraumkonflikte mit dem Modul 'time' zu vermeiden
    In meiner Analyse oben war noch ein Fehler, zumindest ein möglicher: bei meinem Lesekopf gibt es keine Timeouts, da ja der Lesekopf immer noch reagiert und die serielle Verbindung da ist. Beim Lesen gibt es eben immer nur b'', und Schreiben ist erfolgreich, da serial.write() keinen Status zurückgibt. Also reicht der Timeout in read_bytes() nicht, sondern ich musste noch die Prüfung auf "not_initialized" ergänzen.

    Verhalten bei mir:
    • Plugin funktioniert fehlerfrei
    • Heizung aus (Netzschalter): jeder Lesevorgang liefert b'', also 0 Bytes und ändert daher keine Items. Das Fehlen wird nicht erkannt (könnte man bei Bedarf noch überlegen)
      Ein Cycle mit 25 Items läuft jetzt immerhin schon 21 Sekunden -- wenn ich deutlich mehr Items lesen will, und den Parameter cycle zu kurz gesetzt habe, überschneiden die sich. Eigentlich sollten die neuen Schedules dann einfach ins Leere laufen ("...still active..."). Hier keine Probleme.
    • Heizung wieder an: er erkennt die Antwort b'0x05' als "not initialized" und startet die Initialisierung neu, danach gleich wieder funktionsfähig.

    Ich wäre dir dankbar, wenn du die neue Version nochmal testest. Falls du selbst noch weitere Änderungen gemacht hast, gib mir bitte eine entsprechende Info, dann kann ich das noch nachpflegen.

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Ich glaube, ich weiß, wo das Problem zu suchen ist.

    Die offensichtliche Wirkung ist, dass die Methode send_cyclic_cmds() nicht beendet wird, und daher weitere zyklische Leseversuche blockiert. Wieso die sich anhäufen, statt mit Meldung "Triggered..., but previous cyclic run is still active..." zu beenden, kann ich nicht sagen. Das scheint aber den Scheduler zu füllen.

    Zur Frage, wieso das passiert:

    beim Öffnen der seriellen Schnittstelle wird ein Timeout von 1 Sekunde festgelegt - das heißt, serial.read(bytes) liest <bytes> Bytes, wenn es kann, ansonsten beendet es nach 1 Sekunde. Soweit, sogut - aber das wird durch _read_bytes() ad absurdum geführt, weil dort in einer Schleife so lange gewartet wird, bis <bytes> Bytes angekommen sind; es findet aber keine Zeitprüfung auf Timeouts statt.
    Da es auch keine Erkennung von "disconnects" gibt (anders als bei netzwerkbasierten Verbindungen), wartet er sich bei ausgeschalteter Heizung zu Tode. Nach Einschalten der Heizung weiß er ja auch nicht, dass er _connect() und _init_communication() neu aufrufen muss, also wartet er weiter.

    Folgenden müsste man mMn anpassen:
    • _read_bytes() umschreiben ohne Schleife, um mehr Bytes zu lesen, sondern mit einfachem Aufruf von serial.read(bytes). Wenn ich in der Zeit nicht genug bekomme, dann muss ich entweder grundsätzlich die Zeit erhöhen, oder das Paket verwerfen. Das mag eine Anzahl von Lesefehlern erzeugen, verhindert aber Blockaden
    • Erkennung von Timeouts einbauen: wenn weniger Bytes gelesen wurden als erwartet, dann war es ein Fehler oder ein Timeout - das müsste man erkennen. Bei erkannten Timeouts (Verbindung weg?) Lesen abbrechen und self._connected = False setzen.
    • Irgendwo (wahrscheinlich update_item() und _send_cyclic_commands()) muss vornean self._connected geprüft werden. Falls nicht verbunden, versuchen, die Verbindung neu aufzubauen. Wenn das nicht geht -> beenden, so dass das Plugin nicht (sich) blockiert.
    Wenn ich das machen soll, brauche ich bitte nochmal die aktuellen Versionen; idealerweise im alten oder (ggf. schon) neuen Repo (du wolltest es umbauen? einfach den Ordner "viessmann" im Repo my_plugins als eigenes Repo "viessmann" aufsetzen)

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Ich versuchs.

    Was hast du für einen Lesekopf? Hast du den irgendwie konfiguriert?

    Mich wundert dieses "Hängenbleiben" etwas, da scheint kein Timeout und nix zu greifen...

    Ist dein Repo aktuell? Dann hole ich mir nochmal die letzte Version...
    Zuletzt geändert von Morg; 27.05.2020, 11:52.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Hallo Morg

    hab heute mal wieder ins Log geschaut und wieder Fehlereinträge entdeckt.

    Ich hatte letzthin am die Heizung vom Stromnetz genommen. Das Plugin verbindet sich wieder, trotzdem kommen Fehlermeldungen. Es schein, als wenn die cyclic-cmds nicht korrekt laufen/behandelt werden.

    Code:
    2020-05-27 10:00:20 ERROR plugins.database Database: Can't query due to fail to acquire lock
    2020-05-27 10:01:08 ERROR lib.scheduler Needing more worker threads than the specified maximum of 20!
    2020-05-27 10:01:40 WARNING plugins.database Skipping dump, since other dump running!
    2020-05-27 10:02:03 WARNING plugins.viessmann Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
    2020-05-27 10:02:04 WARNING plugins.viessmann Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
    2020-05-27 10:02:05 WARNING plugins.viessmann Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
    2020-05-27 10:02:05 WARNING plugins.viessmann Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
    2020-05-27 10:08:59 ERROR plugins.viessmann send_command failed with IO error: IO Error: write failed: [Errno 5] Eingabe-/Ausgabefehler.
    2020-05-27 10:08:59 ERROR plugins.viessmann Trying to reconnect (disconnecting, connecting
    2020-05-27 10:08:59 ERROR plugins.viessmann Not connected, trying to reconnect.
    
    2020-05-27 10:22:03 ERROR lib.scheduler Needing more worker threads than the specified maximum of 20!
    2020-05-27 10:23:04 ERROR lib.scheduler Needing more worker threads than the specified maximum of 20!
    2020-05-27 10:24:06 ERROR lib.scheduler Needing more worker threads than the specified maximum of 20!
    2020-05-27 10:25:07 ERROR lib.scheduler Needing more worker threads than the specified maximum of 20!
    2020-05-27 10:26:09 ERROR lib.scheduler Needing more worker threads than the specified maximum of 20!
    2020-05-27 10:27:01 ERROR plugins.smlx Reading data from serial:///dev/ttyUSB_volkszaehler failed with exception read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
    2020-05-27 10:27:06 WARNING plugins.viessmann Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
    2020-05-27 10:27:07 WARNING plugins.viessmann Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
    2020-05-27 10:27:07 WARNING plugins.viessmann Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
    2020-05-27 10:27:08 WARNING plugins.viessmann Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
    2020-05-27 10:27:09 WARNING plugins.viessmann Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
    Kannst Du das bei Dir mal nachstellen?

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Morg Beitrag anzeigen
    Ist aber debug, sollte mMn nicht stören, oder?
    nee, passt.

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Genau, der "cyclic"-Timer läuft ja regelmäßig, und ich glaube, du hattest als Cycle-Zeit die Hälfte der kürzesten geforderten Zeitspanne genommen. Dann kann es ja immer mal passieren, dass er läuft, ohne dass was ansteht. Die Meldung kommt dann trotzdem. Ist aber debug, sollte mMn nicht stören, oder?

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Morg Beitrag anzeigen
    Ansonsten läuft das jetzt problemlos?
    Bislang ja. Ich möchtes es noch etwas beobachten. Dann setzt ich auf version 1.0.0 und stelle einen PR.

    Was mir noch im Log aufgefallen ist:
    Es gibt öfters im Log den Eintrag:
    Code:
    2020-05-24  10:38:26 DEBUG    plugins.viessmann send_cyclic_cmds cyclic command read took 0.0 seconds for 0 items
    Ich gehen davon aus, dass diese Meldung kommt, wenn die Funktion aufgerufen wird, aber noch kein Item "due" ist.
    Was meinst Du?

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Das erklärt natürlich den Fehler aber gut, dass der gefunden ist.

    Ansonsten läuft das jetzt problemlos?

    Einen Kommentar schreiben:

Lädt...
X