Commit Graph

719 Commits

Author SHA1 Message Date
Pierre Ståhl
b50cd7bf84 Initial work on refactoring pytuya
Still lots of things to improve, but it's a start. Will continue with
receive code.
2020-09-30 09:45:37 +02:00
rospogrigio
1d2fdfdba9 Updated tuyadebug.tgz using latest pytuya 2020-09-30 09:39:47 +02:00
Pierre Ståhl
7a9deea830 Do not block event loop on updates 2020-09-28 22:51:17 +02:00
Pierre Ståhl
e673340229 Fix missing attributes bug 2020-09-28 07:13:30 +02:00
Pierre Ståhl
caaf884a7a Get status once per device instead of per platform 2020-09-27 14:19:35 +02:00
Pierre Ståhl
b7173f3033 Switch to cryptograhy for crypto routines 2020-09-27 09:48:03 +02:00
Pierre Ståhl
2879761eae Remove unneeded YAML import flag 2020-09-26 22:59:28 +02:00
Pierre Ståhl
208b0ad5e9 Use two digits precision in senso 2020-09-26 22:38:26 +02:00
Pierre Ståhl
d22d081335 Clean up YAML examples in code files 2020-09-26 22:38:26 +02:00
Pierre Ståhl
63090ba985 Store DPS as integers in config entry
Also require protocol_version to be a string and validate version to be
supported.
2020-09-26 22:38:26 +02:00
rospogrigio
3259a4f654 Second part of one_device_only big merge 2020-09-26 22:38:26 +02:00
Pierre Ståhl
0048ce6d5e Move YAML config to component 2020-09-26 22:38:26 +02:00
Pierre Ståhl
450060488b Add shared code to a common module 2020-09-24 09:48:42 +02:00
Pierre Ståhl
fefee6944f Add shared code to a common module 2020-09-24 09:20:31 +02:00
Pierre Ståhl
98612a0d70 Enable type checking with mypy 2020-09-23 18:33:10 +02:00
Pierre Ståhl
02a2f08c40 Enable codespell and fix mistakes 2020-09-23 18:33:10 +02:00
Pierre Ståhl
4e72767b30 Fix flake8 issues and enable flake8 in tox 2020-09-23 17:50:24 +02:00
Pierre Ståhl
a18c69f8eb Fix pydocstyle issues and enable in tox 2020-09-23 16:47:08 +02:00
Pierre Ståhl
ec7652b193 Remove pull_request_target from ci workflow 2020-09-22 12:41:03 +02:00
Pierre Ståhl
30392d3ac5 Initial step to have continuous integration
This commit introduces the use of tox, which currently only verifies
that code is formatted according to the black project. More checks will
come in upcoming PRs for codespell, pydocstyle, flake8 and mypy.

A GitHub actions is included that runs tox on new pull requests, so we
get automatic feedback and can block commits that fail any check.
Another (official) action that runs hassfest is included as well, to
make sure we are compatible with Home Assistant.
2020-09-22 12:29:05 +02:00
rospogrigio
83b3b6f21b Moved TuyaCache to __init__.py, and renamed to TuyaDevice. In pytuya, renamed TuyaDevice to TuyaInterface 2020-09-22 00:51:33 +02:00
Pierre Ståhl
dd48fc00f5 Make light entity inherit from LocalTuyaEntity 2020-09-21 23:56:54 +02:00
Pierre Ståhl
b169c86473 Make fan platform inherit from LocalTuyaEntity
Also big clean up and some bug fixes.
2020-09-21 23:55:56 +02:00
Pierre Ståhl
16e4e9407f Reload integration if config entry changes
This makes changes under options apply without restart.
2020-09-21 00:46:26 +02:00
rospogrigio
3a61e0feff Merge pull request #28 from postlund/sensor
Add generic sensor platform
2020-09-21 00:43:44 +02:00
Pierre Ståhl
1e23120872 Add device discovery to config flow 2020-09-21 00:43:06 +02:00
Pierre Ståhl
1cc8efece4 Fix sensor scaling 2020-09-20 19:32:09 +02:00
rospogrigio
ffae9976f0 Updated tuyadebug.tgz 2020-09-20 09:50:43 +02:00
Pierre Ståhl
26d83774e2 Add generic sensor platform 2020-09-19 23:43:12 +02:00
rospogrigio
c266e0f904 add_request_dps moved into prepare_setup_entities, plus code cleaning 2020-09-19 15:59:59 +02:00
rospogrigio
6700e02c52 set_dpsUsed turned into add_dps_to_request ; used it when setting up entities 2020-09-19 15:59:59 +02:00
Pierre Ståhl
5507652bae Add support for options flow 2020-09-18 17:31:14 +02:00
rospogrigio
6f14df2d74 Replaced some hardcoded strings with constants and config_entries 2020-09-18 14:45:51 +02:00
rospogrigio
1a9f7382fc LocaltuyaCover now inherits from LocalTuyaEntity 2020-09-18 14:45:51 +02:00
rospogrigio
7afd19d197 Still prefer to keep '(YAML)' suffix for Integrations imported from YAML, for the moment 2020-09-18 09:40:12 +02:00
Pierre Ståhl
e79b4cf619 Use friendly_name instead of name in config entry 2020-09-18 09:40:12 +02:00
Pierre Ståhl
9973c5fdcb Pass config entry to LocalTuyaEntity 2020-09-18 09:14:12 +02:00
Pierre Ståhl
bd98b7cd93 Add base entity class LocalTuyaEntity
All platforms will inherit from this class in the end, but this commit
starts with switch only.
2020-09-18 09:14:12 +02:00
rospogrigio
16cb29297b Introduced dps detection with bruteforcing for type_0d devices 2020-09-16 19:36:51 +02:00
Pierre Ståhl
0290b11dae Request DPS 1-150 in config flow 2020-09-16 19:36:51 +02:00
rospogrigio
9d917fe325 Merge branch 'physical_device' 2020-09-16 10:03:37 +02:00
rospogrigio
4056c0abb0 Fixing device name 2020-09-16 10:03:19 +02:00
rospogrigio
baee524d54 Merge branch 'physical_device' 2020-09-15 23:32:00 +02:00
rospogrigio
c99cc1f077 Removed unneeded friendly_name fields 2020-09-15 23:31:33 +02:00
rospogrigio
400ad57e01 Merge branch 'master' into physical_device 2020-09-15 12:55:46 +02:00
rospogrigio
b0ee281894 Merge branch 'master' into pytuya_refactoring 2020-09-15 12:41:52 +02:00
rospogrigio
b401020c99 Merge branch 'postlund-platform_setup' 2020-09-15 12:39:02 +02:00
Pierre Ståhl
9493f17de6 Forward config entry only to used platforms 2020-09-15 12:29:07 +02:00
rospogrigio
b3006a7c68 Merge branch 'pytuya_refactoring' into physical_device 2020-09-15 11:28:36 +02:00
rospogrigio
386d59b497 config_entry forwarded only to proper platform; DOMAIN imported from component 2020-09-15 10:59:06 +02:00