From 2710b9d0ebaa348306d3bfc5113fea819c038a0b Mon Sep 17 00:00:00 2001 From: brg468 Date: Sun, 29 Mar 2020 15:38:46 -0400 Subject: [PATCH] Revert "Add Rachio Schedules" This reverts commit ffe1e3d1c231703804077417acc4e7fbe837e98a. --- .../components/rachio/.translations/lb.json | 16 +++- .../components/rachio/.translations/no.json | 2 +- homeassistant/components/rachio/switch.py | 94 ------------------- 3 files changed, 16 insertions(+), 96 deletions(-) diff --git a/homeassistant/components/rachio/.translations/lb.json b/homeassistant/components/rachio/.translations/lb.json index 24c1b8c382d..d43d4d9a044 100644 --- a/homeassistant/components/rachio/.translations/lb.json +++ b/homeassistant/components/rachio/.translations/lb.json @@ -5,13 +5,27 @@ }, "error": { "cannot_connect": "Feeler beim verbannen, prob\u00e9ier w.e.g. nach emol.", - "invalid_auth": "Ong\u00eblteg Authentifikatioun" + "invalid_auth": "Ong\u00eblteg Authentifikatioun", + "unknown": "Onerwaarte Feeler" }, "step": { "user": { + "data": { + "api_key": "API Schl\u00ebssel fir den Racchio Kont." + }, + "description": "Du brauchs een API Schl\u00ebssel vun https://app.rach.io/. Wiel 'Account Settings', a klick dann op 'GET API KEY'.", "title": "Mam Rachio Apparat verbannen" } }, "title": "Rachio" + }, + "options": { + "step": { + "init": { + "data": { + "manual_run_mins": "Fir w\u00e9i laang, a Minutten, soll eng Statioun ugeschalt gi wann de Schalter ageschalt ass." + } + } + } } } \ No newline at end of file diff --git a/homeassistant/components/rachio/.translations/no.json b/homeassistant/components/rachio/.translations/no.json index eb93f749766..8b063018879 100644 --- a/homeassistant/components/rachio/.translations/no.json +++ b/homeassistant/components/rachio/.translations/no.json @@ -17,7 +17,7 @@ "title": "Koble til Rachio-enheten din" } }, - "title": "Rachio" + "title": "" }, "options": { "step": { diff --git a/homeassistant/components/rachio/switch.py b/homeassistant/components/rachio/switch.py index f0e5dbb8b54..8f75fd230d4 100644 --- a/homeassistant/components/rachio/switch.py +++ b/homeassistant/components/rachio/switch.py @@ -67,13 +67,9 @@ def _create_entities(hass, config_entry): schedules = controller.list_schedules() current_schedule = controller.current_schedule _LOGGER.debug("Rachio setting up zones: %s", zones) - _LOGGER.debug("Added schedule: %s", schedules) for zone in zones: _LOGGER.debug("Rachio setting up zone: %s", zone) entities.append(RachioZone(person, controller, zone, current_schedule)) - for sched in schedules: - _LOGGER.debug("Added schedule: %s", sched) - entities.append(RachioSchedule(person, controller, sched, current_schedule)) return entities @@ -280,93 +276,3 @@ class RachioZone(RachioSwitch): async_dispatcher_connect( self.hass, SIGNAL_RACHIO_ZONE_UPDATE, self._handle_update ) - -class RachioSchedule(RachioSwitch): - """Representation of one fixed schedule on the Rachio Iro.""" - - def __init__(self, person, controller, data, current_schedule): - """Initialize a new Rachio Schedule.""" - self._id = data[KEY_ID] - self._schedule_name = data[KEY_NAME] - self._duration = data[KEY_DURATION] - self._schedule_enabled = data[KEY_ENABLED] - self._person = person - self._summary = data[KEY_SUMMARY] - self._current_schedule = current_schedule - super().__init__(controller, poll=False) - self._state = self.schedule_id == self._current_schedule.get(KEY_SCHEDULE_ID) - - def __str__(self): - """Display the schedule as a string.""" - return 'Rachio Schedule "{}" on {}'.format(self.name, str(self._controller)) - - @property - def schedule_id(self) -> str: - """How the Rachio API refers to the schedule.""" - return self._id - - @property - def name(self) -> str: - """Return the friendly name of the schedule.""" - return self._schedule_name - - @property - def unique_id(self) -> str: - """Return a unique id by combining controller id and schedule.""" - return f"{self._controller.controller_id}-schedule-{self.schedule_id}" - - @property - def icon(self) -> str: - """Return the icon to display.""" - return "mdi:water" - - @property - def state_attributes(self) -> dict: - """Return the optional state attributes.""" - return {ATTR_SCHEDULE_SUMMARY: self._summary, ATTR_SCHEDULE_ENABLED: self.schedule_is_enabled, - ATTR_SCHEDULE_DURATION: self._duration /60} - - @property - def schedule_is_enabled(self) -> bool: - """Return whether the schedule is allowed to run.""" - return self._schedule_enabled - - def turn_on(self, **kwargs) -> None: - """Start this schedule.""" - - self._controller.rachio.schedulerule.start(self.schedule_id) - _LOGGER.debug( - "Schedule %s started on %s", - self.name, - self._controller.name, - ) - - def turn_off(self, **kwargs) -> None: - """Stop watering all zones.""" - self._controller.stop_watering() - - def _poll_update(self, data=None) -> bool: - """Poll the API to check whether the schedule is running.""" - self._current_schedule = self._controller.current_schedule - return self.schedule_id == self._current_schedule.get(KEY_SCHEDULE_ID) - - def _handle_update(self, *args, **kwargs) -> None: - """Handle incoming webhook schedule data.""" - #Schedule ID not passed when running indvidual zones, so we catch that error - try: - if args[0][KEY_SCHEDULE_ID] == self.schedule_id: - if args[0][KEY_SUBTYPE] in [SUBTYPE_SCHEDULE_STARTED]: - self._state = True - elif args[0][KEY_SUBTYPE] in [SUBTYPE_SCHEDULE_STOPPED, SUBTYPE_SCHEDULE_COMPLETED]: - self._state = False - except KeyError: - pass - - self.schedule_update_ha_state() - - async def async_added_to_hass(self): - """Subscribe to updates.""" - async_dispatcher_connect( - self.hass, SIGNAL_RACHIO_SCHEDULE_UPDATE, self._handle_update - ) -