HABApp
HABApp copied to clipboard
Error 'NoneType' object has no attribute '__name__' in Outgoing queue worker
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__'