shbatm / hacs-isy994 Goto Github PK
View Code? Open in Web Editor NEWCustom Integration for ISY994 with Home Assistant (for use with HACS)
Custom Integration for ISY994 with Home Assistant (for use with HACS)
Version 1.1
2020-03-06 18:10:01 WARNING (MainThread) [homeassistant.components.media_player] Updating roku media_player took longer than the scheduled update interval 0:00:10
2020-03-06 18:10:07 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1344947856] 'Group' object has no attribute 'on'
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/websocket_api/commands.py", line 134, in handle_call_service
connection.context(msg),
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/core.py", line 1230, in async_call
await asyncio.shield(self._execute_service(handler, service_call))
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/core.py", line 1253, in _execute_service
await handler.func(service_call)
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity_component.py", line 198, in handle_service
self._platforms.values(), func, call, required_features
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/service.py", line 402, in entity_service_call
future.result() # pop exception if have
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 590, in async_request_call
await coro
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/service.py", line 433, in _handle_entity_call
await result
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 615, in async_turn_on
await self.hass.async_add_job(ft.partial(self.turn_on, **kwargs))
File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/home/homeassistant/.homeassistant/custom_components/isy994/switch.py", line 61, in turn_on
if not self._node.on():
AttributeError: 'Group' object has no attribute 'on'
Need to add services to allow:
[ ] Fast On / Fast Off Commands
[ ] Fade Up/Down/Stop Commands
[ ] Scene DIM/BRIGHTEN (3% bump) Commands
[ ] Generic ISY Device Commands
[ ] Live Reload of ISY Nodes (disconnect, update, reconnect, reprocess nodes) so that Home Assistant doesn't need to be restarted every time something is changed in the ISY.
V 1.3.3 of the ISY994 component.
V 0.108.3 of HA
I'm getting the following error in the log:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 186, in _async_setup_platform
await asyncio.gather(*pending)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 295, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 346, in _async_add_entity
device_info = entity.device_info
File "/config/custom_components/isy994/init.py", line 687, in device_info
device_info["model"] += (
KeyError: 'model'
The same error is happening for a lock.
ISY Custom Component yields fatal error upon update to HA Core 0.109.
Some forum posts suggest that this is affecting the native component and this Custom Component while some state that the native component is working:
Reverted back to 0.108.9, so do not have the exact error in front of me, sorry.
Hi again
this is tested with version HACS 1.3.6. on HASS 0.108.6
get a series of error with the climate module.
see log capture:
2020-04-22 15:31:06 WARNING (SyncWorker_7) [custom_components.isy994] Bad ISY Request: http://192.168.3.9:80/rest/vars/definitions/2 404: retry #0
2020-04-22 15:31:07 WARNING (SyncWorker_7) [custom_components.isy994] Bad ISY Request: http://192.168.3.9:80/rest/vars/definitions/2 404: retry #1
2020-04-22 15:31:08 WARNING (SyncWorker_7) [custom_components.isy994] Bad ISY Request: http://192.168.3.9:80/rest/vars/definitions/2 404: retry #2
2020-04-22 15:31:09 WARNING (SyncWorker_7) [custom_components.isy994] Bad ISY Request: http://192.168.3.9:80/rest/vars/definitions/2 404: retry #3
2020-04-22 15:31:10 WARNING (SyncWorker_7) [custom_components.isy994] Bad ISY Request: http://192.168.3.9:80/rest/vars/definitions/2 404: retry #4
2020-04-22 15:31:11 WARNING (SyncWorker_7) [custom_components.isy994] Bad ISY Request: http://192.168.3.9:80/rest/vars/definitions/2 404: retry #5
2020-04-22 15:31:11 ERROR (SyncWorker_7) [custom_components.isy994] Bad ISY Request: http://192.168.3.9:80/rest/vars/definitions/2 404: Failed after 5 retries
2020-04-22 15:31:13 ERROR (MainThread) [homeassistant.components.climate] Error while setting up isy994 platform for climate
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 186, in _async_setup_platform
await asyncio.gather(*pending)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 295, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 447, in _async_add_entity
await entity.async_update_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 284, in async_update_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 320, in _async_write_ha_state
state = self.state
File "/config/custom_components/isy994/init.py", line 740, in state
return super().state
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 165, in state
return self.hvac_mode
File "/config/custom_components/isy994/climate.py", line 138, in hvac_mode
return UOM_TO_STATES[self._node.aux_properties[CMD_CLIMATE_MODE].uom].get(
KeyError: 'n/a'
2020-04-22 15:31:13 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 284, in async_update_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 320, in _async_write_ha_state
state = self.state
File "/config/custom_components/isy994/init.py", line 740, in state
return super().state
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 165, in state
return self.hvac_mode
File "/config/custom_components/isy994/climate.py", line 138, in hvac_mode
return UOM_TO_STATES[self._node.aux_properties[CMD_CLIMATE_MODE].uom].get(
KeyError: ''
last stack repeats 4 more times.
The device is listed under the entities under configuration
Thank for your work.
I'm not sure how long this has been going on, but I noticed that my config check is now failing with the following error, apparently during the installation of PyISY_beta. The config works fine, including interop with the ISY and exposed Insteon devices, so this doesn't seem like a real runtime problem.
I'm currently running 0.108.5 of "supervised Home Assistant" and v0.24.0 of the custom component, but haven't yet gone back and see if these versions are problematic. Is anyone else seeing something similar?
rcoleman@rcoleman-linux ~ % ./ha core check
Error: Testing configuration at /config
INFO:homeassistant.util.package:Attempting install of PyISY_beta==2.0.0rc4
ERROR:homeassistant.scripts.check_config:BURB
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3028, in _dep_map
return self.__dep_map
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2822, in __getattr__
raise AttributeError(attr)
AttributeError: _DistInfoDistribution__dep_map
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3019, in _parsed_pkg_info
return self._pkg_info
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2822, in __getattr__
raise AttributeError(attr)
AttributeError: _pkg_info
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/scripts/check_config.py", line 204, in check
async_check_ha_config_file(hass)
File "/usr/local/lib/python3.7/asyncio/base_events.py", line 587, in run_until _complete
return future.result()
File "/usr/src/homeassistant/homeassistant/helpers/check_config.py", line 121, in async_check_ha_config_file
component = integration.get_component()
File "/usr/src/homeassistant/homeassistant/loader.py", line 268, in get_compon ent
cache[self.domain] = importlib.import_module(self.pkg_path)
File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_mod ule
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/config/custom_components/isy994/__init__.py", line 8, in <module>
from pyisy import ISY
File "/usr/local/lib/python3.7/site-packages/pyisy/__init__.py", line 29, in < module>
__version__ = pkg_resources.get_distribution("pyisy-beta").version
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 482, in get_distribution
dist = get_provider(dist)
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 358, in get_provider
return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 901, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 795, in resolve
new_requirements = dist.requires(req.extras)[::-1]
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2743, in requires
dm = self._dep_map
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3030, in _dep_map
self.__dep_map = self._compute_dependencies()
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3039, in _compute_dependencies
for req in self._parsed_pkg_info.get_all('Requires-Dist') or []:
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3021, in _parsed_pkg_info
metadata = self.get_metadata(self.PKG_INFO)
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1422, in get_metadata
value = self._get(path)
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1618, in _get
with open(path, 'rb') as stream:
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3. 7/site-packages/urllib3-1.25.8.dist-info/METADATA'
Fatal error while loading config: [Errno 2] No such file or directory: '/usr/loc al/lib/python3.7/site-packages/urllib3-1.25.8.dist-info/METADATA'
Failed config
General Errors:
- [Errno 2] No such file or directory: '/usr/local/lib/python3.7/site-packag es/urllib3-1.25.8.dist-info/METADATA'
Successful config (partial)
My other I/O Linc that is acting the same way doesn’t have sensor in the name and is only mentioned in customize.yaml (which of course isn’t working since there I refer to it as a switch and it’s coming in as a sensor):
switch.projector_screen_trigger:
hidden: true
The developer tools show:
Entity | State | Attributes |
---|---|---|
sensor.projector_screen | 0.0 | unit_of_measurement: 100 friendly_name: Projector Screen |
sensor.projector_screen_trigger | 0.0 | unit_of_measurement: 100 friendly_name: Projector Screen Trigger |
And the nodes look like:
Copy to clipboard
<node flag="128" nodeDefId="BinaryControl_ADV">
<address>28 C0 72 1</address>
<name>Projector Screen Trigger</name>
<parent type="3">62374</parent>
<type>7.0.65.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<startDelay>0</startDelay>
<endDelay>0</endDelay>
<pnode>28 C0 72 1</pnode>
<property id="ST" value="0" formatted="Off" uom="100"/>
</node>
<node flag="0" nodeDefId="RelayLampOnly">
<address>28 C0 72 2</address>
<name>Projector Screen</name>
<parent type="3">62374</parent>
<type>7.0.65.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<startDelay>0</startDelay>
https://community.home-assistant.io/t/insteon-thermostat-2441th-for-isy/97821/62
With update to 1.3.1 from 1.2.2, when changing fan speeds in HA the speed attribute disappears from the FanLinc entry. However if you change the speed from an external source the speed attribute reappears with the correct status returned.
Within ISY994 console, I have configured a light to have an On Level (Applied Locally)
of 50% (127). In Home Assistant, if I issue a service call for light.turn_on
with service data of entity_id: light.kitchen_light
and brightness: 255
the light turns on to 50% (On Level). This is incorrect behavior and the light should turn on to full brightness.
After some testing and watching "Event Viewer" in ISY994, it looks like there is some special behavior within HASS for brightness levels 255 vs. 254. Specifically, light.turn_on
with:
brightness: 255
- light turns on to 127 (NOT expected, this is the OnLevel bug)brightness: 254
- light turns on to 255 (NOT expected)brightness: 253
- light turns on to 253 (expected)I modified light.py to take advantage of this special treatment of 255 vs. 254 and the bug goes away. Here is the diff:
def turn_on(self, brightness=None, **kwargs) -> None:
"""Send the turn on command to the ISY994 light device."""
+ if brightness==255:
+ brightness=254
if not self._node.on(val=brightness):
_LOGGER.debug("Unable to turn on light")
I've tried upgrading to the latest version of the integration, and it's not loading properly for me.
HA: 0.106.2
hacs-isy994: 1.0.12 & 1.0.14
HA spits out the obligatory, "this integration failed to load"..
I've tried downgrading to 1.0.12, same issue, upgrading to 1.0.12, same issue.
Next step is to remove & re-add entirely.
Logs:
2020-02-29 11:23:18 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for isy994 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.
2020-02-29 11:23:26 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/1 404: retry #0
2020-02-29 11:23:28 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/1 404: retry #1
2020-02-29 11:23:29 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/1 404: retry #2
2020-02-29 11:23:30 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/1 404: retry #3
2020-02-29 11:23:31 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/1 404: retry #4
2020-02-29 11:23:32 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/1 404: retry #5
2020-02-29 11:23:32 ERROR (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/1 404: Failed after 5 retries
2020-02-29 11:23:32 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/2 404: retry #0
2020-02-29 11:23:33 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/2 404: retry #1
2020-02-29 11:23:34 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/2 404: retry #2
2020-02-29 11:23:35 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/2 404: retry #3
2020-02-29 11:23:36 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/2 404: retry #4
2020-02-29 11:23:37 WARNING (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/2 404: retry #5
2020-02-29 11:23:37 ERROR (MainThread) [custom_components.isy994] Bad ISY Request: http://192.168.2.50:80/rest/vars/definitions/2 404: Failed after 5 retries
2020-02-29 11:23:37 ERROR (MainThread) [homeassistant.setup] Error during setup of component isy994
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 170, in _async_setup_component
hass, processed_config
File "/config/custom_components/isy994/__init__.py", line 484, in async_setup
log=_LOGGER,
File "/usr/local/lib/python3.7/site-packages/PyISY/isy.py", line 87, in __init__
var_xml=self.conn.get_variables(),
File "/usr/local/lib/python3.7/site-packages/PyISY/Variables/__init__.py", line 65, in __init__
self.parse_definitions(def_xml)
File "/usr/local/lib/python3.7/site-packages/PyISY/Variables/__init__.py", line 87, in parse_definitions
xmldocs = [minidom.parseString(xml) for xml in xmls]
File "/usr/local/lib/python3.7/site-packages/PyISY/Variables/__init__.py", line 87, in <listcomp>
xmldocs = [minidom.parseString(xml) for xml in xmls]
File "/usr/local/lib/python3.7/xml/dom/minidom.py", line 1968, in parseString
return expatbuilder.parseString(string)
File "/usr/local/lib/python3.7/xml/dom/expatbuilder.py", line 925, in parseString
return builder.parseString(string)
File "/usr/local/lib/python3.7/xml/dom/expatbuilder.py", line 223, in parseString
parser.Parse(string, True)
TypeError: a bytes-like object is required, not 'NoneType'
Let me know if you need more details, and thanks!
After upgrading from 1.2.2 to 1.3.1, all variable sensors have a state of "unknown".
Running HA 0.107.7.
ISY v5.0.16C.
Let me know what other info is needed.
Error during setup of component isy994
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 172, in _async_setup_component
hass, processed_config
File "/config/custom_components/isy994/init.py", line 482, in async_setup
_categorize_nodes(hass, isy.nodes, ignore_identifier, sensor_identifier)
File "/config/custom_components/isy994/init.py", line 348, in _categorize_nodes
if _check_for_insteon_type(hass, node):
File "/config/custom_components/isy994/init.py", line 198, in _check_for_insteon_type
if domain == "binary_sensor" and int(node.nid[-1]) == 2:
ValueError: invalid literal for int() with base 10: 'D'
Need to update this custom_component to replace all loose strings for each platform domain with the proper string literal constant from that domain.
e.g. "binary_sensor"
should be from homeassistant.components.binary_sensor import DOMAIN as BINARY_SENSOR
This won't actually work until merged back into HA core since discovery needs to start the config flow based on the name registered in manifest.json
python3 -m netdisco dump
<UPNPEntry http://192.168.1.32/desc - upnp:rootdevice>,
<UPNPEntry http://192.168.1.32/desc - uuid:[snip]>,
<UPNPEntry http://192.168.1.32/desc - urn:udi-com:device:X_Insteon_Lighting_Device:1>,
<UPNPEntry http://192.168.1.32/desc - urn:udi-com:service:X_Insteon_Lighting_Service:1>,
async def async_step_ssdp(self, discovery_info):
"""Handle a discovered ISY994 device."""
_LOGGER.debug("SSDP discovery_info: %s", discovery_info)
parsed_url = urlparse(discovery_info[ssdp.ATTR_SSDP_LOCATION])
friendly_name = discovery_info[ssdp.ATTR_UPNP_FRIENDLY_NAME]
...
return await self.async_step_user(prefilled_data)
When generating a new 'thermostat' card in Home Assistant with HACS ISY on a version greater than 1.0.15 the card grays out and states "Unavailable" with access to climate functions being entirely disabled.
This error should be easy to reproduce by simply deleting your exisiting thermostat card and trying to recreate it on the latest version of HACS ISY.
Error:
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 434, in _async_add_entity
await entity.async_update_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 284, in async_update_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 327, in _async_write_ha_state
attr.update(self.state_attributes or {})
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 236, in state_attributes
self.target_temperature_low,
File "/config/custom_components/isy994/climate.py", line 173, in target_temperature_low
self._node.aux_properties[PROP_SETPOINT_HEAT].formatted.replace("°", "")
ValueError: could not convert string to float:
Some devices on the ISY cannot be controlled via the REST interface (or Insteon protocol), such as the KeypadLinc children buttons and RemoteLincs. These devices are control-only, but there is currently no way to add them to the ISY without adding them as an entity.
Proposal: add a binary_sensor for the ISY itself to show connection status, and then subscribe to the change events for these types of devices under that parent device. That way, isy994_control
events can be fired for them, but we don't need to include them as stand-alone entities.
can't change the RGB code of the bulbs, either through automations or an entity panel.
@shbatm, v1.1.1 just installed and I am getting this configuration error again. I did not changed my configuration.yaml, I just installed the ISY994 v1.1.1 update.
@shbatm I have tried another clean install of v1.3.3 on HA 0.108.3 and I am running into some issues.
The logs show the following just after installation via HACS then integrations.
2020-04-11 13:35:09 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry ISY - House (192.168.0.3) for isy994
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 216, in async_setup
hass, self
File "/config/custom_components/isy994/__init__.py", line 519, in async_setup_entry
webroot=host.path,
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.7/site-packages/pyisy/isy.py", line 93, in __init__
self.networking = NetworkResources(self, xml=self.conn.get_network())
File "/usr/local/lib/python3.7/site-packages/pyisy/networking.py", line 56, in __init__
self.parse(xml)
File "/usr/local/lib/python3.7/site-packages/pyisy/networking.py", line 65, in parse
xmldoc = minidom.parseString(xml)
File "/usr/local/lib/python3.7/xml/dom/minidom.py", line 1968, in parseString
return expatbuilder.parseString(string)
File "/usr/local/lib/python3.7/xml/dom/expatbuilder.py", line 925, in parseString
return builder.parseString(string)
File "/usr/local/lib/python3.7/xml/dom/expatbuilder.py", line 223, in parseString
parser.Parse(string, True)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 1, column 13031
I only did an integration for 192.168.0.3 (House) but 192.168.0.2 (Shop) is also shown in states and they both have the same site_id:?
HACS ISY994 version: 1.2.1
HA: 107.1
My thermostat simply says n/a. More digging shows: Entity not available: climate.thermostat
I believe the relevant logs are
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 334, in _async_add_entity
device_info = entity.device_info
File "/config/custom_components/isy994/__init__.py", line 690, in device_info
device_info["model"] += (
KeyError: 'model'
2020-03-19 11:16:52 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 334, in _async_add_entity
device_info = entity.device_info
File "/config/custom_components/isy994/__init__.py", line 690, in device_info
device_info["model"] += (
KeyError: 'model'
I've logged into my ISY, and can query, the thermostat just fine. I've also adjusted the temperature on the thermostat, as well as the ISY so I'm fairly certain communication is working there. Coincidentally I also recently replaced the batteries in my thermostat- which I believe had nothing todo with this problem.
Happy to provide as much details as possible.
Cheers.
‘’’
Unable to install package PyISY_beta==2.0.0.dev84: ERROR: Command errored out with exit status 1:
command: /home/pashdown/homeassistant/bin/python3.7 /home/pashdown/homeassistant/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp138fzsp0
cwd: /tmp/pip-install-dvy_81nl/PyISY-beta
Complete output (51 lines):
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Traceback (most recent call last):
File "/tmp/pip-build-env-evqxx96c/normal/lib/python3.7/site-packages/setuptools_git_version.py", line 10, in validate_version_format
version = check_output(command.split()).decode('utf-8').strip()
File "/usr/lib/python3.7/subprocess.py", line 411, in check_output
**kwargs).stdout
File "/usr/lib/python3.7/subprocess.py", line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['git', 'describe', '--tags', '--long', '--dirty']' returned non-zero exit status 128.
‘’’
2020-05-02 15:31:16 INFO (MainThread) [custom_components.isy994.config_flow] ISY Request: http://192.168.10.18:80/rest/config
2020-05-02 15:31:17 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for isy994 doing I/O at custom_components/isy994/config_flow.py, line 81: partial(Configuration, log=_LOGGER, xml=isy_conn.get_config())
@bdraco - Thoughts?
I had dimmers LightA(1.1) and LightB(1.2). My device 1.2 died. Only spare I had was a OnOff switch. Since LightB has to be a dimmer I rewired dimmer 1.1 to LightB and wired onoff 1.3 on LightA. I then went into the ISY UI and deleted LightB, renamed LightA to LightB, named the new OnOff LightB and fixed up the groups. This all worked fine in the ISY.
HA got confused. The new OnOff device is missing (note this device name switched from being a dimmer to an OnOff). I also have two groups LightB, an old one switch.lightb and a new one switch.lightb_2. There should only be one.
So how do I get the HA and ISY synced again after edits like this?
2020-03-15 21:51:37 ERROR (MainThread) [custom_components.isy994.config_flow] Unexpected exception
Traceback (most recent call last):
File "/config/custom_components/isy994/config_flow.py", line 100, in async_step_user
info = await validate_input(self.hass, user_input)
File "/config/custom_components/isy994/config_flow.py", line 72, in validate_input
log=_LOGGER,
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
TypeError: __init__() got an unexpected keyword argument 'log'
Tracking it down now
Thanks for all your awesome work and support, hope the things I continue to find are useful and help improve the functionality of your module!
Unfortunately I'm not really sure when this started happening, but today I noticed that there are duplicate entries for somethings in the Devices area where there are only single entries in the Entities area. Attached there are 2 Down Hall Lights and 2 Downstairs Thermostats. Each of these Devices seems to have a unique identifier as one of the Down Hall Lights was set in the past to have the Foyer Area where the supposed duplicate has no Area. This would cause issues when trying to create automation against a Device.
HA Version: 0.109.0
Platform Version: 1.3.6
Logs: (related to isy994, the first entry is to be expected)
2020-04-29 12:07:03 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for isy994 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.
2020-04-29 12:07:10 ERROR (MainThread) [homeassistant.setup] Setup failed for isy994: Unable to import component: cannot import name 'UNIT_UV_INDEX' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py)
2020-04-29 12:08:04 WARNING (MainThread) [homeassistant.helpers.translation] isy994: the '.translations' directory has been moved, the new name is 'translations', starting with Home Assistant 0.111 your translations will no longer load if you do not move/rename this
2020-04-29 12:09:33 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)
File "/usr/local/lib/python3.7/site-packages/aiohttp/web_middlewares.py", line 119, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/real_ip.py", line 39, in real_ip_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 73, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 127, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 125, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 88, in delete
result = await hass.config_entries.async_remove(entry_id)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_remove
unload_success = await self.async_unload(entry_id)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 704, in async_unload
return await entry.async_unload(self.hass)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 272, in async_unload
component = integration.get_component()
File "/usr/src/homeassistant/homeassistant/loader.py", line 270, in get_component
cache[self.domain] = importlib.import_module(self.pkg_path)
File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/config/custom_components/isy994/__init__.py", line 50, in <module>
from .const import (
File "/config/custom_components/isy994/const.py", line 21, in <module>
from homeassistant.const import (
ImportError: cannot import name 'UNIT_UV_INDEX' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py)
I'm getting the following in home-assistant.log after updating to 0.109.0:
2020-04-29 10:17:40 ERROR (MainThread) [homeassistant.setup] Setup failed for isy994: Unable to import component: cannot import name 'UNIT_UV_INDEX' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py)
2020-04-29 10:18:03 WARNING (MainThread) [homeassistant.helpers.translation] isy994: the '.translations' directory has been moved, the new name is 'translations', starting with Home Assistant 0.111 your translations will no longer load if you do not move/rename this
For the first one, I removed the two references to "UNIT_UV_INDEX" from const.py and the component is loading and working now.
HACS ISY994 version: 1.2.1
HA: 107.1
ISY994i: 5.0.16C
After recently adding new variables to ISY994i and setting up configuration.yaml with the new variables (and restarting HA), no new sensors are created for the new variables. For the past several months I have had 8 ‘variables as sensors’ setup and working flawlessly in HA, but I find I am unable to add new sensors for the new variables.
Is it something I’m doing wrong or a code issue?
2019-12-17 16:40:16 ERROR (MainThread) [homeassistant.setup] Error during setup of component isy994
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 172, in _async_setup_component
hass, processed_config
File "/config/custom_components/isy994/init.py", line 474, in async_setup
log=_LOGGER,
File "/usr/local/lib/python3.7/site-packages/PyISY/isy.py", line 82, in init
self.nodes = Nodes(self, xml=self.conn.get_nodes())
File "/usr/local/lib/python3.7/site-packages/PyISY/Nodes/init.py", line 89, in init
self.parse(xml)
File "/usr/local/lib/python3.7/site-packages/PyISY/Nodes/init.py", line 288, in parse
Group(self, nid, nname, members, controllers),
File "/usr/local/lib/python3.7/site-packages/PyISY/Nodes/group.py", line 33, in init
for m in self.members
File "/usr/local/lib/python3.7/site-packages/PyISY/Nodes/group.py", line 33, in
for m in self.members
AttributeError: 'Nodes' object has no attribute 'status'
Latest version of hass.io and hacs integration. I get this PyISY error from my primary ISY which has several Polyglot Nodeservers running. From a secondary ISY with no nodeservers the component loads fine.
HACS-ISY994: v1.0.12-beta1
All isy-994 entities function from withing hassio but entity status do not update.
Also home-assistant.log shows this for each entity.
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 415, in _async_add_entity
raise HomeAssistantError(msg)
homeassistant.exceptions.HomeAssistantError: Entity id already exists: light.kitchen_lights. Platform isy994 does not generate unique IDs
2020-02-24 17:21:01 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
I should have opened this bug here.
I want to receive a HA event from a keypad button that does not have an Insteon device associated with it. To do this I created an Insteon scene and put the button into it. That causes scene events to be sent when the button is pressed.
So how do I catch these scene events in a HA automation? So far I have only been able to catch Insteon device events and not Scene events.
Leak Detection devices are getting added with a name under the 4th subnode, not the first. Will track that issue separately.
Originally posted by @shbatm in #19 (comment)
I seem to be experiencing intermittent connectivity drops between the ISY and Home Assistant. I am not really sure how to troubleshoot it but it happens between 12-48 hours. If I restart Home Assistant everything comes back to life and works fine. I don't notice anything unusual in the Home Assistant > Developer Tools > Logs. I am still somewhat new to HA so I would appreciate any feedback.
running version 0.106.5 of HA w/ v1.1.1
Have two motion sensors with humdity, temp and lux. They are not showing up in HA.
Node Dump attached.
motion sendor dump.txt
@shbatm got more errors after upgrading to v1.3.4.
2020-04-11 22:23:18 ERROR (SyncWorker_9) [custom_components.isy994] ISY Could not parse response, poorly formatted XML.: NetworkResources
2020-04-11 22:23:20 ERROR (MainThread) [homeassistant.components.lock] Entity id already exists - ignoring: lock.front_door_lock. Platform isy994 does not generate unique IDs
2020-04-11 22:23:20 ERROR (MainThread) [homeassistant.components.light] Entity id already exists - ignoring: light.master_bedroom_lights. Platform isy994 does not generate unique IDs
2020-04-11 22:23:20 ERROR (MainThread) [homeassistant.components.light] Entity id already exists - ignoring: light.dining_room_lights. Platform isy994 does not generate unique IDs
2020-04-11 22:23:20 ERROR (MainThread) [homeassistant.components.light] Entity id already exists - ignoring: light.kitchen_lights. Platform isy994 does not generate unique IDs
2020-04-11 22:23:20 ERROR (MainThread) [homeassistant.components.light] Entity id already exists - ignoring: light.zw_002_multilevel_switch. Platform isy994 does not generate unique IDs
2020-04-11 22:23:20 ERROR (MainThread) [homeassistant.components.light] Entity id already exists - ignoring: light.exterior_lights_front. Platform isy994 does not generate unique IDs
2020-04-11 22:23:20 ERROR (MainThread) [homeassistant.components.light] Entity id already exists - ignoring: light.living_room_lights_front. Platform isy994 does not generate unique IDs
2020-04-11 22:23:20 ERROR (MainThread) [homeassistant.components.light] Entity id already exists - ignoring: light.stairway_lights_down. Platform isy994 does not generate unique IDs
2020-04-11 22:23:20 ERROR (MainThread) [homeassistant.components.light] Entity id already exists - ignoring: light.stairway_lights_up. Platform isy994 does not generate unique IDs
2020-04-11 22:23:20 ERROR (MainThread) [homeassistant.components.light] Entity id already exists - ignoring: light.living_room_lights_back. Platform isy994 does not generate unique IDs
2020-04-11 22:23:21 ERROR (MainThread) [homeassistant.components.switch] Entity id already exists - ignoring: switch.driveway_detection_relay. Platform isy994 does not generate unique IDs
2020-04-11 22:23:21 ERROR (MainThread) [homeassistant.components.switch] Entity id already exists - ignoring: switch.reloading_room_outlet. Platform isy994 does not generate unique IDs
2020-04-11 22:23:21 ERROR (MainThread) [homeassistant.components.switch] Entity id already exists - ignoring: switch.reloading_room_light. Platform isy994 does not generate unique IDs
2020-04-11 22:23:21 ERROR (MainThread) [homeassistant.components.switch] Entity id already exists - ignoring: switch.garage_lights. Platform isy994 does not generate unique IDs
2020-04-11 22:23:21 ERROR (MainThread) [homeassistant.components.switch] Entity id already exists - ignoring: switch.garage_door_house_relay. Platform isy994 does not generate unique IDs
2020-04-11 22:23:21 ERROR (MainThread) [homeassistant.components.switch] Entity id already exists - ignoring: switch.exterior_lights_all. Platform isy994 does not generate unique IDs
2020-04-11 22:23:21 ERROR (MainThread) [homeassistant.components.switch] Entity id already exists - ignoring: switch.garage_door_warning_lights. Platform isy994 does not generate unique IDs
2020-04-11 22:23:21 ERROR (MainThread) [homeassistant.components.switch] Entity id already exists - ignoring: switch.auto_dr. Platform isy994 does not generate unique IDs
2020-04-11 22:23:21 ERROR (MainThread) [homeassistant.components.switch] Entity id already exists - ignoring: switch.bedtime_lights_out. Platform isy994 does not generate unique IDs
2020-04-11 22:23:21 ERROR (MainThread) [homeassistant.components.switch] Entity id already exists - ignoring: switch.kodi_event. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.driveway_detection_status. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.zw_002_color_switch. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.garage_door_house_off_closed. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.myq_service. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.house_garage_door. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.shop_garage_door. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.forecast_5. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.forecast_6. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.zone2. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.zone3. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.bond_bridge. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.blue_iris. Platform isy994 does not generate unique IDs
2020-04-11 22:23:22 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.zw_003_color_switch. Platform isy994 does not generate unique IDs
@shbatm just did a clean install of hacs-isy994 v1.3.5. Configured 2 ISY994's and this is the only error.
2020-04-12 22:41:40 ERROR (SyncWorker_11) [custom_components.isy994] ISY Could not parse response, poorly formatted XML.: NetworkResources
When switching the HVAC Fan to On or Auto a popup message is shown
Failed to call service climate/set_fan_mode. 'Node' object has no attribute 'set_fan_state'
Sometime in the last week, my ISY994 integration seems to have created duplicate devices. Entities are not duplicated and there are exactly two devices per entity. Only one device seems to be actually associated with its corresponding entity in the UI, however.
Looking in core.device_registry, I can indeed see two of each device. The only difference seems to be that the MAC for the ISY is colon-separated in one and not the other.
"identifiers": [
[
"isy994",
"0021b901XXYY_F F1 ZZ 1"
]
vs
"identifiers": [
[
"isy994",
"00:21:b9:01:XX:YY_F F1 ZZ 1"
]
Is there a way to automatically clean this up, or should I just remove the duplicate entries? If so, which is correct - colon-separated or not? Thanks.
I've installed this via HACS, and I've added (already had) the isy config values. When I restart HA, it takes forever to restart, and once it finally does, it says that there's something wrong with the isy994 configuration, but there is for sure nothing wrong with it. Could this be related to the version of PyISY (I see the requirements are 2.0.0.8 or something like that)?
Why are Insteon scenes represented in HA as switches? This is a source of naming conflict for me since I have scenes and switches that are named the same thing.
You can send light up/down commands to groups, so shouldn't they be light entities instead of switches? Even better if they were in the own 'scene' namespace.
BTW I have a very large Insteon system, about 180 devices.
Installed the Monoprice Z-Wave Plus Recessed Door/Window Sensor.
ISY installed without an issue.
The devices came over to HA. I did not group them as learned earlier.
The sensor.driveway_gate has its status as "closed 97".
The _184 which is what has the closed condition has this property:
For some reason it is printing the uom
Attached are the files for the following:
ZW051_1 - Battery
ZW051_184 - Status
On the current release. 1.2.1
Two lights were turned on manually.
HomeAssistant did not change status.
Admin panel indicated status change.
Rebooted ISY and same result.
All devices are still capable of being controlled by HA.
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.