peribeir / homeassistant-rademacher Goto Github PK
View Code? Open in Web Editor NEWThis custom integration provides access to Rademacher Devices connected to a HomePilot (or Start2Smart) bridge.
License: GNU General Public License v3.0
This custom integration provides access to Rademacher Devices connected to a HomePilot (or Start2Smart) bridge.
License: GNU General Public License v3.0
Hi,
could you please evaluate the 4 temperature thresholds ( TEMPERATURE_THRESH_1_CFG - TEMPERATURE_THRESH_4_CFG)? So that you could read them out and ideally also set them.
My heating and lowering temperatures are set individually in each room. I have set these in FHEM using these four threshold variables and have built my DO/IF's accordingly.
After I am just about to move from FHEM to Homeassistant, I am missing these values for the automations. To take auxiliary variables for it I would find somewhat cumbersome.
In addition, you could set the values on the device itself.
{"error_description":"OK","error_code":0,"payload":{"device":{"capabilities":[{"name":"TEMPERATURE_INT_CFG","value":"22.0","min_value":"-40.0","max_value":"80.0","step_size":"0.1","read_only":false,"timestamp":1682867652},{"name":"POS_UP_CMD","read_only":false,"timestamp":-1},{"name":"INC_CMD","read_only":false,"timestamp":-1},{"name":"VERSION_CFG","value":"1.3-1","read_only":false,"timestamp":1682867652},{"name":"PROD_CODE_DEVICE_LOC","value":"32501812_A","read_only":false,"timestamp":-1},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1682867652},{"name":"RESET_WO_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"CONTACT_OPEN_CMD","read_only":false,"timestamp":-1},{"name":"NAME_DEVICE_LOC","value":"AZ_Fussbodenheizung","read_only":false,"timestamp":-1},{"name":"PROT_ID_DEVICE_LOC","value":"7326b7_A_1","read_only":false,"timestamp":-1},{"name":"CURR_TEMPERATURE_THRESH_CFG","value":"1","min_value":"1","max_value":"4","step_size":"1","read_only":false,"timestamp":1682867652},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false,"timestamp":-1},{"name":"ICONSET_LOC","value":"iconset28","read_only":false,"timestamp":-1},{"name":"DEVICE_TYPE_LOC","value":"5","read_only":false,"timestamp":-1},{"name":"RELAIS_STATE_CFG","value":"false","read_only":false,"timestamp":1682867652},{"name":"ICONSET_INV_LOC","value":"false","read_only":false,"timestamp":-1},{"name":"RMT_STOP_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"VOICE_CONTROLLED_LOC","value":"Alexa,Google","read_only":false,"timestamp":-1},{"name":"REQ_STATUS_CMD","read_only":false,"timestamp":-1},{"name":"MAN_OVERW_ACTUATOR_CFG","value":"false","read_only":false,"timestamp":1682867652},{"name":"TARGET_TEMPERATURE_CFG","value":"21.0","min_value":"4.0","max_value":"40.0","step_size":"0.5","read_only":false,"timestamp":1682867652},{"name":"RESET_FULL_CMD","read_only":false,"timestamp":-1},{"name":"PUSH_CMD","read_only":false,"timestamp":-1},{"name":"PAIRING_CONFIRMED_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"TEMPERATURE_THRESH_2_CFG","value":"19.0","min_value":"4.0","max_value":"40.0","step_size":"0.5","read_only":false,"timestamp":1682867652},{"name":"ID_DEVICE_LOC","value":"4","read_only":false,"timestamp":-1},{"name":"PROTOCOL_ID_CFG","value":"7326b7","read_only":false,"timestamp":-1},{"name":"CONTACT_CLOSE_CMD","read_only":false,"timestamp":-1},{"name":"RMT_START_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"TEMPERATURE_THRESH_3_CFG","value":"10.0","min_value":"4.0","max_value":"40.0","step_size":"0.5","read_only":false,"timestamp":1682867652},{"name":"TEMPERATURE_THRESH_1_CFG","value":"22.0","min_value":"4.0","max_value":"40.0","step_size":"0.5","read_only":false,"timestamp":1682867652},{"name":"STOP_CMD","value":"false","read_only":false,"timestamp":-1},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"RMT_START_UNPAIR_CMD","read_only":false,"timestamp":-1},{"name":"TEMPERATURE_THRESH_4_CFG","value":"10.0","min_value":"4.0","max_value":"40.0","step_size":"0.5","read_only":false,"timestamp":1682867652},{"name":"POS_DOWN_CMD","read_only":false,"timestamp":-1},{"name":"DESCR_DEVICE_LOC","value":"Ihre Gerätebeschreibung","read_only":false,"timestamp":-1},{"name":"PING_CMD","read_only":false,"timestamp":-1},{"name":"DEC_CMD","read_only":false,"timestamp":-1}],"scenes":[]}}}
Hi,
Integration works good - but I have some dimmers in my homepilot- it is not found automatically. Maybe not supported ?
thanks for clarifying
After installing the integration in Version 1.4.0 with HACS and restarting HA I can see the following in the Home Assistant Log:
2022-02-09 07:44:52 INFO (MainThread) [custom_components.rademacher.config_flow] Starting DHCP Discovery with IP Address 192.168.178.20
2022-02-09 07:44:53 INFO (MainThread) [custom_components.rademacher.config_flow] Connection Test Successful (IP 192.168.178.20), no Password required
2022-02-09 07:44:53 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 203, in async_init
flow, result = await task
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 230, in _async_init
result = await self._async_handle_step(flow, flow.init_step, data, init_done)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 325, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/rademacher/config_flow.py", line 183, in async_step_dhcp
return await self.async_step_config()
File "/config/custom_components/rademacher/config_flow.py", line 54, in async_step_config
manager = await HomePilotManager.async_build_manager(
TypeError: async_build_manager() takes 1 positional argument but 2 were given
Also trying to add the integration manually is failing:
2022-02-09 07:47:05 INFO (MainThread) [custom_components.rademacher.config_flow] Starting manual config for IP 192.168.178.20
2022-02-09 07:47:05 ERROR (MainThread) [custom_components.rademacher.config_flow] Unexpected exception
Traceback (most recent call last):
File "/config/custom_components/rademacher/config_flow.py", line 112, in async_step_user
await self.async_set_unique_id(self.host)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1261, in async_set_unique_id
raise data_entry_flow.AbortFlow("already_in_progress")
homeassistant.data_entry_flow.AbortFlow: Flow aborted: already_in_progress
My Home Assistant installation is on RPI4 with HassOS (all latest version).
Hello,
another question from me. I was just checking the attributes of the smoke detector. The only attribute that is shown is the battery level, but not the smoke status.
Current device details from the Rademacher integration
same device via Homekit integration
{"error_description":"OK","error_code":0,"payload":{"device":{"capabilities":[{"name":"VERSION_CFG","value":"","read_only":false,"timestamp":-1},{"name":"BATT_VALUE_EVT","value":"100","read_only":true,"timestamp":1645459781},{"name":"PROD_CODE_DEVICE_LOC","value":"32001664","read_only":false,"timestamp":-1},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":-1},{"name":"NAME_DEVICE_LOC","value":"Rauchwarnmelder Amelie","read_only":false,"timestamp":-1},{"name":"PROT_ID_DEVICE_LOC","value":"ab5027_1","read_only":false,"timestamp":-1},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false,"timestamp":-1},{"name":"ICONSET_LOC","value":"iconset26","read_only":false,"timestamp":-1},{"name":"DEVICE_TYPE_LOC","value":"3","read_only":false,"timestamp":-1},{"name":"ICONSET_INV_LOC","value":"false","read_only":false,"timestamp":-1},{"name":"BATT_LOW_EVT","value":"false","read_only":true,"timestamp":-1},{"name":"PAIRING_CONFIRMED_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"BATTERY_LVL_PCT_MEA","value":"100","read_only":false,"timestamp":1645459781},{"name":"ID_DEVICE_LOC","value":"96","read_only":false,"timestamp":-1},{"name":"PROTOCOL_ID_CFG","value":"ab5027","read_only":false,"timestamp":-1},{"name":"SMOKE_STOP_EVT_PUSH_ENABLED","value":"false","read_only":false,"timestamp":-1},{"name":"SMOKE_DETECTION_MEA","value":"false","read_only":false,"timestamp":1601576037},{"name":"SMOKE_START_EVT_PUSH_ENABLED","value":"false","read_only":false,"timestamp":-1},{"name":"SMOKE_START_EVT","read_only":true,"timestamp":-1},{"name":"BATT_LOW_EVT_PUSH_TEXT","value":"","read_only":false,"timestamp":-1},{"name":"SMOKE_STOP_EVT_PUSH_TEXT","value":"","read_only":false,"timestamp":-1},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"SMOKE_START_EVT_PUSH_TEXT","value":"","read_only":false,"timestamp":-1},{"name":"SMOKE_STOP_EVT","read_only":true,"timestamp":1601576037},{"name":"BATT_LOW_EVT_PUSH_ENABLED","value":"false","read_only":false,"timestamp":-1},{"name":"DESCR_DEVICE_LOC","value":"Rauchwarnmelder Amelie","read_only":false,"timestamp":-1}],"scenes":[]}}}
Is there any chance to add the smoke status ?
Thanks, Andreas
Hey, i don't know if it's an issue with the integration or the actor? Is it possible to get an 'opening' or 'closing' state if the cover runs.
In my test the cover state changed only from open to close in 2 sek. while the cover is still running.
It’s not an issue, but not sure where to post this elsewhere.
What options do I have via HA to control the blinds?
Can I stop Rademacher blinds by % via HA automation, like 90% closed? And is the blind status pushed back to HA?
Thanks a lot for your work, appreciate it very much!
I received an update notification for my bridge today and updated its firmware from 5.5.10 to 5.7.15 in the Rademacher app, but the new update entity (release 1.12.1) still claims the bridge is on 5.5.10. Clicking "update" in the HA update notification has no effect.
The Connection to the Home Pilot is lost.
I have already done a new install. Now I have many mistakes. Version 1.9.0 and also 1.9.1.
Hi Pedro,
Acho que é Português, mas vou escrever em Inglês.
In the case of shutters (cover), is it not possible to invert the percentage? in the HomePilot system, for example, it appears 70% and in the HA it appears 30%.
Thanks,
JP
Continue of #68 side discussion
REST HTTP GET from RolloTron 1400 via http://bridge.local/devices/1
{"error_description":"OK","error_code":0,"payload":{"device":{"capabilities":[{"name":"INC_CMD","read_only":false,"timestamp":-1},{"name":"PROD_CODE_DEVICE_LOC","value":"14234511","read_only":false,"timestamp":-1},{"name":"GOTO_VENTIL_POS_CMD","read_only":false,"timestamp":-1},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1676845019},{"name":"NAME_DEVICE_LOC","value":"RolloTron Schlafzimmer","read_only":false,"timestamp":1676787879},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false,"timestamp":-1},{"name":"GOTO_DAWN_POS_CMD","read_only":false,"timestamp":-1},{"name":"REQ_STATUS_CMD","read_only":false,"timestamp":-1},{"name":"ID_DEVICE_LOC","value":"1","read_only":false,"timestamp":-1},{"name":"PROTOCOL_ID_CFG","value":"406d1d","read_only":false,"timestamp":-1},{"name":"GOTO_POS_CMD","min_value":"0","max_value":"100","step_size":"1","read_only":false,"timestamp":-1},{"name":"SUN_STOP_CMD","read_only":false,"timestamp":-1},{"name":"STOP_CMD","value":"false","read_only":false,"timestamp":-1},{"name":"BLOCK_DET_EVT_PUSH_TEXT","value":"Blockierung erkannt","read_only":false,"timestamp":1676714155},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"OBSTACLE_DET_EVT","value":"false","read_only":true,"timestamp":1676845019},{"name":"BLOCK_DET_EVT_PUSH_ENABLED","value":"true","read_only":false,"timestamp":1676714155},{"name":"BLOCK_DET_EVT","value":"false","read_only":true,"timestamp":1676845019},{"name":"POS_DOWN_CMD","read_only":false,"timestamp":-1},{"name":"DESCR_DEVICE_LOC","value":"","read_only":false,"timestamp":1676787877},{"name":"CURR_POS_CFG","value":"78","min_value":"0","max_value":"100","step_size":"1","read_only":false,"timestamp":1676845019},{"name":"POS_UP_CMD","read_only":false,"timestamp":-1},{"name":"VERSION_CFG","value":"1.5-2","read_only":false,"timestamp":1676845019},{"name":"RESET_WO_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"PROT_ID_DEVICE_LOC","value":"406d1d_1","read_only":false,"timestamp":-1},{"name":"OBSTACLE_DET_EVT_PUSH_TEXT","value":"Hindernis erkannt","read_only":false,"timestamp":1676714155},{"name":"VENTIL_POS_MODE_CFG","value":"true","read_only":false,"timestamp":1676845019},{"name":"ICONSET_LOC","value":"iconset8","read_only":false,"timestamp":1676714112},{"name":"DEVICE_TYPE_LOC","value":"2","read_only":false,"timestamp":-1},{"name":"ICONSET_INV_LOC","value":"false","read_only":false,"timestamp":-1},{"name":"RMT_STOP_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"VOICE_CONTROLLED_LOC","value":"Alexa,Google","read_only":false,"timestamp":-1},{"name":"VENTIL_POS_CFG","value":"78","min_value":"0","max_value":"100","step_size":"1","read_only":false,"timestamp":1676845019},{"name":"RESET_FULL_CMD","read_only":false,"timestamp":-1},{"name":"PUSH_CMD","read_only":false,"timestamp":-1},{"name":"PAIRING_CONFIRMED_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"RMT_START_PAIR_CMD","read_only":false,"timestamp":-1},{"name":"SUN_PROG_ACTIVE_EVT","value":"false","read_only":true,"timestamp":1676845019},{"name":"GOTO_DUSK_POS_CMD","read_only":false,"timestamp":-1},{"name":"SUN_START_CMD","read_only":false,"timestamp":-1},{"name":"OBSTACLE_DET_EVT_PUSH_ENABLED","value":"true","read_only":false,"timestamp":1676714155},{"name":"RMT_START_UNPAIR_CMD","read_only":false,"timestamp":-1},{"name":"PING_CMD","read_only":false,"timestamp":-1},{"name":"DEC_CMD","read_only":false,"timestamp":-1}],"scenes":[]}}}
I also have this multi-switch https://www.rademacher.de/shop/licht-heizung/fernbedienung/duofern-mehrfachwandtaster-bat-9494-1. So far with all the integrations I have up and running I never have seen this switch showing up except in homepilot itself. I'm just curious if there would be a way to integrate this device as well ?
PS: After some googleing I found this here https://community.home-assistant.io/t/rademacher-homepilot-in-home-assistant/204935/142 for the switch and I got it working.
Originally posted by @1192410 in #36 (comment)
Is it works as designed/implemented/technical possible (e.g. only polling each x seconds possible and no pushing/subscription to changed values if happeing)), that there is a long lag, for updating the current_position
of e.g. RolloTron Basis DuoFern 1200-UW
If I press up or down and then stop (on a position between open and closed), it takes very long time to update current_position and so I have to wait the same long time to be able to press the same direction again.
Hi Pedro,
first of all thanks for your integration. It works very well!!
Is it possible to show and set the target-temperature at the "Temperature sensor DuoFern Room thermostat (DN:32501812_S)". I could only see the actual temperature and not the target.
Hello,
first of all, thank you for your integration...my rollotube s-line duofern shutters work fine whithin HASS. Now I want to set the tilt position for the venetian blinds ( Raffstore ) which are connected to a duofern tabular motor actuator.
I sniffed the command from the HomePilot web-app for setting the tilt position:
{"name":"SET_SLAT_POS_CMD","value":51} for example.
I See that there is a home assistant option for those covers "cover.set_cover_tilt_position". I did some ugly tests within the cover.py script from you. But it did not react on my tryouts. So can you give me some hints?
Please let me know If you need more informations.
Hello,
for yet configured Rademacher device (in Home Assistant with created and working Automatizations) was changed IP address and now HA found new Rademachet instance.
How can be, in HA, changed IP address of Rademacher to new one?
Thanks.
Hi,
after the update to the latest version of home assistant the rademacher integration can not start anymore and gives following errors in the log:
I tried what the log said and opened the terminal and gave the pip install --upgrade pip command but it gave following error:
any help on this would be welcome :)
thanks in advance
Hello,
I have added 10 Rollo Tron to my Rademacher Bridge and all went fine in HA but if I add one more, all the time one of them is inactive. They switch around.
Please be so kind to check this if not more the 10 devices are supported.
Bes Regards
Alex
Hi Pedro,
I've registered the manual transmitter (6 Keys) at my homepilot. I'll be glad, if you could integrate it, too. Here is the output of the webinterface.
{"error_description":"OK","error_code":0,"payload":{"device":{"capabilities":[{"name":"KEY_DOWN_EVT","value":"3","min_value":"1","max_value":"6","step_size":"1","read_only":true,"timestamp":1648799046},{"name":"KEY_INC_EVT","min_value":"1","max_value":"6","step_size":"1","read_only":true,"timestamp":-1},{"name":"BATT_LOW_EVT","value":"false","read_only":true,"timestamp":1648799070},{"name":"PAIRING_CONFIRMED_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"ID_DEVICE_LOC","value":"1010030","read_only":false,"timestamp":-1},{"name":"PROTOCOL_ID_CFG","value":"a002aa","read_only":false,"timestamp":-1},{"name":"VERSION_CFG","value":"2.2-1","read_only":false,"timestamp":1648799070},{"name":"PROD_CODE_DEVICE_LOC","value":"32480366","read_only":false,"timestamp":-1},{"name":"REACHABILITY_EVT","value":"true","read_only":true,"timestamp":1648799070},{"name":"KEY_STOP_EVT","value":"1","min_value":"1","max_value":"6","step_size":"1","read_only":true,"timestamp":1648799070},{"name":"NAME_DEVICE_LOC","value":"DuoFern Handsender","read_only":false,"timestamp":1647787369},{"name":"PROT_ID_DEVICE_LOC","value":"a002aa_1","read_only":false,"timestamp":-1},{"name":"INTF_ID_DEVICE_LOC","value":"3","read_only":false,"timestamp":-1},{"name":"KEY_DEC_EVT","min_value":"1","max_value":"6","step_size":"1","read_only":true,"timestamp":-1},{"name":"KEY_UP_EVT","value":"3","min_value":"1","max_value":"6","step_size":"1","read_only":true,"timestamp":1648799054},{"name":"ICONSET_LOC","value":"iconset35","read_only":false,"timestamp":1647787354},{"name":"VIS_DEVICE_LOC","value":"true","read_only":false,"timestamp":-1},{"name":"DEVICE_TYPE_LOC","value":"10","read_only":false,"timestamp":-1},{"name":"ICONSET_INV_LOC","value":"false","read_only":false,"timestamp":-1},{"name":"DESCR_DEVICE_LOC","value":"Handsender","read_only":false,"timestamp":1647787543}],"scenes":[]}}}
By pushing a button the following entries will be updatet:
Best regards
Marcel
Hi Pedro,
question for you: Would it be possible to add the battery status to the thermostate ? the device call is as follow:
{"response":"get_device","device":{"description":"Heizkörper Esszimmer","deviceGroup":5,"did":87,"hasErrors":0,"iconSetInverted":0,"iconSet":{"k":"iconset28"},"messages":[],"name":"Heizkörper Esszimmer","properties":{"closingContact":3,"dawn":3,"dusk":3,"motion":3,"rain":3,"smartphone":3,"smoke":3,"sun":3,"temperature":3,"time":3,"trigger":3,"warning":3,"wind":3},"statusValid":true,"statusesMap":{"Manuellbetrieb":0,"Position":190,"acttemperatur":189},"visible":true,"deviceNumber":"35003064","uid":"e135ad_1","voiceControlledBy":"Alexa,Google","origin":"HomePilot","batteryStatus":100,"batteryLow":false,"posMin":40,"posMax":280,"sceneConfig":["DIRECT_FUNCTION_CMD","TARGET_TEMPERATURE_CFG","AUTO_MODE_CFG"]}}
Many thanks, Andreas
Hi,
I just saw this information in my HA logs, so I wanted to report it, maybe it's worth to follow up. Otherwise, just close the issue.
My Home Assistant setup:
arch: aarch64
channel: stable
docker: 20.10.9
hassos: "7.4"
homeassistant: 2022.2.9
hostname: hassio
logging: info
machine: raspberrypi4-64
operating_system: Home Assistant OS 7.4
supervisor: 2022.01.1
supported: true
supported_arch:
- aarch64
- armv7
- armhf
timezone: Europe/Berlin
Here the log entries which I'm wondering about when restarting:
2022-02-28 08:14:36 WARNING (MainThread) [homeassistant.util.executor] Thread[SyncWorker_16] is still running at shutdown: File "/usr/local/lib/python3.9/threading.py", line 930, in _bootstrap
self._bootstrap_inner()
File "/usr/local/lib/python3.9/threading.py", line 973, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.9/threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 77, in _worker
work_item.run()
File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/homematic/entity.py", line 268, in _update_variables
variables = self._homematic.getAllSystemVariables(self._name)
File "/usr/local/lib/python3.9/site-packages/pyhomematic/connection.py", line 117, in getAllSystemVariables
return self._server.getAllSystemVariables(remote)
File "/usr/local/lib/python3.9/site-packages/pyhomematic/_hm.py", line 793, in getAllSystemVariables
session = self.jsonRpcLogin(remote)
File "/usr/local/lib/python3.9/site-packages/pyhomematic/_hm.py", line 760, in jsonRpcLogin
response = self._rpcfunctions.jsonRpcPost(
File "/usr/local/lib/python3.9/site-packages/pyhomematic/_hm.py", line 382, in jsonRpcPost
resp = urllib.request.urlopen(req, context=ctx)
File "/usr/local/lib/python3.9/urllib/request.py", line 214, in urlopen
return opener.open(url, data, timeout)
File "/usr/local/lib/python3.9/urllib/request.py", line 517, in open
response = self._open(req, data)
File "/usr/local/lib/python3.9/urllib/request.py", line 534, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File "/usr/local/lib/python3.9/urllib/request.py", line 494, in _call_chain
result = func(*args)
File "/usr/local/lib/python3.9/urllib/request.py", line 1375, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "/usr/local/lib/python3.9/urllib/request.py", line 1350, in do_open
r = h.getresponse()
File "/usr/local/lib/python3.9/http/client.py", line 1371, in getresponse
response.begin()
File "/usr/local/lib/python3.9/http/client.py", line 319, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.9/http/client.py", line 280, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.9/socket.py", line 704, in readinto
return self._sock.recv_into(b)
Also I see this in the log when restarting HA:
2022-02-28 08:33:59 WARNING (MainThread) [homeassistant.core] Something is blocking Home Assistant from wrapping up the start up phase. We're going to continue anyway. Please report the following info at https://github.com/home-assistant/core/issues: rademacher, energy, stream, analytics, media_player, binary_sensor.rademacher, sensor.mobile_app, sensor.rademacher, network, sensor.mqtt, template, input_boolean, homematic, switch.tasmota, input_number, logbook, influxdb, camera.foscam, switch.fritzbox, person, fritzbox, sensor, group, foscam, map, telegram_bot, blueprint, ssdp, timer, recorder, mqtt, homeassistant, climate, sensor.utility_meter, notify.telegram, utility_meter, device_tracker.mobile_app, switch.rademacher, diagnostics, button.rademacher, sensor.hacs, onboarding, media_player.onkyo, system_log, http, webrtc, lovelace, binary_sensor.hassio, sensor.ios, notify, input_button, device_automation, button, fan.tasmota, input_text, webhook, weather.met, sun, script, updater, ipp, sensor.fritzbox, binary_sensor.mobile_app, cover.tasmota, tts.google_translate, notify.ios, sensor.tasmota, dhcp, usb, met, image, api, light, zone, mobile_app, persistent_notification, switch.esphome, rest, notify.mobile_app, sensor.esphome, light.fritzbox, tag, input_select, system_health, sensor.rest, tasmota, history, binary_sensor.esphome, sensor.ipp, climate.rademacher, cover, device_tracker, input_datetime, light.tasmota, search, counter, fan, ios, switch.mqtt, default_config, camera, binary_sensor, media_source, sensor.energy, frontend, config, websocket_api, cloud, hassio, esphome, climate.fritzbox, camera.generic, auth, automation, tts, sensor.template, scene.homeassistant, scene, sensor.hassio, binary_sensor.fritzbox, trace, weather, binary_sensor.tasmota, rest_command, my, zeroconf, cover.rademacher, hacs, switch, binary_sensor.updater
Regards,
Michel
Hi,
if a device is not reachable in Homepilot, it is possible to ping - and then it reconnects.
I noticed that the ping feature is also available in the integration. But as soon as a device is not available the ping is not possible, too.
Is there a chance to make this running like in the Homepilot?
Hey Pedro,
another question. This time about the door/window sensor. There is a tilt status in homepilot. Currently the sensor is setup as binary sensor. To get the tilt status I have a setup in nodered (screenshots below). Maybe that could be integrated here as well.
Attached are some details:
{"response":"get_meter","meter":{"description":"Fenster-/Türkontakt Esszimmer","deviceGroup":3,"did":93,"automations":[120],"readings":{"contact_state":"closed"},"batteryStatus":75,"batteryLow":false,"timestamp":1645803109,"iconSetInverted":0,"iconSet":{"k":"iconset27"},"name":"Fenster-/Türkontakt Esszimmer","statusValid":true,"deviceNumber":"32003164","uid":"ac29d2_1","visible":true}}
Thanks and have a good weekend.
Hi - 1.3.2 works fine and I am now replacing my HomePilot scenes rest_command by Home Assistant scenes:
blinds_set_scene:
url: "http://hkHomepilot.fritz.box/scenes/{{sid}}/actions"
method: POST
payload: '{ "request_type": "EXECUTESCENE", "trigger_event": "TRIGGER_SCENE_MANUALLY_EVT" }'
So last open topic is:
For all my systems I monitor "status running", "recent backups done" and whether "updates are available".
Is it possible to have the "update available" for the HomePilot 2 in you integration?
Currently I do that with the following sensors:
(HomePilot 2 is available at hkHomePilot.fritz.box = 192.168.178.15 - that is discovered by your integration (dhcp discovery))
in file binary sensor
- name: "SHS Homepilot Update Available"
state: "{{ state_attr('sensor.homepilot_update_and_version', 'update_status') != 'NO_UPDATE_AVAILABLE' }}"
device_class: update
in in configuration yaml:
rest:
# SHS System Health Service: HomePilot get update and version as attributes every day
- resource_template: "http://hkHomepilot.fritz.box/service/system-update-image/status"
method: "GET"
scan_interval: 86400
sensor:
name: "HomePilot Update And Version"
value_template: "{{ now() }}"
json_attributes:
- update_status
- version
Hi Pedro,
I will use Rademacher motion sensors 9484 soon.
Interested in integrate that device? :-)
Regards
Hi Pedro, you can add this model to the tested and working devices.
When HA starts it fails to launch Rademacher Integration and reports this error:
Unable to install package pyrademacher==0.6.6: ERROR: Cannot install pyrademacher==0.6.6 because these package versions have conflicting dependencies. ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts [notice] A new release of pip available: 22.3 -> 22.3.1 [notice] To update, run: pip install --upgrade pip
Hi Pedro!
I hope you're fine!
I've bought a Duofern Rollport sx5 for my garage. Perhaps you're interestet to integrate it. Let me know what you need.
Best regards
Marcel
Logger: homeassistant.setup
Source: setup.py:202
First occurred: 22:45:06 (1 occurrences)
Last logged: 22:45:06
Setup failed for custom integration rademacher: Requirements for rademacher not found: ['pyrademacher==0.6.7'].
Logger: homeassistant.util.package
Source: util/package.py:98
First occurred: 22:44:44 (3 occurrences)
Last logged: 22:45:06
Unable to install package pyrademacher==0.6.7: ERROR: Cannot install pyrademacher==0.6.7 because these package versions have conflicting dependencies. ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts [notice] A new release of pip available: 22.3 -> 22.3.1 [notice] To update, run: pip install --upgrade pip
Hi. In case you would like to see the HomePilot in your Home Assistatn side menu you could add the following data to configuration yaml. You have to replace the url with your ipv4 address or DNS name.
One restriction: Using the this link, the backup does not work.
# Panel HomePilot, external address
panel_iframe:
homepilot:
title: "HomePilot"
url: "http://hkHomepilot.fritz.box"
icon: mdi:window-shutter
In #83 it was discovered that there is a new kind of Gateway that works with the DuoFern devices by Rademacher. I own the older Rademacher HomePilot Gateway, which has been working fine with this Add-On for two years now. My Gateway now offers me an update from SW Version 5.5.10 to 5.7.15. The Changelog boldly states that "Rademacher is now HomePilot". This makes me wonder: Will my gateway become unusable with this Add-On if I do the update, or is it safe to do the update?
Hey,
do you plan to add support for the DuoFern Connect-Aktor?
https://www.rademacher.de/shop/rollladen-sonnenschutz/steuerung/duofern-connect-aktor-9477
Hi Pedro,
the integration does not start.
regards
Alex
Logger: custom_components.rademacher
Source: custom_components/rademacher/init.py:66
Integration: Rademacher HomePilot (documentation, issues)
First occurred: 10:09:27 (24 occurrences)
Last logged: 10:37:47
Unexpected error fetching rademacher data: 'sun_brightness'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 187, in _async_refresh
self.data = await self._async_update_data()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 147, in _async_update_data
return await self.update_method()
File "/config/custom_components/rademacher/init.py", line 66, in async_update_data
return await manager.update_states()
File "/usr/local/lib/python3.9/site-packages/homepilot/manager.py", line 72, in update_states
device.update_state(states[did])
File "/usr/local/lib/python3.9/site-packages/homepilot/sensor.py", line 143, in update_state
self.brightness_value = state["readings"]["sun_brightness"]
KeyError: 'sun_brightness'
--
Hey,
I noticed that the door/window sensors are no longer available when the tilt status is selected in the options section. This feature was working fine for a while, thanks to Pedro, but now it seems to be broken. Can you take a look into it? I've attached some screenshots to help you understand the issue. Let me know if you need any assistance in testing the fixes.
Thanks,
Andreas
Home Assistant now offers support for Thord-Party Repositories in its Add-On Store (Manual). Please support installing homeassistant-rademacher through the Add-On Store. It is a lot less hassle than Using HACS, let alone manually installing and updating the Rademacher Add-On.
Jul 20 23:22:17 homeassistant hass[1030]: 2023-07-20 23:22:17.016 ERROR (MainThread) [homeassistant.loader] Unexpected exception importing platform custom_components.rademacher.config_flow
Jul 20 23:22:17 homeassistant hass[1030]: Traceback (most recent call last):
Jul 20 23:22:17 homeassistant hass[1030]: File "/srv/homeassistant/lib/python3.9/site-packages/homeassistant/loader.py", line 744, in get_platform
Jul 20 23:22:17 homeassistant hass[1030]: cache[full_name] = self._import_platform(platform_name)
Jul 20 23:22:17 homeassistant hass[1030]: File "/srv/homeassistant/lib/python3.9/site-packages/homeassistant/loader.py", line 761, in _import_platform
Jul 20 23:22:17 homeassistant hass[1030]: return importlib.import_module(f"{self.pkg_path}.{platform_name}")
Jul 20 23:22:17 homeassistant hass[1030]: File "/usr/lib/python3.9/importlib/init.py", line 127, in import_module
Jul 20 23:22:17 homeassistant hass[1030]: return _bootstrap._gcd_import(name[level:], package, level)
Jul 20 23:22:17 homeassistant hass[1030]: File "", line 1030, in _gcd_import
Jul 20 23:22:17 homeassistant hass[1030]: File "", line 1007, in _find_and_load
Jul 20 23:22:17 homeassistant hass[1030]: File "", line 972, in _find_and_load_unlocked
Jul 20 23:22:17 homeassistant hass[1030]: File "", line 228, in _call_with_frames_removed
Jul 20 23:22:17 homeassistant hass[1030]: File "", line 1030, in _gcd_import
Jul 20 23:22:17 homeassistant hass[1030]: File "", line 1007, in _find_and_load
Jul 20 23:22:17 homeassistant hass[1030]: File "", line 986, in _find_and_load_unlocked
Jul 20 23:22:17 homeassistant hass[1030]: File "", line 680, in _load_unlocked
Jul 20 23:22:17 homeassistant hass[1030]: File "", line 790, in exec_module
Jul 20 23:22:17 homeassistant hass[1030]: File "", line 228, in _call_with_frames_removed
Jul 20 23:22:17 homeassistant hass[1030]: File "/home/homeassistant/.homeassistant/custom_components/rademacher/init.py", line 24, in
Jul 20 23:22:17 homeassistant hass[1030]: from homepilot.manager import HomePilotManager
Jul 20 23:22:17 homeassistant hass[1030]: File "/srv/homeassistant/lib/python3.9/site-packages/homepilot/manager.py", line 5, in
Jul 20 23:22:17 homeassistant hass[1030]: from .hub import HomePilotHub
Jul 20 23:22:17 homeassistant hass[1030]: File "/srv/homeassistant/lib/python3.9/site-packages/homepilot/hub.py", line 14, in
Jul 20 23:22:17 homeassistant hass[1030]: class HomePilotHub(HomePilotDevice):
Jul 20 23:22:17 homeassistant hass[1030]: File "/srv/homeassistant/lib/python3.9/site-packages/homepilot/hub.py", line 23, in HomePilotHub
Jul 20 23:22:17 homeassistant hass[1030]: _download_progress: int | bool
Jul 20 23:22:17 homeassistant hass[1030]: TypeError: unsupported operand type(s) for |: 'type' and 'type'
Jul 20 23:22:17 homeassistant hass[1030]: 2023-07-20 23:22:17.023 ERROR (MainThread) [homeassistant.config_entries] Error occurred loading configuration flow for integration rademacher: Exception importing custom_components.rademacher.config_flow
Running Rademacher Brige on the latest version 5.5.10
.
I set the password to protect the bridge from the unauthorized access.
Integration fails to ask for the password.
Once in enter the password, it shows Unknown Exception
.
Existing configuration fails with Config flow could not be loaded: 500 Internal Server Error Server got itself in trouble
I see from the code, that generally integration supports configuration flow with the password, but for some reason it does not work.
THe Bridge behaves normally - I have to log in using password when I enable it.
Once I disable password, integration works again normally, as expected.
I use the latest version of the integration - v1.11.1
Debug logs:
Logger: homeassistant.config_entries
Source: custom_components/rademacher/__init__.py:53
Integration: Rademacher HomePilot ([documentation](https://github.com/peribeir/homeassistant-rademacher), [issues](https://github.com/peribeir/homeassistant-rademacher/issues))
First occurred: 10:41:55 (1 occurrences)
Last logged: 10:41:55
Error setting up entry Host: 192.168.xx.yy for rademacher
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 383, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/rademacher/__init__.py", line 53, in async_setup_entry
manager = await HomePilotManager.async_build_manager(api)
File "/usr/local/lib/python3.10/site-packages/homepilot/manager.py", line 34, in async_build_manager
for id_type in await manager.get_device_ids_types()
File "/usr/local/lib/python3.10/site-packages/homepilot/manager.py", line 98, in get_device_ids_types
devices = await self.api.get_devices()
File "/usr/local/lib/python3.10/site-packages/homepilot/api.py", line 83, in get_devices
response = await response.json()
File "/usr/local/lib/python3.10/site-packages/aiohttp/client_reqrep.py", line 1104, in json
raise ContentTypeError(
aiohttp.client_exceptions.ContentTypeError: 0, message='Attempt to decode JSON with unexpected mimetype: text/html;charset=utf-8', url=URL('http://192.168.xx.yy/devices')
Logger: custom_components.rademacher
Source: custom_components/rademacher/init.py:67
Integration: Rademacher HomePilot (documentation, issues)
First occurred: 08:48:53 (12 occurrences)
Last logged: 08:54:22
Unexpected error fetching rademacher data: 'slatposition'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 205, in _async_refresh
self.data = await self._async_update_data()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 164, in _async_update_data
return await self.update_method()
File "/config/custom_components/rademacher/init.py", line 67, in async_update_data
return await manager.update_states()
File "/usr/local/lib/python3.10/site-packages/homepilot/manager.py", line 88, in update_states
device.update_state(states[did])
File "/usr/local/lib/python3.10/site-packages/homepilot/cover.py", line 101, in update_state
self.cover_tilt_position = 100 - state["statusesMap"][
KeyError: 'slatposition'
Hello,
first I want to say thank you for developing that integration. I have a quite a few devices up and running and had connected it in the past through the API or Hoobs. Unfortunately I cannot connect to the integration with the following error messages:
2022-02-22 20:36:24 ERROR (MainThread) [homeassistant.config_entries] Error occurred loading configuration flow for integration tahoma: Exception importing custom_components.tahoma.config_flow
2022-02-22 20:36:24 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 203, in async_init
flow, result = await task
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 230, in _async_init
result = await self._async_handle_step(flow, flow.init_step, data, init_done)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 325, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/rademacher/config_flow.py", line 183, in async_step_dhcp
return await self.async_step_config()
File "/config/custom_components/rademacher/config_flow.py", line 57, in async_step_config
manager = await HomePilotManager.async_build_manager(api)
File "/usr/local/lib/python3.9/site-packages/homepilot/manager.py", line 31, in async_build_manager
manager.devices = {
File "/usr/local/lib/python3.9/site-packages/homepilot/manager.py", line 32, in
id_type["did"]: await HomePilotManager.async_build_device(manager.api, id_type)
File "/usr/local/lib/python3.9/site-packages/homepilot/manager.py", line 49, in async_build_device
return await HomePilotThermostat.async_build_from_api(api, id_type["did"])
File "/usr/local/lib/python3.9/site-packages/homepilot/thermostat.py", line 101, in async_build_from_api
min_temperature=float(
TypeError: float() argument must be a string or a number, not 'NoneType'
2022-02-22 20:36:32 ERROR (MainThread) [pyhap.hap_handler] ('192.168.1.82', 64281): Client 18918035-6c91-4867-b0d0-f4fd6eca1fb2 attempted pair verify without being paired to HASS Bridge CI first.
2022-02-22 20:36:32 ERROR (MainThread) [pyhap.hap_handler] ('192.168.1.44', 57561): Client 18918035-6c91-4867-b0d0-f4fd6eca1fb2 attempted pair verify without being paired to HASS Bridge CI first.
The IP address entered is 192.168.1.97 and is correct. Any help would be much appreciated.
Thanks, Andreas
Will also Duofern Actors be able to integrate? Models 947X
Hi thanks for this great integration. It replaces a lot of my "REST API calls" /sensor templates.
The update to 1.3.0 did work fine (I removed the old integration and folder manually), then used HACS to install 1.3.0
Today I tried to update via HACS from 1.3.0 to 1.3.1 but the update failed an all my covers were unavailable.
Unfortunately I can not provide you with any log messages. Sorry for that. I had to restore a full backup because I accidentally deleted important HA files as I tried to get the covers work again. :-(
So this is just a "heads up" message. Would be interesting whether others also had the issues.
Installation with newest software:
HomePilot 2
I think some update HA or Rademacher broke the functionality.
Rademacher doesn't show up under Integrations any longer...
Hi there,
Is there a way to integrate "scenes" which are set up in the HomePilot into HomeAssistant?
It would be great to have the HomePilot-scenes available in HomeAssistant so that I do not have to replicate them as separate HomeAssistant automations.
Many thanks, Ralph
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.