elupus / hass_nibe Goto Github PK
View Code? Open in Web Editor NEWHome Assistant Nibe Uplink Integration
Home Assistant Nibe Uplink Integration
... instead of indirectly controlling it through S1 Room and the smart set_thermostat service ?
The case is that I already have a Siemens heating circuit control system connected to thermostats and radiator actuators. From this I get a "demanded" flow temperature. Instead of manipulating the loading of a fake room thermostat through the set_thermostat service to S1 Room to align the Siemens system with the NIBEs Calculated Supply Temperature (S1 Supply), could I write the demand to it directly ?
Also, where does it get all the max and min values in the entity ? I'm not currently sharing valve data anymore and only one "fake room". My 67980 S1 Supply:
{
"current_temperature": 43.3,
"min_temp": 33.6,
"max_temp": 53.6,
"temperature": 49.6,
"target_temp_step": 1,
"status": "DONE",
"pump_speed_heating_medium": 0,
"supply_temp": 43.3,
"calc_supply_temp_heat": 49.6,
"calc_supply_temp_cool": 22.7,
"offset_heat": 6,
"offset_cool": 0,
"external_adjustment_active": true,
"friendly_name": "S1 Supply",
"supported_features": 1
}
Are you able to write values to Nibe Uplink?
For example if I'd like to set at target temperature.
Hi
Using the latest repo and ha 0.74.2. At startup getting the below error. Doesn’t seem to affect but not sure.
Homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/nibe/init.py", line 111, in async_setup_systems
await asyncio.gather(*tasks)
File "/config/custom_components/nibe/init.py", line 373, in load
await self.load_unit(unit)
File "/config/custom_components/nibe/init.py", line 333, in load_unit
unit.get(CONF_UNIT)))
File "/config/custom_components/nibe/init.py", line 260, in load_status
data = await self.uplink.get_status(self.system_id, unit)
TypeError: get_status() takes 2 positional arguments but 3 were given
I am unable to start Homeassistant while "nibe:" is in configuration.yaml.
I just made a fresh virtualenv install off Homeassistant 0.93.1 running on a Raspberry pi 3B.
/usr/lib/python3.5/asyncio/base_events.py:491: RuntimeWarning: coroutine 'TCPConnector._resolve_host' was never awaited
self._ready.clear()
Traceback (most recent call last):
File "/srv/homeassistant/bin/hass", line 11, in <module>
sys.exit(main())
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/__main__.py", line 396, in main
2019-05-19 10:19:10 ERROR (Thread-17) [concurrent.futures] exception calling callback for <Future at 0x693d5e30 state=finished returned dict>
Traceback (most recent call last):
File "/usr/lib/python3.5/concurrent/futures/_base.py", line 297, in _invoke_callbacks
callback(self)
File "/usr/lib/python3.5/asyncio/futures.py", line 463, in _call_set_state
dest_loop.call_soon_threadsafe(_set_state, destination, source)
File "/usr/lib/python3.5/asyncio/base_events.py", line 618, in call_soon_threadsafe
self._check_closed()
File "/usr/lib/python3.5/asyncio/base_events.py", line 357, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
2019-05-19 10:19:10 ERROR (Thread-5) [concurrent.futures] exception calling callback for <Future at 0x686fc990 state=finished returned dict>
Traceback (most recent call last):
File "/usr/lib/python3.5/concurrent/futures/_base.py", line 297, in _invoke_callbacks
callback(self)
File "/usr/lib/python3.5/asyncio/futures.py", line 463, in _call_set_state
dest_loop.call_soon_threadsafe(_set_state, destination, source)
File "/usr/lib/python3.5/asyncio/base_events.py", line 618, in call_soon_threadsafe
self._check_closed()
File "/usr/lib/python3.5/asyncio/base_events.py", line 357, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
exit_code = asyncio_run(setup_and_run_hass(config_dir, args))
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/util/async_.py", line 29, in asyncio_run
return loop.run_until_complete(main)
File "/usr/lib/python3.5/asyncio/base_events.py", line 466, in run_until_complete
return future.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
raise self._exception
File "/usr/lib/python3.5/asyncio/tasks.py", line 241, in _step
result = coro.throw(exc)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/__main__.py", line 290, in setup_and_run_hass
log_no_color=args.log_no_color)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/bootstrap.py", line 181, in async_from_config_file
config_dict, hass, enable_log=False, skip_pip=skip_pip)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/bootstrap.py", line 92, in async_from_config_dict
await _async_set_up_integrations(hass, config)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/bootstrap.py", line 404, in _async_set_up_integrations
for domain in domains_to_load
File "/usr/lib/python3.5/asyncio/futures.py", line 380, in __iter__
yield self # This tells Task to wait for completion.
File "/usr/lib/python3.5/asyncio/tasks.py", line 304, in _wakeup
future.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
raise self._exception
File "/usr/lib/python3.5/asyncio/tasks.py", line 241, in _step
result = coro.throw(exc)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/setup.py", line 50, in async_setup_component
return await task # type: ignore
File "/usr/lib/python3.5/asyncio/futures.py", line 380, in __iter__
yield self # This tells Task to wait for completion.
File "/usr/lib/python3.5/asyncio/tasks.py", line 304, in _wakeup
future.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
raise self._exception
File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
result = coro.send(None)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/setup.py", line 126, in _async_setup_component
hass, config, integration)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/config.py", line 773, in async_process_component_config
component = integration.get_component()
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/loader.py", line 130, in get_component
cache[self.domain] = importlib.import_module(self.pkg_path)
File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 673, in exec_module
File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
File "/home/homeassistant/.homeassistant/custom_components/nibe/__init__.py", line 15, in <module>
from nibeuplink import Uplink
File "/srv/homeassistant/lib/python3.5/site-packages/nibeuplink/__init__.py", line 25, in <module>
from .monitor import Monitor
File "/srv/homeassistant/lib/python3.5/site-packages/nibeuplink/monitor.py", line 8, in <module>
from .utils import cyclic_tuple
File "/srv/homeassistant/lib/python3.5/site-packages/nibeuplink/utils.py", line 3, in <module>
from typing import Iterable, Tuple, Any, Deque
ImportError: cannot import name 'Deque'
Any idea what this could be?
I also tried the monitor branch, and I can see the Nibe Uplink integration in the list, but I am unable to add it.
Every time I restart my Home Assistant, all the defined thermostats are set to "Off" mode, meaning they will not report set or current temperatures to Nibe Uplink.
I would prefer them to enter "Heat/Cool" mode, either by default or by a setting.
Hi,
In the readme file you mention to use the various parameters to create switches and climate entries. I stumbled upon the following list on Nibe's website: https://api.nibeuplink.com/docs/v1/Parameters
Do you use another list for your implementation? If not is the list I provided exhaustive or have you implemented other parameters?
Thanks!
Could you please expand the setup/configuration documentation (and some UI screenshots of working system)
It does not explain where to configure authorization values. It just mentions, that one shouldn’t take note of them.
Also the the config examples expect you to put a system identifier? Where to get that one? From the config errors in log, I gather that it is some integer. Is it the ID from the NIBE Uplink URL?
Currently I have it installed, and get no errors, but I do not see any sensors or devices in HA.
So I am kind of lost (without diving into the code) where I might have done something wrong, or even what to expect when it works :)
So a small expansion on the documentation would be greatly appreciated.
First of all, thank you for this Nibe Uplink integration with HASS.
I'm running Hass.io 0.75.1 and have installed the Nibe add-on as described in the readme.
Got a lot of new entities in HASS coming from the Nibe. Great work!
However, the Nibe add-on seems to create a separate view in HASS and in this view there are several groups containing the entities/values.
How can this automatically created view and groups be edited and/or removed?
When I reload my groups from Hass.io all the groups disappear but the view (called "NIBE F750 - Unit 0") is still there. And when I restart HASS the view and all the groups in it are restored.
Since it is not included in my groups.yaml file I don't know where to look.
When I'm trying to change the target temperature from the UI, nothing happens.
The log says:
2019-02-02 18:05:36 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved Traceback (most recent call last): File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step result = coro.send(None) File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/service.py", line 289, in _handle_service_platform_call await func(entity, data) File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/climate/__init__.py", line 574, in async_service_temperature_set await entity.async_set_temperature(**kwargs) File "/home/homeassistant/.homeassistant/custom_components/climate/nibe.py", line 237, in async_set_temperature scale = self.get_scale(self._adjust) File "/home/homeassistant/.homeassistant/custom_components/climate/nibe.py", line 146, in get_scale return float(data['rawValue']) / float(data['value']) ZeroDivisionError: float division by zero
My configuration.yaml looks like this:
`nibe:
client_id: *******************
client_secret: *****************
redirect_uri: http://10.0.1.6:8123/api/nibe/auth
writeaccess: true # set to true to support climate write (needs new tokens)
systems:
- system: 51460
units:
- unit: 0
categories:
climate:
`
Hi,
Have you implemented the smart home mode in your connector? https://api.nibeuplink.com/docs/v1/ResourceModel?modelName=SmartHomeMode
It would be useful to put the pump in away/home mode and/or vacations mode directly from HA.
Apologies for the dumb question but I could not find this in the documentation.
Thanks!
Can't get Nibe uplink to work in Homeassistant. Have not changed anything in the config but now I get this error in my logs (debug doesn't show anything more):
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/nibe/init.py", line 111, in async_setup_systems
await asyncio.gather(*tasks)
File "/config/custom_components/nibe/init.py", line 373, in load
await self.load_unit(unit)
File "/config/custom_components/nibe/init.py", line 328, in load_unit
unit.get(CONF_CATEGORIES)))
File "/config/custom_components/nibe/init.py", line 256, in load_categories
return await asyncio.gather(*tasks)
File "/config/custom_components/nibe/init.py", line 228, in load_parameter_group
sensors)
File "/config/custom_components/nibe/init.py", line 210, in load_sensor
return await self.load_platform(discovery_info, 'sensor')
File "/config/custom_components/nibe/init.py", line 186, in load_platform
load_info)
TypeError: async_load_platform() missing 1 required positional argument: 'hass_config'
###################Configuration.yaml#############
nibe:
client_id: secret
client_secret: secret
redirect_uri: "url back to my instace/api/nibe/auth"
writeaccess: false # set to true to support climate write (needs new tokens)
systems:
- system: 24887
units:
- unit: 0
categories:
I had to re-install my Hass.io, when trying to add integration "Nibe Uplink" and after having entered "Identifier" and "Secret" I end up with this dialogue, not sure what to do?
I have tried open another tab in browser and surfing to https://api.nibeuplink.com/ but no success.
In the pic in \config\custom_components\nibe\docs\ I can see that the dialogue should contain a "Authorize" link:
Following the README.md to setup the hass_nibe component with latest as per today.
When filling in the identifier, secret, callback etc I get an "Unknow error occured".
Get this stacktrace in the log:
File "/usr/local/lib/python3.7/site-packages/aiohttp/web_middlewares.py", line 119, in impl,
2019-06-23 02:20:46 ERROR (MainThread) [aiohttp.server] Error handling request,
Traceback (most recent call last):,
File "/usr/local/lib/python3.7/site-packages/aiohttp/web_protocol.py", line 418, in start,
resp = await task,
File "/usr/local/lib/python3.7/site-packages/aiohttp/web_app.py", line 458, in _handle,
resp = await handler(request),
return await handler(request),
File "/usr/src/app/homeassistant/components/http/real_ip.py", line 33, in real_ip_middleware,
File "/usr/src/app/homeassistant/components/http/ban.py", line 68, in ban_middleware,
File "/usr/src/app/homeassistant/components/http/auth.py", line 216, in auth_middleware,
File "/usr/src/app/homeassistant/components/http/view.py", line 115, in handle,
result = await result,
File "/usr/src/app/homeassistant/components/config/config_entries.py", line 154, in post,
return await super().post(request, flow_id),
File "/usr/src/app/homeassistant/components/http/data_validator.py", line 46, in wrapper,
result = await method(view, request, *args, **kwargs),
File "/usr/src/app/homeassistant/helpers/data_entry_flow.py", line 86, in post,
result = await self._flow_mgr.async_configure(flow_id, data),
File "/usr/src/app/homeassistant/data_entry_flow.py", line 80, in async_configure,
flow, step_id, user_input),
File "/usr/src/app/homeassistant/data_entry_flow.py", line 98, in _async_handle_step,
result = await getattr(flow, method)(user_input) # type: Dict,
File "/config/custom_components/nibe/config_flow.py", line 51, in async_step_user,
return await self.async_step_auth(),
File "/config/custom_components/nibe/config_flow.py", line 102, in async_step_auth,
return self.async_external_step(,
AttributeError: 'NibeConfigFlow' object has no attribute 'async_external_step'
After updating to HA 0.89 (which was ok) the update of this component does not work out as expected:
`
2019-03-07 18:43:57 ERROR (MainThread) [homeassistant.setup] Error during setup of component nibe
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/setup.py", line 151, in _async_setup_component
hass, processed_config)
File "/home/homeassistant/.homeassistant/custom_components/nibe/init.py", line 186, in async_setup
await async_register_services(hass)
File "/home/homeassistant/.homeassistant/custom_components/nibe/init.py", line 128, in async_register_services
from nibeuplink import SMARTHOME_MODES
File "/srv/homeassistant/lib/python3.5/site-packages/nibeuplink/init.py", line 37
name: str = attr.ib()
^
SyntaxError: invalid syntax
`
HASS: 0.89
NIBEUPLINK: 0.6.0.
Any suggestions? Thanks!
During initialization of HA I get the following
019-03-06 00:30:16 ERROR (MainThread) [homeassistant.setup] Error during setup of component nibe
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/homeassistant/setup.py", line 151, in _async_setup_component
hass, processed_config)
File "/config/custom_components/nibe/__init__.py", line 186, in async_setup
await async_register_services(hass)
File "/config/custom_components/nibe/__init__.py", line 128, in async_register_services
from nibeuplink import SMARTHOME_MODES
ModuleNotFoundError: No module named 'nibeuplink'
hass_nibe: d39800d
HA: 0.88.1
HassOS: 2.10
Hi, after a uppgrade to HA 0.87.0 I'm getting the following in my log:
File "/home/homeassistant/.homeassistant/custom_components/nibe/init.py", line 111, in async_setup_systems
await asyncio.gather(*tasks)
File "/home/homeassistant/.homeassistant/custom_components/nibe/init.py", line 373, in load
await self.load_unit(unit)
File "/home/homeassistant/.homeassistant/custom_components/nibe/init.py", line 328, in load_unit
unit.get(CONF_CATEGORIES)))
File "/home/homeassistant/.homeassistant/custom_components/nibe/init.py", line 256, in load_categories
return await asyncio.gather(*tasks)
File "/home/homeassistant/.homeassistant/custom_components/nibe/init.py", line 228, in load_parameter_group
sensors)
File "/home/homeassistant/.homeassistant/custom_components/nibe/init.py", line 210, in load_sensor
return await self.load_platform(discovery_info, 'sensor')
File "/home/homeassistant/.homeassistant/custom_components/nibe/init.py", line 186, in load_platform
load_info)
TypeError: async_load_platform() missing 1 required positional argument: 'hass_config'
Is there a fix for this ?
Upgraded python to 3.8 in venv.
Now I get:
Unable to import nibe: cannot import name '_Union' from 'typing' (/usr/lib/python3.8/typing.py)
I am interested in being able to change the ventilation fan speed, I managed to add this to a copy of this repo, however its not possible to say of I made it generic or specific to my pump.
Was this something you looked at ?
My NIBE iOS app and the nibeuplink.com site isn't connected to my heat pump and I need to input a new connection string. Also my NIBE heat pump inner unit won't provide one at the moment even though it's connected to the internet.
Hass_nibe is working though but is missing history for most of the night...
Hey guys,
When configuring the water heater mode I see all the options I have in my pump (F750) for water heater. However there are 2 modes heat_pump and high_demand. I can't relate those in the parameters in my pump. What are those for?
Thanks!
Since home-assistant/core@1e22c8d the monkey patch for config flow addition is broken
I was trying to add this repository in hass.io, byt adding "https://github.com/elupus/hass_nibe" in the add-on store. But I received a message, that repository.json file is missing for hass.io integration.
Is this something the creator can fix in order to hass.io users to be able to use this nice component as well? If that is the only this that is needed....
HI, I have same issue, I do not have nibe on the integration list.
I use 0.93.2
I just took all the nibe files from git
I see just 3 log entries:
2019-05-24 14:34:05 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for nibe which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-05-24 14:34:12 INFO (MainThread) [homeassistant.setup] Setting up nibe
2019-05-24 14:34:12 INFO (MainThread) [homeassistant.setup] Setup of domain nibe took 0.0 seconds.
Thanks
I have a new installation of Hass.io 0.99 and can't add Nibe Uplink, when clicking "Nibe Uplink" in Integrations page (plus sign and choose from list), nothing happens, it jumps directly back to the list of availible integrations. Have rebooted several times and tried again. No luck.
Any ideas?
I am trying to get rid of my openhab2 system and use hass as my main system. Openhab has a binding Nibe Heatpump Binding which I am currently using. It uses Modbus connection and an Arduino with Ethernet Shield. All this is way more stable than Nibe Uplink. I am using it for a half a year now. Controlling heating/cooling temperature offsets, water comfort modes, reading all parameters that I need, enabling/disabling heating and cooling for FREE.
Does it make sense to try to change current project to support second communication method or it is better to create a separate project? I am ready to contribute.
First, awesome work!
I updated this morning and thought I would get smart home mode switch with your recent change. Do I need to remove nibe.json and restart HA and redo the configuration or how do I get it to show up?
Hi, thanks for posting this excellent project.
I get an 'invalid config' message when I try to run the Nibe plugin.
HA 0.52.1 running on an Raspberry 3, Nibe VVM 325 f/w 8114R2.
Downloaded latest plugin here today.
This is what I get from the log:
2017-09-05 22:48:24 ERROR (MainThread) [homeassistant.setup] Error during setup of component nibe
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/homeassistant/setup.py", line 194, in _async_setup_component
component.setup, hass, processed_config)
File "/usr/lib/python3.6/asyncio/futures.py", line 331, in iter
yield self # This tells Task to wait for completion.
File "/usr/lib/python3.6/asyncio/tasks.py", line 244, in _wakeup
future.result()
File "/usr/lib/python3.6/asyncio/futures.py", line 244, in result
raise self._exception
File "/usr/lib/python3.6/concurrent/futures/thread.py", line 55, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/nibe.py", line 86, in setup
hass.data[DOMAIN] = NibeUplink(hass, config)
File "/config/custom_components/nibe.py", line 152, in init
submit_caption = 'Set Url'
File "/usr/lib/python3.6/site-packages/homeassistant/components/configurator.py", line 78, in request_config
hass.loop, ft.partial(async_request_config, hass, *args, **kwargs)
AttributeError: 'str' object has no attribute 'loop'
2017-09-05 22:48:25 WARNING (MainThread) [homeassistant.setup] Setup of tts is taking over 10 seconds.
2017-09-05 22:49:10 WARNING (MainThread) [homeassistant.components.media_player] Setup of platform cast is taking over 10 seconds.
2017-09-05 22:49:12 WARNING (MainThread) [homeassistant.components.media_player] Setup of platform cast is taking over 10 seconds.
2017-09-05 22:49:13 WARNING (MainThread) [homeassistant.components.media_player] Setup of platform cast is taking over 10 seconds.
2017-09-05 23:38:59 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.samsung_7_series_60_ue60ks7005 is taking over 10 seconds
2017-09-05 23:39:00 WARNING (MainThread) [homeassistant.components.media_player] Updating samsungtv media_player took longer than the scheduled update interval 0:00:10
Hello,
In Home Assistent 0.98.5 there is no intergration page to set things up?
There are no errors in my HA logging.
Is there a way to do this manual?
Regards,
When you add the ventilation_boost switch, the "on" state of the switch can not be displayed.
The "off" value from ventilation boost returns 0 and the "on" value returns 4. The switch only reacts to 0 for off and 1 for on.
Hi,
Trying to get my head around how the water heater of this custom component is working. Can someone clarify?
Call
data:
entity_id: water_heater.nibe_<id>_40014
operation_mode: eco
service: water_heater.set_operation_mode
I get this
2019-04-18 15:32:51 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1843666192] FORMAT_ERROR: Input format error.
{'httpStatusCode': 400, 'errorCode': 1, 'timestamp': '2019-04-18T13:32:51.5655915Z', 'details': ['Error 14: 47041'], 'data': None}
aiohttp.client_exceptions.ClientResponseError: 400, message=''
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/homeassistant/components/websocket_api/commands.py", line 122, in handle_call_service
connection.context(msg))
File "/usr/local/lib/python3.7/site-packages/homeassistant/core.py", line 1138, in async_call
self._execute_service(handler, service_call))
File "/usr/local/lib/python3.7/site-packages/homeassistant/core.py", line 1160, in _execute_service
await handler.func(service_call)
File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity_component.py", line 188, in handle_service
self._platforms.values(), func, call, service_name
File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/service.py", line 314, in entity_service_call
future.result() # pop exception if have
File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/service.py", line 328, in _handle_service_platform_call
await getattr(entity, func)(**data)
File "/config/custom_components/nibe/water_heater.py", line 243, in async_set_operation_mode
HA_STATE_TO_NIBE[operation_mode])
File "/config/deps/lib/python3.7/site-packages/nibeuplink/__init__.py", line 490, in put_parameter
headers = headers,
File "/config/deps/lib/python3.7/site-packages/nibeuplink/__init__.py", line 398, in _request
await raise_for_status(response)
File "/config/deps/lib/python3.7/site-packages/nibeuplink/__init__.py", line 189, in raise_for_status
data) from e
nibeuplink.exceptions.UplinkResponseException: FORMAT_ERROR: Input format error.
{'httpStatusCode': 400, 'errorCode': 1, 'timestamp': '2019-04-18T13:32:51.5655915Z', 'details': ['Error 14: 47041'], 'data': None}
Is this component to monitor if the heat pump is producing warm water or not? What's the intention?
Thanks!
Just updated to Home Assistant 0.88 and get the following error
Your configuration contains extra keys that the platform does not support.
Please remove [name], [system], [current], [target].
##
## Nibe thermostat for the full house
## Full details: https://github.com/elupus/hass_nibe
##
- platform: nibe
name: house_thermostat
system: !secret nibe_uplink_system
current: 40033
target: 47398
According to this https://developers.home-assistant.io/blog/2019/02/19/the-great-migration.html the Nibe custom component is rightfully coded but the way to configure the custom component entities is now different. It should be something in the main nibe component in the config. Something like
nibe:
- climate: ...
Is that supported? If so, how should the yaml syntax look like?
Do you, or anyone, know if there's an existing entitiy or a possible parameter where the chosen heating curve on the NIBE can be read (or even written to) ?
Just downloaded the new Nibe component.
Evrything works just fine, but got the following error:
System is Windows 10 with hass 0.88.1
2019-03-05 14:07:14 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.nibe.climate. Make sure all dependencies are installed Traceback (most recent call last): File "c:\users\sjoerd\appdata\local\programs\python\python36-32\lib\site-packages\homeassistant\loader.py", line 147, in _load_file module = importlib.import_module(path) File "c:\users\sjoerd\appdata\local\programs\python\python36-32\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "C:\Users\Sjoerd\AppData\Roaming\.homeassistant\custom_components\nibe\climate.py", line 10, in <module> from homeassistant.components.climate.const import (ATTR_OPERATION_MODE, ImportError: cannot import name 'STATE_AUTO' 2019-03-05 14:07:14 ERROR (MainThread) [homeassistant.loader] Unable to find platform nibe 2019-03-05 14:07:14 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform nibe.climate: Platform not found.
Config:
nibe: client_id: xxxxx client_secret: xxx redirect_uri: http://192.168.0.152:8123/api/nibe/auth writeaccess: false `` systems: - system: 65530 units: - unit: 0 categories: statuses: - unit: 1 categories: statuses: climates: false water_heaters: false
Hi,
I get the below error. Not sure if its my fault or the code.
Thanks
ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/nibe/init.py", line 111, in async_setup_systems
await asyncio.gather(*tasks)
File "/config/custom_components/nibe/init.py", line 370, in load
self.system = await self.uplink.get_system(self.system_id)
File "/config/deps/lib/python3.6/site-packages/nibeuplink/init.py", line 336, in get_system
return await self.get('systems/{}'.format(system_id))
File "/config/deps/lib/python3.6/site-packages/nibeuplink/init.py", line 218, in get
headers= {},
File "/config/deps/lib/python3.6/site-packages/nibeuplink/init.py", line 232, in _request
if 'json' in response.headers.get('CONTENT-TYPE'):
TypeError: argument of type 'NoneType' is not iterable
Just pulled the latest version of this integration, and tried the new set_thermostat service. Tried to call it with the JSON (xxxxx replaced with my system):
{ "system": "xxxxx", "id": "1", "name": "stue", "temperature": "21.2", "target_temperature": "18.0", "valve_position": "0" }
Both from the Node-Red Homeassistant-websocket "call service" node, AND from the developer tool to call services in HA. From Node-Red all I could see was "API error from Home Assistant: Invalid Format" and in HA the developer tool just said it couldn't call the service.
I tried to send the numbers as floats and integers instead of strings but no change. Any idea ?
Also: The entities for S1 Room and S1 Supply seem to have vanished(?). The States UI now has a card that says "Invalid config":
The following components and platforms could not be set up:
nibe.climate
Please check your config.
The log shows a maybe relevant entry as well:
2019-03-12 12:27:32 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.nibe.climate. Make sure all dependencies are installed
Traceback (most recent call last):
File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/homeassistant/loader.py", line 147, in _load_file
module = importlib.import_module(path)
File "/home/homeassistant/.pyenv/versions/3.6.3/lib/python3.6/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 665, in _load_unlocked
File "", line 678, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/homeassistant/.homeassistant/custom_components/nibe/climate.py", line 10, in
from homeassistant.components.climate.const import (ATTR_OPERATION_MODE,
ImportError: cannot import name 'STATE_AUTO'
2019-03-12 12:27:32 ERROR (MainThread) [homeassistant.loader] Unable to find platform nibe
2019-03-12 12:27:32 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform nibe.climate: Platform not found.
Hey,
thank you for the great work! A recent change in home-assistant seems to break your code:
home-assistant/core@319ac23
I removed /homeassistant/config_entries.py:556 to 563, restart the software and it worked:
home-assistant/core@319ac23#diff-9e423b96591ab40119af2f0c56ff55cdR556
Not a reliable solution of course. Any recommendation?
Regards!
Hi, I get this error message when checking the configuration:
"Invalid config for [nibe]: expected int for dictionary value @ data['nibe']['systems'][0]['system']. Got ''. (See /config/configuration.yaml, line 335). Please check the docs at https://home-assistant.io/components/nibe/"
my API key is a mix of letter and numbers.
row: 335 is the first line "nibe:"
My config looks like this:
nibe:
systems:
- system:
units:
- unit: 0
climates: True
water_heaters: True
Would you consider changing the root folder for the repository to "custom_components" (like most other Hass custom components) so that it can be installed and updated through HACS (Custom repository) ?
Hey,
I see this in the README.md
# Optional smart thermostats.
thermostats:
# Key in dict is external identifer in nibe uplink, it should
# be an unique integer for this thermostat
1:
# Required friendly name of thermostat
name: "Kitchen Thermostat"
# Optional name of a home assistant entity representing current temperature
current_temperature: input_number.current
# Optional name of a home assistant entity representing valve position of
# a thermostat. At the moment it's use case is unknown.
# valve_position: input_number.valve
# List of systems that this thermostat is affecting. This is
# this is the sub climate system/area index (System 1, System 2, ..)
# that the pump is controlling.
systems: 1
What is the exact purpose of it? Will it create a smart thermostat the same way the nibe.set_thermostat function works? If so why aren't all the available parameters for this function available in the config file? i.e. I miss the target_temperature parameter.
Thanks!
Hi
Are you aware of the planned changes on January 31, 2019?
https://mailchi.mp/8decd30b962b/nibe-uplink-planerat-underhll-3528197?e=f356ff9c03
Tks for your great work!
/M
I tried adding the fan component to the configuration.yaml but I get the following error on startup:
The following components and platforms could not be set up:
nibe.fan
Please check your config.
When I validate the config, It says the config is valid?
Was this something new in 0.69.1 ? Suddenly my HASS cannot load NIBE..
Future exception was never retrieved
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/Users/cmj/.homeassistant/custom_components/nibe.py", line 181, in update_systems
for system in systems['objects'] if str(system['systemId']) in configs
File "/Users/cmj/.homeassistant/custom_components/nibe.py", line 181, in
for system in systems['objects'] if str(system['systemId']) in configs
File "/Users/cmj/.homeassistant/custom_components/nibe.py", line 225, in init
group = loader.get_component('group')
TypeError: get_component() missing 1 required positional argument: 'comp_or_platform'
Hi
I install other components without problems. After git clone and "nibe:" in configuration.yaml and restart(s), it still wont come any notification message or any configurable nibe integration. Nothing in logs...
Hi,
While browsing logs I just noticed that I get the following message repeatedly for many sensors in my system.
Does anyone else have it? If so, how did you solve it and make it disapear? The message does not make much sense to me.
Thanks!
2019-03-31 05:12:24 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.nibe_XXXXX_YYYYY fails
File "/config/custom_components/nibe/entity.py", line 250, in async_update
File "/config/custom_components/nibe/entity.py", line 149, in async_update
File "/config/custom_components/nibe/entity.py", line 144, in get
File "/config/deps/lib/python3.7/site-packages/nibeuplink/__init__.py", line 453, in get_parameter
File "/config/deps/lib/python3.7/site-packages/nibeuplink/__init__.py", line 424, in get_parameter_raw
File "/config/deps/lib/python3.7/site-packages/nibeuplink/__init__.py", line 367, in _request
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.nibeuplink.com:443 ssl:None [Try again]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.