Commit Graph

50 Commits

Author SHA1 Message Date
dc47792ff2 Update codespell to 2.3.0 (#118001) 2024-05-24 08:22:29 +02:00
8809d3aa88 Add empty line after module docstring [g-i] (#112699) 2024-03-08 08:52:48 -05:00
54c034185f Use shorthand attributes in Isy994 (#100209) 2023-09-12 10:13:13 -05:00
6974d211e5 Switch isy994 to use async_call_later (#99487)
async_track_point_in_utc_time is not needed here since we only need to call
at timedelta(hours=25)
2023-09-02 10:14:33 -07:00
2dab9eaf86 Use shorthand attributes in Isy994 (#99395) 2023-08-31 19:58:40 -05:00
54cd0e8183 Add some missing typing to isy994 (#99110) 2023-08-27 12:33:00 +02:00
045c327928 Move DeviceInfo from entity to device registry (#98149)
* Move DeviceInfo from entity to device registry

* Update integrations
2023-08-10 22:04:26 -04:00
969db343bd Invert ISY994 dusk/dawn sensors to match expected state (#92035) 2023-04-25 17:15:48 -05:00
3d557b5583 Collection of code styling tweaks (#87381) 2023-02-04 12:52:26 -05:00
5e81d28116 Update black to 23.1.0 (#87188) 2023-02-02 18:35:24 +01:00
28bea53afe Move ISY994 data to dataclass and remove bad entities (#85744) 2023-01-12 13:09:04 -10:00
255a8362a1 Consolidate device info and clean-up ISY994 code base (#85657)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-11 18:07:44 -10:00
856895ddf5 Remove old migrate unique ID code from ISY994 (#85641)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-10 12:42:31 -10:00
9ad05b55d9 Use Platform enum and remove DOMAIN as X imports in ISY994 (#85341) 2023-01-06 13:16:14 -10:00
c4d03088c0 Restore low battery state on ISY994 Insteon heartbeat nodes (#85209)
fixes undefined
2023-01-05 14:30:08 -10:00
240e1fd8f3 Update ISY994 integration to be model agnostic (#85017) 2023-01-02 14:22:40 -10:00
baef267f33 String formatting and max line length - Part 3 (#84394) 2022-12-22 13:35:47 +01:00
9805d8a6cc Fix device class typing in Universal Devices ISY994 (#82924) 2022-11-29 14:07:30 +01:00
6c38a6b569 Enable strict typing for isy994 (#65439)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-03 17:02:05 +01:00
eafece3651 Add setup type hints (part 1) (#63955)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-12 08:49:46 +01:00
f72b2e71ee Use new BinarySensorDeviceClass in isy994 (#61825) 2021-12-15 19:11:46 -06:00
69e413ac1e Update pylint to 2.10.1 (#54963)
* Update pylint to 2.10.0

* useless-suppression

* Consider-using-tuple

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Use dict.items()

* Add pylint disable

* Use pylint 2.10.1

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-21 10:41:23 +02:00
0815eede4b Replace lists with tuples (2) (#53685) 2021-07-30 01:20:03 +02:00
775af9d2c5 Update PyISY to v3.0.0 and ISY994 to use Async IO (#50806) 2021-05-18 14:15:47 -05:00
cbaeec2a4e Use AddEntitiesCallback type, pt.2 (#49921) 2021-04-30 20:38:59 +02:00
9685cefba4 Integrations h* - i*: Rename HomeAssistantType to HomeAssistant. (#49587) 2021-04-23 10:11:58 +02:00
786023fce4 Merge of nested IF-IF cases - H-J (#48368) 2021-03-27 11:30:29 +01:00
283b4abe67 Update typing 09 (#48059) 2021-03-18 10:02:00 +01:00
af4d06b12e Update integrations f-i to override extra_state_attributes() (#47757) 2021-03-11 16:57:47 +01:00
16dcbf1467 Update pylint (#47205) 2021-02-28 22:09:01 -10:00
8adfcf23f0 Fix isy994 send_node_command (#39806) 2020-09-08 17:31:08 +02:00
53545c984b Log lines do not end with a full stop (#37527) 2020-07-05 23:04:19 +02:00
b1d59679e5 Code conformance and sensor value clean-up on ISY994 (#35514)
* Consolidate value conversion functions

* Update to sensor

* Fix property name

* Revise sensors and state reporting per code standards

* Update uom function and revert to property
2020-05-11 21:32:19 -05:00
9eb1505aa1 Add Device and Integration Services to ISY994 (#35467)
* ISY994 Add Services

ISY994 Add support for climate platform

* Remove device registry cleanup

Remove device registry cleanup from service in favor of #35106

* ISY994 Update Services Definitions

Rename entry to config_entry_id

* Grammar corrections

Fix Typo

* Add await and lower logging per review.

* Rename to entries and remove unused device_id refs

* Fix tuple typo

* Fix Typo in strings

* Fix typo in strings
2020-05-11 10:58:58 -05:00
8947ce5053 Add Climate Platform Support to ISY994 (#35440)
* ISY994 Add support for climate platform

Remove services from Climate (not added yet)

* Incorporate suggestions based on review.

* Collect string literals to Const. Rename device to entity

* Fix merge error
2020-05-09 22:03:05 -05:00
d7f736ed6c Add config flow, use async loading, and restore brightness option to ISY994 (#35413)
* ISY994 Add Config and Options Flow


Add tests for config flow


Fix test


Update Tests

* Fix merge errors

* Update homeassistant/components/isy994/strings.json

Co-authored-by: J. Nick Koston <nick@koston.org>

* Apply suggestions from code review

Co-authored-by: J. Nick Koston <nick@koston.org>

* Fix patching in tests to not actually start Home Assistant

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-09 14:49:00 -05:00
e65f72f2ed Improve ISY994 Z-Wave and binary sensor device sorting (#35391)
* Split BinarySensor Entity

* Fix Device Class for Insteon

* ISY994 Improved device sorting (incl Z-Wave Cats) post-PyISYv2

- Z-Wave device classification using new properties.
    - ISY Z-Wave Devices can be classified by their Z-Wave categories, since `node_def_id` does not provide useful information for these nodes.
- Better classification of binary_sensors.
    - Incorporate better classifications of different types of binary_sensor devices supported by the ISY. These are all field tested/requested based on the HACS-ISY994 version and feedback given through the Community.
- State Unknown updates for binary_sensors.
    - Properly fix unknown states on startup for binary_sensors with multiple sub-nodes that don't report the status after an ISY restart until that subnode is activated/triggered the next time. Now instead of adding nodes as unknown status, it adds them in the "assumed safe" state (usually off). This his helpful for things like motion sensor low battery nodes, which may show "unknown" for 12 months before turning "ON" (low batt).
- Fix for heartbeat devices (home-assistant/core#21996)
    - Heartbeat devices toggle between both DON and DOF commands, each day when it sends the heartbeat it sends the opposite. Update heartbeat nodes to look for both.

* Additional sorting fixes
2020-05-08 17:18:50 -05:00
4ec88b41dc Migrate ISY994 to PyISY v2 (#35338)
* Remove unnecessary pylint exceptions

* Move up some change to binary_sensors and switch. Fix program d.s.a's.

* ISY994 Basic support for PyISYv2

- Bare minimum changes to be able to support PyISYv2.
- Renaming imports and functions to new names.
- Use necessary constants from module.
- **BREAKING CHANGE** Remove ISY Climate Module support.
    - Climate module was retired on 3/30/2020: [UDI Annoucement](https://www.universal-devices.com/byebyeclimatemodule/)
- **BREAKING CHANGE** Device State Attributes use NodeProperty
    - Some attributes names and types will have changed as part of the changes to PyISY. If a user relied on a device state attribute for a given entity, they should check that it is still there and formatted the same. In general, *more* state attributes should be getting picked up now that the underlying changes have been made.
- **BREAKING CHANGE** `isy994_control` event changes (using NodeProperty)
    - Control events now return an object with additional information. Control events are now parsed to the friendly names and will need to be updated in automations.
Remove cast

* PyISY v2.0.2, add extra UOMs, omit EMPTY_TIME attributes

* Fix typo in function doc string.

Co-authored-by: J. Nick Koston <nick@koston.org>

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-07 23:15:42 -05:00
e45f2cf5a2 ISY994 Structure updates in prep for PyISYv2 (Part 2) (#35225)
- Move core Entity Class definitions to separate file.
- New ISYNodeEntity and ISYProgramEntity base classes.
- Update inheriances on other classes.
- Move helper functions to separate file.
2020-05-04 23:03:12 -05:00
4be1006b71 ISY994 migration to PyISY v2 (Structure Changes to enable upgrade, Part 1) (#35212)
* ISY994 Structure updates in prep for PyISYv2 (Part 1)

- Correct node categorization.
- Move constants to separate file.
- Consolidate Logging to Constants file.
- Use Home Assistant Constants where possible.
- Use string literals where possible.
- Rename "domain" to "platform" in most places.
- Add additional device support (NODE_FILTER updates).

* Update categorize_programs per review

* add @shbatm as codeowner for ISY994 integration
2020-05-04 19:21:40 -05:00
b022e08db9 Rename BinarySensorDevice to BinarySensorEntity (#34462)
* Rename BinarySensorDevice to BinarySensorEntity

* Tweak

* Move deprecation warning to __new__, add test

* Move deprecation warning back to __init__

* Move deprecation warning to __init_subclass
2020-04-23 21:57:07 +02:00
7653dc947a Enable pylint unnecessary-pass (#33650)
* Enable pylint unnecessary-pass

* Process review suggestions

* Fix smhi tests
2020-04-05 10:33:07 +02:00
157f972d72 Use f-strings in integrations starting with "H" - "L" (#32265)
* Use f-strings in integrations starting with "H"

* Use f-strings in integrations starting with "I"

* Use f-strings in integrations starting with "J"

* Use f-strings in integrations starting with "K"

* Use f-strings in integrations starting with "L"

* Fix lint error

* Use join instead of f-string in homekit_controller

* Use local variables with f-strings

* Fix lint error

* Escape the characters in f-string

* Sort imports with isort in homeworks light

* Fix pylint error

* Fix broken tests

* Fix broken tests v2
2020-02-28 12:39:29 +01:00
5216477353 Be consistent with Home Assistant and Hass.io spelling (#30500)
* Be consistent with Home Assistant spelling

* Be consistent with Hass.io spelling
2020-01-05 14:09:17 +02:00
e6388e186c Remove unnecessary string literal concatenations (#30360) 2020-01-02 21:17:10 +02:00
99c7608fb4 Lint config cleanups (#28864)
* Remove bunch of unneeded lint exclusions

* Use symbolic names instead of identifiers in pylint disables

* Tighten scope of some pylint disables
2019-11-25 22:40:08 -08:00
4de97abc3a Black 2019-07-31 12:25:30 -07:00
4b1de61110 Use relative imports inside integrations (#22235)
* Use relative imports inside integrations

* Lint

* Fix automation tests

* Fix scene imports
2019-03-20 22:56:46 -07:00
3736120c6a Update file header (#21061)
* Update file header

* Fix lint issue

* Fix lint issue
2019-02-14 16:01:46 +01:00
e2d3c27e85 Embed all platforms into components (#20677)
* Consolidate all components with platforms

* Organize tests

* Fix more tests

* Fix Verisure tests

* one final test fix

* Add change

* Fix coverage
2019-02-02 07:13:16 -08:00