Core: Deprecation of alarmdotcom integration

Created on 20 Mar 2020  路  7Comments  路  Source: home-assistant/core

The problem


Alarmdotcom integration depends on web scrapping of alarm.com PDA website. PDA website went down last week and that's way integration was broken since that time. There is a new way to use alarm.com but it still depends on web scrapping. This situation is against https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md so the integration needs to removed from HA.

I am not so sure that is there any procedure to follow for removing integrations. If there is I can open a PR for both HA and home-assistant.io

Environment

  • Home Assistant release with the issue: All releases
  • Last working Home Assistant release (if known): 106
  • Operating environment (Hass.io/Docker/Windows/etc.): All environments
  • Integration causing this issue: alarmdotcom
  • Link to integration documentation on our website:

Problem-relevant configuration.yaml

#home_alarm
alarm_control_panel:
  platform: alarmdotcom
  username: !secret alarm_username
  password: !secret alarm_password

Traceback/Error logs

Error while setting up alarmdotcom platform for alarm_control_panel
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/pyalarmdotcom/pyalarmdotcom.py", line 188, in async_login
    self.state = tree.select(self.ALARM_STATE)[0].get_text()
IndexError: list index out of range

Additional information

There is a custom integration effort for new web site. https://github.com/uvjustin/alarmdotcomajax

in progress

Most helpful comment

Custom integration remains for those who need it: https://github.com/uvjustin/alarmdotcomajax

All 7 comments

I think this does not make any sense. I understand the principle of being cautious with web scraping as it normally break more often than not.

But in the case of this integration, I use it for more 2 years and it is the first time that I have an issue with it. I can state many other accepted integration that break almost every release that we still accept and don't deprecate. Using web scraping in this case should not be enough to warrant the removal of the integration.

This integration is crucial in my environment.

@djfjeff maybe turn it into a custom component? That way if it does get removed (looks likely) then you can still use it?

@Sabuto The issue with having it as a custom component is that I don't have the knowledge myself to do it myself. It seems someone started to do it but I would prefer having it in the "official" repository.

The larger issue is I don't think we should deprecate a good, stable and working integration for one issue.

@djfjeff hi, this integration is not usable at the moment. The way HA integrates could also broke at any time when provider changes a little thing. I know it is frustrating but you can use this integration if you use this https://github.com/uvjustin/alarmdotcomajax

@akinomeroglu like I said, I agree that normally web scraping is not ideal. But in the case of Alarm.com, it is the first time they broke it in months (years?) so it seems like a good way to do it. Personally, this is more stable than many integration using an API that change/break every other month...

Integration is removed in #33056 for 0.180

Custom integration remains for those who need it: https://github.com/uvjustin/alarmdotcomajax

Was this page helpful?
0 / 5 - 0 ratings