spacemanspiff2007 / HABApp

Easy home automation with MQTT and/or openHAB
Apache License 2.0
54 stars 23 forks source link

Error 'NoneType' object has no attribute '__name__' in Outgoing queue worker #420

Open UrsusS opened 9 months ago

UrsusS commented 9 months ago

I have seen this today a couple of times on my test machine. There was a strange correlation to my main server. When this was down, that error occurs.

2023-09-22 10:56:24.466 [INFO ] [HABApp                     ] - HABApp Version 23.09.1
2023-09-22 10:56:24.608 [INFO ] [HABApp.connection.mqtt     ] - MQTT disabled
2023-09-22 10:56:24.801 [INFO ] [HABApp.connection.openhab  ] - Connected to OpenHAB version 4.1.0.M1 (Milestone Build)
2023-09-22 10:56:25.892 [INFO ] [HABApp.openhab.items       ] - Updated 913 Items
2023-09-22 10:56:26.343 [INFO ] [HABApp.openhab.items       ] - Updated 83 Things
2023-09-22 10:56:27.261 [INFO ] [HABApp.openhab.transform   ] - Transformations:
2023-09-22 10:56:27.261 [INFO ] [HABApp.openhab.transform   ] -   Map: de.map, en.map, ups.map

2023-09-22 11:52:16.583 [ERROR] [HABApp                     ] - Error 'NoneType' object has no attribute '__name__' in Outgoing queue worker:
2023-09-22 11:52:16.584 [ERROR] [HABApp                     ] - File "/opt/habapp/lib/python3.11/site-packages/HABApp/openhab/connection/plugins/out.py", line 92 in queue_worker
2023-09-22 11:52:16.584 [ERROR] [HABApp                     ] - --------------------------------------------------------------------------------
2023-09-22 11:52:16.585 [ERROR] [HABApp                     ] -      73 | async def queue_worker(self):
2023-09-22 11:52:16.586 [ERROR] [HABApp                     ] -       (...)
2023-09-22 11:52:16.586 [ERROR] [HABApp                     ] -      89 |                 if is_cmd:
2023-09-22 11:52:16.587 [ERROR] [HABApp                     ] -      90 |                     await post(f'/rest/items/{item:s}', data=state)
2023-09-22 11:52:16.588 [ERROR] [HABApp                     ] -      91 |                 else:
2023-09-22 11:52:16.588 [ERROR] [HABApp                     ] - -->  92 |                     await put(f'/rest/items/{item:s}/state', data=state)
2023-09-22 11:52:16.589 [ERROR] [HABApp                     ] -      93 |         except Exception as e:
2023-09-22 11:52:16.590 [ERROR] [HABApp                     ] -    ------------------------------------------------------------
2023-09-22 11:52:16.591 [ERROR] [HABApp                     ] -      self = <HABApp.openhab.connection.plugins.out.OutgoingCommandsPlugin object at 0x74c7ba30>
2023-09-22 11:52:16.591 [ERROR] [HABApp                     ] -      self.plugin_connection = <HABApp.openhab.connection.connection.OpenhabConnection object at 0x74c67d70>
2023-09-22 11:52:16.592 [ERROR] [HABApp                     ] -      self.queue = <Queue at 0x74c7ba10 maxsize=0 _queue=[('num_Server_HABApp_Ping', None, False), ('num_Server_HABApp_Ping', None, False), (<SwitchItem name: swi_Softener_GotData, value: ON, last_change: 2023-09-22T11:50:49.451136, last_update: 2023-09-22T11:50:49.451136>, 'OFF', True), ('num_Server_HABApp_Ping', None, False), (<SwitchItem name: swi_Softener_GotData, value: ON, last_change: 2023-09-22T11:50:49.451136, last_update: 2023-09-22T11:50:49.451136>, 'ON', True), ('num_Server_HABApp_Ping', None, False), ('num_Server_OH_UpTime', 5132, False), ('num_Server_HABApp_Ping', None, False)] tasks=1240>
2023-09-22 11:52:16.593 [ERROR] [HABApp                     ] -      e = AttributeError("'NoneType' object has no attribute '__name__'")
2023-09-22 11:52:16.594 [ERROR] [HABApp                     ] -      is_cmd = False
2023-09-22 11:52:16.595 [ERROR] [HABApp                     ] -      item = 'num_Server_HABApp_Ping'
2023-09-22 11:52:16.595 [ERROR] [HABApp                     ] -      item, state, is_cmd = ('num_Server_HABApp_Ping', '27.1', False)
2023-09-22 11:52:16.596 [ERROR] [HABApp                     ] -      queue = <Queue at 0x74c7ba10 maxsize=0 _queue=[('num_Server_HABApp_Ping', None, False), ('num_Server_HABApp_Ping', None, False), (<SwitchItem name: swi_Softener_GotData, value: ON, last_change: 2023-09-22T11:50:49.451136, last_update: 2023-09-22T11:50:49.451136>, 'OFF', True), ('num_Server_HABApp_Ping', None, False), (<SwitchItem name: swi_Softener_GotData, value: ON, last_change: 2023-09-22T11:50:49.451136, last_update: 2023-09-22T11:50:49.451136>, 'ON', True), ('num_Server_HABApp_Ping', None, False), ('num_Server_OH_UpTime', 5132, False), ('num_Server_HABApp_Ping', None, False)] tasks=1240>
2023-09-22 11:52:16.597 [ERROR] [HABApp                     ] -      state = '27.1'
2023-09-22 11:52:16.597 [ERROR] [HABApp                     ] -      to_str = <function convert_to_oh_type at 0x74c610c8>
2023-09-22 11:52:16.598 [ERROR] [HABApp                     ] -    ------------------------------------------------------------
2023-09-22 11:52:16.599 [ERROR] [HABApp                     ] - 
2023-09-22 11:52:16.600 [ERROR] [HABApp                     ] - File "/opt/habapp/lib/python3.11/site-packages/HABApp/openhab/connection/handler/handler.py", line 112 in put
2023-09-22 11:52:16.600 [ERROR] [HABApp                     ] - --------------------------------------------------------------------------------
2023-09-22 11:52:16.601 [ERROR] [HABApp                     ] -      103 | async def put(self, url: str, log_404=True, json=None, data=None, **kwargs: Any) -> ClientResponse | None:
2023-09-22 11:52:16.602 [ERROR] [HABApp                     ] -        (...)
2023-09-22 11:52:16.602 [ERROR] [HABApp                     ] -      107 |     mgr = _RequestContextManager(
2023-09-22 11:52:16.603 [ERROR] [HABApp                     ] -      108 |         self.request(METH_PUT, url, data=data, json=json, **kwargs, **self.options, **kwargs)
2023-09-22 11:52:16.604 [ERROR] [HABApp                     ] -      109 |     )
2023-09-22 11:52:16.605 [ERROR] [HABApp                     ] -      110 |     if data is None:
2023-09-22 11:52:16.605 [ERROR] [HABApp                     ] -      111 |         data = json
2023-09-22 11:52:16.606 [ERROR] [HABApp                     ] - -->  112 |     return await self.check_response(mgr, log_404=log_404, sent_data=data)
2023-09-22 11:52:16.607 [ERROR] [HABApp                     ] -    ------------------------------------------------------------
2023-09-22 11:52:16.607 [ERROR] [HABApp                     ] -      _RequestContextManager = <class 'aiohttp.client._RequestContextManager'>
2023-09-22 11:52:16.608 [ERROR] [HABApp                     ] -      not self.online = False
2023-09-22 11:52:16.609 [ERROR] [HABApp                     ] -      self = <HABApp.openhab.connection.handler.handler.ConnectionHandler object at 0x74c67470>
2023-09-22 11:52:16.609 [ERROR] [HABApp                     ] -      self.online = True
2023-09-22 11:52:16.610 [ERROR] [HABApp                     ] -      self.options = {}
2023-09-22 11:52:16.611 [ERROR] [HABApp                     ] -      self.read_only = False
2023-09-22 11:52:16.611 [ERROR] [HABApp                     ] -      self.read_only or not self.online = False
2023-09-22 11:52:16.612 [ERROR] [HABApp                     ] -      self.request = <bound method ClientSession._request of <aiohttp.client.ClientSession object at 0x74dfce50>>
2023-09-22 11:52:16.613 [ERROR] [HABApp                     ] -      data = '27.1'
2023-09-22 11:52:16.614 [ERROR] [HABApp                     ] -      json = None
2023-09-22 11:52:16.614 [ERROR] [HABApp                     ] -      kwargs = {}
2023-09-22 11:52:16.615 [ERROR] [HABApp                     ] -      log_404 = True
2023-09-22 11:52:16.616 [ERROR] [HABApp                     ] -      METH_PUT = 'PUT'
2023-09-22 11:52:16.617 [ERROR] [HABApp                     ] -      mgr = <aiohttp.client._RequestContextManager object at 0x725c2f70>
2023-09-22 11:52:16.617 [ERROR] [HABApp                     ] -      url = '/rest/items/num_Server_HABApp_Ping/state'
2023-09-22 11:52:16.618 [ERROR] [HABApp                     ] -    ------------------------------------------------------------
2023-09-22 11:52:16.619 [ERROR] [HABApp                     ] - 
2023-09-22 11:52:16.619 [ERROR] [HABApp                     ] - File "/opt/habapp/lib/python3.11/site-packages/HABApp/openhab/connection/handler/handler.py", line 130 in check_response
2023-09-22 11:52:16.620 [ERROR] [HABApp                     ] - --------------------------------------------------------------------------------
2023-09-22 11:52:16.621 [ERROR] [HABApp                     ] -      125 | async def check_response(self, future: aiohttp.client._RequestContextManager, sent_data=None,
2023-09-22 11:52:16.621 [ERROR] [HABApp                     ] -      126 |                          log_404=True) -> ClientResponse:
2023-09-22 11:52:16.622 [ERROR] [HABApp                     ] -      127 |     try:
2023-09-22 11:52:16.623 [ERROR] [HABApp                     ] -      128 |         resp = await future
2023-09-22 11:52:16.623 [ERROR] [HABApp                     ] -      129 |     except Exception as e:
2023-09-22 11:52:16.624 [ERROR] [HABApp                     ] - -->  130 |         self.plugin_connection.process_exception(e, None)
2023-09-22 11:52:16.625 [ERROR] [HABApp                     ] -      131 |         raise OpenhabDisconnectedError() from None
2023-09-22 11:52:16.625 [ERROR] [HABApp                     ] -    ------------------------------------------------------------
2023-09-22 11:52:16.626 [ERROR] [HABApp                     ] -      aiohttp.client._RequestContextManager = <class 'aiohttp.client._RequestContextManager'>
2023-09-22 11:52:16.627 [ERROR] [HABApp                     ] -      self = <HABApp.openhab.connection.handler.handler.ConnectionHandler object at 0x74c67470>
2023-09-22 11:52:16.627 [ERROR] [HABApp                     ] -      self.plugin_connection = <HABApp.openhab.connection.connection.OpenhabConnection object at 0x74c67d70>
2023-09-22 11:52:16.628 [ERROR] [HABApp                     ] -      self.plugin_connection.log = <Logger HABApp.connection.openhab (INFO)>
2023-09-22 11:52:16.629 [ERROR] [HABApp                     ] -      future = <aiohttp.client._RequestContextManager object at 0x725c2f70>
2023-09-22 11:52:16.629 [ERROR] [HABApp                     ] -      log_404 = True
2023-09-22 11:52:16.630 [ERROR] [HABApp                     ] -      not log_404 = False
2023-09-22 11:52:16.631 [ERROR] [HABApp                     ] -      sent_data = '27.1'
2023-09-22 11:52:16.631 [ERROR] [HABApp                     ] -    ------------------------------------------------------------
2023-09-22 11:52:16.632 [ERROR] [HABApp                     ] - 
2023-09-22 11:52:16.633 [ERROR] [HABApp                     ] - File "/opt/habapp/lib/python3.11/site-packages/HABApp/core/wrapper.py", line 25 in process_exception
2023-09-22 11:52:16.633 [ERROR] [HABApp                     ] - --------------------------------------------------------------------------------
2023-09-22 11:52:16.634 [ERROR] [HABApp                     ] -      21 | def process_exception(func: Union[Callable, str], e: Exception,
2023-09-22 11:52:16.635 [ERROR] [HABApp                     ] -      22 |                       do_print=False, logger: logging.Logger = log):
2023-09-22 11:52:16.636 [ERROR] [HABApp                     ] -      23 |     lines = format_exception(e)
2023-09-22 11:52:16.636 [ERROR] [HABApp                     ] - -->  25 |     func_name = func if isinstance(func, str) else func.__name__
2023-09-22 11:52:16.637 [ERROR] [HABApp                     ] -      27 |     # log exception, since it is unexpected we push it to stdout, too
2023-09-22 11:52:16.638 [ERROR] [HABApp                     ] -    ------------------------------------------------------------
2023-09-22 11:52:16.638 [ERROR] [HABApp                     ] -      do_print = <Logger HABApp.connection.openhab (INFO)>
2023-09-22 11:52:16.639 [ERROR] [HABApp                     ] -      e = ServerDisconnectedError('Server disconnected')
2023-09-22 11:52:16.640 [ERROR] [HABApp                     ] -      func = None
2023-09-22 11:52:16.641 [ERROR] [HABApp                     ] -      lines = ['File "/opt/habapp/lib/python3.11/site-packages/HABApp/openhab/connection/handler/handler.py", line 128 in check_response', '--------------------------------------------------------------------------------', '     125 | async def check_response(self, future: aiohttp.client._RequestContextManager, sent_data=None,', '     126 |                          log_404=True) -> ClientResponse:', '     127 |     try:', '-->  128 |         resp = await future', '     129 |     except Exception as e:', '   ------------------------------------------------------------', "     aiohttp.client._RequestContextManager = <class 'aiohttp.client._RequestContextManager'>", '     self = <HABApp.openhab.connection.handler.handler.ConnectionHandler object at 0x74c67470>', '     self.plugin_connection = <HABApp.openhab.connection.connection.OpenhabConnection object at 0x74c67d70>', '     self.plugin_connection.log = <Logger HABApp.connection.openhab (INFO)>', "     e = ServerDisconnectedError('Server disconnected')", '     future = <aiohttp.client._RequestContextManager object at 0x725c2f70>', '     log_404 = True', '     not log_404 = False', "     sent_data = '27.1'", '   ------------------------------------------------------------', '', '--------------------------------------------------------------------------------', 'Traceback (most recent call last):', '  File "/opt/habapp/lib/python3.11/site-packages/HABApp/openhab/connection/handler/handler.py", line 128, in check_response', '    resp = await future', '           ^^^^^^^^^^^^', '  File "/opt/habapp/lib/python3.11/site-packages/aiohttp/client.py", line 560, in _request', '    await resp.start(conn)', '  File "/opt/habapp/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 899, in start', '    message, payload = await protocol.read()  # type: ignore[union-attr]', '                       ^^^^^^^^^^^^^^^^^^^^^', '  File "/opt/habapp/lib/python3.11/site-packages/aiohttp/streams.py", line 616, in read', '    await self._waiter', 'aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected']
2023-09-22 11:52:16.641 [ERROR] [HABApp                     ] -      log = <Logger HABApp (INFO)>
2023-09-22 11:52:16.642 [ERROR] [HABApp                     ] -      logger = <Logger HABApp (INFO)>
2023-09-22 11:52:16.643 [ERROR] [HABApp                     ] -      TOPIC_ERRORS = 'HABApp.Errors'
2023-09-22 11:52:16.643 [ERROR] [HABApp                     ] -    ------------------------------------------------------------
2023-09-22 11:52:16.644 [ERROR] [HABApp                     ] - 
2023-09-22 11:52:16.645 [ERROR] [HABApp                     ] - --------------------------------------------------------------------------------
2023-09-22 11:52:16.645 [ERROR] [HABApp                     ] - Traceback (most recent call last):
2023-09-22 11:52:16.646 [ERROR] [HABApp                     ] -   File "/opt/habapp/lib/python3.11/site-packages/HABApp/openhab/connection/handler/handler.py", line 128, in check_response
2023-09-22 11:52:16.647 [ERROR] [HABApp                     ] -     resp = await future
2023-09-22 11:52:16.647 [ERROR] [HABApp                     ] -            ^^^^^^^^^^^^
2023-09-22 11:52:16.648 [ERROR] [HABApp                     ] -   File "/opt/habapp/lib/python3.11/site-packages/aiohttp/client.py", line 560, in _request
2023-09-22 11:52:16.649 [ERROR] [HABApp                     ] -     await resp.start(conn)
2023-09-22 11:52:16.649 [ERROR] [HABApp                     ] -   File "/opt/habapp/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 899, in start
2023-09-22 11:52:16.650 [ERROR] [HABApp                     ] -     message, payload = await protocol.read()  # type: ignore[union-attr]
2023-09-22 11:52:16.651 [ERROR] [HABApp                     ] -                        ^^^^^^^^^^^^^^^^^^^^^
2023-09-22 11:52:16.651 [ERROR] [HABApp                     ] -   File "/opt/habapp/lib/python3.11/site-packages/aiohttp/streams.py", line 616, in read
2023-09-22 11:52:16.652 [ERROR] [HABApp                     ] -     await self._waiter
2023-09-22 11:52:16.653 [ERROR] [HABApp                     ] - aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected
2023-09-22 11:52:16.653 [ERROR] [HABApp                     ] - 
2023-09-22 11:52:16.654 [ERROR] [HABApp                     ] - During handling of the above exception, another exception occurred:
2023-09-22 11:52:16.655 [ERROR] [HABApp                     ] - 
2023-09-22 11:52:16.655 [ERROR] [HABApp                     ] - Traceback (most recent call last):
2023-09-22 11:52:16.656 [ERROR] [HABApp                     ] -   File "/opt/habapp/lib/python3.11/site-packages/HABApp/openhab/connection/plugins/out.py", line 92, in queue_worker
2023-09-22 11:52:16.656 [ERROR] [HABApp                     ] -     await put(f'/rest/items/{item:s}/state', data=state)
2023-09-22 11:52:16.657 [ERROR] [HABApp                     ] -   File "/opt/habapp/lib/python3.11/site-packages/HABApp/openhab/connection/handler/handler.py", line 112, in put
2023-09-22 11:52:16.657 [ERROR] [HABApp                     ] -     return await self.check_response(mgr, log_404=log_404, sent_data=data)
2023-09-22 11:52:16.658 [ERROR] [HABApp                     ] -            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-09-22 11:52:16.658 [ERROR] [HABApp                     ] -   File "/opt/habapp/lib/python3.11/site-packages/HABApp/openhab/connection/handler/handler.py", line 130, in check_response
2023-09-22 11:52:16.659 [ERROR] [HABApp                     ] -     self.plugin_connection.process_exception(e, None)
2023-09-22 11:52:16.660 [ERROR] [HABApp                     ] -   File "/opt/habapp/lib/python3.11/site-packages/HABApp/core/connections/base_connection.py", line 99, in process_exception
2023-09-22 11:52:16.660 [ERROR] [HABApp                     ] -     process_exception(func, e, self.log)
2023-09-22 11:52:16.661 [ERROR] [HABApp                     ] -   File "/opt/habapp/lib/python3.11/site-packages/HABApp/core/wrapper.py", line 25, in process_exception
2023-09-22 11:52:16.662 [ERROR] [HABApp                     ] -     func_name = func if isinstance(func, str) else func.__name__
2023-09-22 11:52:16.662 [ERROR] [HABApp                     ] -                                                    ^^^^^^^^^^^^^
2023-09-22 11:52:16.663 [ERROR] [HABApp                     ] - AttributeError: 'NoneType' object has no attribute '__name__'