Just installed with two Haverland RCTT rads (ie directly without the Haverland WiFi box.adding the rad ids to the YAML script etc). It seems to be working pretty good. Installed directly on a Pi4. Did take some time to get the basics figured out- I’m a software engineer but a newb to HA ! The biggest issue was the fact it’s headerless and HA isn’t that forthcoming on how to install stuff that isn’t directly approved. ie. HACS → git. smartbox → then bash via SSH (not the ordinary remote SSH either!!) to pip install… lol. Anyway it’s looking like it basically works for both rads. Thank you.
just as feedback, works perfectly with Haverland radiator, kudos to the dev!
Hi, I have exactly the same problem.
In my case it happened because I had to reinstall HA due to the SD failure, and when I reinstalled it, the smartbox stopped working.
Some one can help us?
My device was completely blocked from the haverland cloud service!!! Has anyone had such issue? I have been using this integrations for a few days only and I wonder if it was caused by the integration??? Usually cloud services does not allow too many API calls and if this integration create so many then users can be banned. I had to delete the smart box waited about 2 hours, re-added it and it works from the app now. However I will have to delete this integration as I suspect the issue related to it.
The radiators were showing up with x’s for the last few hours but they seem to be working fine again. Was the API down briefly?
did you have the same issue then? This case it was not the integration but the “Cloud” was down. Normally such never happens but the reality is different. Lets buy a flipper and hack this on 868MHz RF side so we can forget the Cloud and control them with ESP32 868 MHz TTGO.
Hi there. Been trying to install the smatbox. But I’m getting an error. Can anybody help please. I Have a HJM Smartbox, and I think that I configured everyting correctly
Logger: homeassistant.setup
Source: setup.py:332
First occurred: 20:58:47 (1 occurrences)
Last logged: 20:58:47
Error during setup of component smartbox
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 72, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/socket.py", line 962, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno -2] Name does not resolve
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 404, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1058, in _validate_conn
conn.connect()
File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 363, in connect
self.sock = 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: <urllib3.connection.HTTPSConnection object at 0x7f8a7df650>: Failed to establish a new connection: [Errno -2] Name does not resolve
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 827, in urlopen
return self.urlopen(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 827, in urlopen
return self.urlopen(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 827, in urlopen
return self.urlopen(
^^^^^^^^^^^^^
[Previous line repeated 5 more times]
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: HTTPSConnectionPool(host='%3capi-hjm%3e.helki.com', port=443): Max retries exceeded with url: /client/token (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f8a7df650>: Failed to establish a new connection: [Errno -2] Name does not resolve'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 332, in _async_setup_component
result = await task
^^^^^^^^^^
File "/config/custom_components/smartbox/__init__.py", line 94, in async_setup
devices = await get_devices(
^^^^^^^^^^^^^^^^^^
File "/config/custom_components/smartbox/model.py", line 274, in get_devices
session = await 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 "/usr/local/lib/python3.11/site-packages/smartbox/session.py", line 43, in __init__
self._auth(
File "/usr/local/lib/python3.11/site-packages/smartbox/session.py", line 55, in _auth
response = self._requests.post(
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **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: HTTPSConnectionPool(host='%3capi-hjm%3e.helki.com', port=443): Max retries exceeded with url: /client/token (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f8a7df650>: Failed to establish a new connection: [Errno -2] Name does not resolve'))
type or paste code here
It seems that the API has been called too often.
My configuration are as following:
smartbox:
accounts:
- api_name: <api-hjm>
username: <[email protected]>
password: <XXXXX>
device_ids:
- <device cXXXXXXXXX8>
basic_auth_creds: <NTRiY2NiZXXXXXXXXXXxMTNmXXXXXXXXXXnZkaXZkaQ==>
It looks like and issue with the url. Did you copy and paste it from somewhere? Can you post your config?
I copied the config from the readme file
PS: I edited my last post to show the correct message (I was using a wrong auth_creds:
Can you remove the < and > from the config?
I’ve done has you said (clearly I’m a noob, in programming)
smartbox:
accounts:
- api_name: api-hjm
username: [email protected]
password: 8XXXXXXb
device_ids:
- device cXXXXXXXXX8
basic_auth_creds: NTRiY2NiZXXXXXXXXXXxMTNmXXXXXXXXXnZkaXZkaQ==
And I still got an error
Logger: homeassistant.setup
Source: setup.py:332
First occurred: 21:55:52 (1 occurrences)
Last logged: 21:55:52
Error during setup of component smartbox
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 332, in _async_setup_component
result = await task
^^^^^^^^^^
File "/config/custom_components/smartbox/__init__.py", line 94, in async_setup
devices = await get_devices(
^^^^^^^^^^^^^^^^^^
File "/config/custom_components/smartbox/model.py", line 285, in get_devices
devices = [
^
File "/config/custom_components/smartbox/model.py", line 286, in <listcomp>
await create_smartbox_device(
File "/config/custom_components/smartbox/model.py", line 311, in create_smartbox_device
await device.initialise_nodes(hass)
File "/config/custom_components/smartbox/model.py", line 61, in initialise_nodes
status = await 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 "/usr/local/lib/python3.11/site-packages/smartbox/session.py", line 154, in get_status
return self._api_request(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/smartbox/session.py", line 108, in _api_request
response.raise_for_status()
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://api-hjm.helki.com/api/v2/devs/cXXXXXXXXX8/pmo/3/status
Can you also remove the word “device”. It should just be the ID
Hi there. Did as you told, but still got errors
Logger: homeassistant.setup
Source: setup.py:332
First occurred: 12:33:53 (1 occurrences)
Last logged: 12:33:53
Error during setup of component smartbox
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 332, in _async_setup_component
result = await task
^^^^^^^^^^
File "/config/custom_components/smartbox/__init__.py", line 94, in async_setup
devices = await get_devices(
^^^^^^^^^^^^^^^^^^
File "/config/custom_components/smartbox/model.py", line 285, in get_devices
devices = [
^
File "/config/custom_components/smartbox/model.py", line 286, in <listcomp>
await create_smartbox_device(
File "/config/custom_components/smartbox/model.py", line 311, in create_smartbox_device
await device.initialise_nodes(hass)
File "/config/custom_components/smartbox/model.py", line 61, in initialise_nodes
status = await 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 "/usr/local/lib/python3.11/site-packages/smartbox/session.py", line 154, in get_status
return self._api_request(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/smartbox/session.py", line 108, in _api_request
response.raise_for_status()
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://api-hjm.helki.com/api/v2/devs/cXXXXXXXXX8/pmo/3/status
Config files is as such:
smartbox:
accounts:
- api_name: api-hjm
username: fXXXXXXXXXXX
password: XXXXXX
device_ids:
- cXXXXXXXXX8
basic_auth_creds: NXXXXXXXXXXXXXXXXXkaQ
I even tried the basic auth without the == symbols at the end, and still the same
Thank you for all of the help
EDIT:
I have grabbed the entire log
2024-01-03 17:09:25.527 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-01-03 17:09:25.530 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration smartbox which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-01-03 17:09:38.725 ERROR (MainThread) [homeassistant.setup] Error during setup of component smartbox
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 332, in _async_setup_component
result = await task
^^^^^^^^^^
File "/config/custom_components/smartbox/__init__.py", line 94, in async_setup
devices = await get_devices(
^^^^^^^^^^^^^^^^^^
File "/config/custom_components/smartbox/model.py", line 285, in get_devices
devices = [
^
File "/config/custom_components/smartbox/model.py", line 286, in <listcomp>
await create_smartbox_device(
File "/config/custom_components/smartbox/model.py", line 311, in create_smartbox_device
await device.initialise_nodes(hass)
File "/config/custom_components/smartbox/model.py", line 61, in initialise_nodes
status = await 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 "/usr/local/lib/python3.11/site-packages/smartbox/session.py", line 154, in get_status
return self._api_request(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/smartbox/session.py", line 108, in _api_request
response.raise_for_status()
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://api-hjm.helki.com/api/v2/devs/cXXXXXXXXXXXXXXXX8/pmo/3/status
Could someone who has been able to configure it tell us what type of Home Assistant installation you have and what version of Python? Because in Home Assistant OS on a Pi4 and with Python 3.11.6 it gives an error. I suspect it may be the version of python that has problems.
How did you get your authentication credentials?
I got them directly from https://api.calorhjm.com/#/signIn
The login and password is the same from the APP.
Then I got the inspector (in chrome) and found the token basic auth.
Can you try using this link and see if you get a different key?
The HTTPError 404 that it also gives me is not from wrong credentials (Error 401), it is from a resource not found. You can try entering the wrong credential and it will give you a 401 error.
What is your config?
It gives me the same token key