Thanks for your work on this @illuzn !
Iāve added the integration, and the sensor entities are updating with the correct data, however when trying to set the temperature using water_heater.rheem_water_heater it throws an error and does not update the value.
Below are the log entries with debug logging enabled on the integration:
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/requests/adapters.py", line 519, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.1.143', port=80): Max retries exceeded with url: /getInfo.cgi (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 113] Host is unreachable'))
2024-01-04 11:07:05.318 DEBUG (MainThread) [custom_components.rheem_eziset] Finished fetching rheem_eziset data in 3.070 seconds (success: False)
2024-01-04 11:07:13.161 DEBUG (MainThread) [custom_components.rheem_eziset] Finished fetching rheem_eziset data in 3.070 seconds (success: False)
2024-01-04 11:07:19.659 DEBUG (MainThread) [custom_components.rheem_eziset] Finished fetching rheem_eziset data in 1.567 seconds (success: False)
2024-01-04 11:07:19.659 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [INTENTIONALLY_REDACTED] HTTPConnectionPool(host='192.168.1.143', port=80): Max retries exceeded with url: /getInfo.cgi (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at INTENTIONALLY_REDACTED>: Failed to establish a new connection: [Errno 113] Host is unreachable'))
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
conn = connection.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/util/connection.py", line 95, in create_connection
raise err
File "/usr/local/lib/python3.11/site-packages/urllib3/util/connection.py", line 85, in create_connection
sock.connect(sa)
OSError: [Errno 113] Host is unreachable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 715, in urlopen
httplib_response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 416, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 244, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "/usr/local/lib/python3.11/http/client.py", line 1286, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.11/http/client.py", line 1332, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.11/http/client.py", line 1281, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.11/http/client.py", line 1041, in _send_output
self.send(msg)
File "/usr/local/lib/python3.11/http/client.py", line 979, in send
self.connect()
File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 205, in connect
conn = self._new_conn()
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 186, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 113] Host is unreachable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/requests/adapters.py", line 486, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 799, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='192.168.1.143', port=80): Max retries exceeded with url: /getInfo.cgi (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 113] Host is unreachable'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 238, in handle_call_service
response = await hass.services.async_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2173, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2210, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service
return await service.entity_service_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 882, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 952, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/water_heater/__init__.py", line 443, in async_service_temperature_set
await entity.async_set_temperature(**kwargs)
File "/usr/src/homeassistant/homeassistant/components/water_heater/__init__.py", line 337, in async_set_temperature
await self.hass.async_add_executor_job(
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/rheem_eziset/water_heater.py", line 114, in set_temperature
api.set_temp(water_heater=self, temp=temp)
File "/config/custom_components/rheem_eziset/api.py", line 61, in set_temp
self.check_control_issues(entity=water_heater, reset_attribute="rheem_current_temperature", session=session)
File "/config/custom_components/rheem_eziset/api.py", line 142, in check_control_issues
result = self.get_responses(session=session, page=page)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/rheem_eziset/api.py", line 182, in get_responses
response = session.get(url, timeout=6.1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/requests/adapters.py", line 519, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.1.143', port=80): Max retries exceeded with url: /getInfo.cgi (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 113] Host is unreachable'))
2024-01-04 11:07:28.165 DEBUG (MainThread) [custom_components.rheem_eziset] Finished fetching rheem_eziset data in 3.073 seconds (success: False)
2024-01-04 11:07:36.167 DEBUG (MainThread) [custom_components.rheem_eziset] Finished fetching rheem_eziset data in 3.075 seconds (success: False)
2024-01-04 11:07:41.208 DEBUG (SyncWorker_8) [custom_components.rheem_eziset] rheem_eziset - getInfo.cgi response: {"heaterName":"Rheem","mode":10,"temp":48,"flow":0.0,"state":1,"appErrCode":0,"sTimeout":90,"sessionTimer":300}
2024-01-04 11:07:41.229 DEBUG (SyncWorker_8) [custom_components.rheem_eziset] rheem_eziset - version.cgi response: {"FWversion":"1.4"}
2024-01-04 11:07:41.273 DEBUG (SyncWorker_8) [custom_components.rheem_eziset] rheem_eziset - getParams.cgi response: {"heaterModel":6147,"tempMax":50,"tempMin":37,"bathtempMax":48,"bathtempMin":37,"bathvolMax":500,"bathvolMin":10}
2024-01-04 11:07:41.276 INFO (MainThread) [custom_components.rheem_eziset] rheem_eziset - Final getInfo_data result: {'heaterName': 'Rheem', 'mode': 10, 'temp': 48, 'flow': 0.0, 'state': 1, 'appErrCode': 0, 'sTimeout': 90, 'sessionTimer': 300, 'FWversion': '1.4', 'heaterModel': 6147, 'tempMax': 50, 'tempMin': 37, 'bathtempMax': 48, 'bathtempMin': 37, 'bathvolMax': 500, 'bathvolMin': 10}
2024-01-04 11:07:41.276 INFO (MainThread) [custom_components.rheem_eziset] Fetching rheem_eziset data recovered
2024-01-04 11:07:41.277 DEBUG (MainThread) [custom_components.rheem_eziset] Finished fetching rheem_eziset data in 0.185 seconds (success: True)
2024-01-04 11:07:52.250 ERROR (MainThread) [custom_components.rheem_eziset] Error fetching rheem_eziset data:
2024-01-04 11:07:52.251 DEBUG (MainThread) [custom_components.rheem_eziset] Finished fetching rheem_eziset data in 6.159 seconds (success: False)
2024-01-04 11:08:03.441 DEBUG (MainThread) [custom_components.rheem_eziset] Finished fetching rheem_eziset data in 6.116 seconds (success: False)
You can see the sensor data in the āSyncWorker_8ā thread of the debug entries.
Eziset firmware is 1.4 and my model is ā6147ā (Rheem Metro Max 26 876T26NF).
Running HA Core 2024.1.0 with Supervisor 2023.12.0