Commit Graph

43 Commits

Author SHA1 Message Date
Joost Lekkerkerker
f00dfd32d4 Remove config import in EmonCMS (#142624) 2025-04-14 14:30:41 +02:00
Erik Montnemery
f83c8de8d3 Update signature of platforms' async_setup_entry (#138201) 2025-02-10 21:08:03 +01:00
Michael
e9bfb6baee Explicitly pass in the config_entry in emoncms coordinator (#137743) 2025-02-08 00:04:05 +00:00
epenet
a9433ca697 Standardize homeassistant imports in component (e-f) (#136824) 2025-01-29 11:36:22 +01:00
Alexandre CUER
6a54edce19 Gives a friendly name to emoncms entities if unit is not specified (#133358) 2024-12-16 19:26:47 +01:00
Alexandre CUER
f1655c5d1a Use SensorEntityDescription in emoncms (#130451) 2024-11-26 19:25:00 +01:00
Alexandre CUER
24b47b50ea Migrate from entry unique id to emoncms unique id (#129133)
* Migrate from entry unique id to emoncms unique id

* Use a placeholder for the documentation URL

* Use async_set_unique_id in config_flow

* use _abort_if_unique_id_configured in config_flow

* Avoid single-use variable

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Add async_migrate_entry

* Remove commented code

* Downgrade version if user add server without uuid

* Improve code quality

* Move code migrating HA to emoncms uuid to init

* Fit doc url in less than 88 chars

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve code quality

* Only update unique_id with async_update_entry

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Make emoncms_client compulsory to get_feed_list

* Improve readability with unique id functions

* Rmv test to give more sense to _migrate_unique_id

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-08 13:29:10 +01:00
epenet
a7ba4bd086 Use read-only options in emoncms options flow (#129926)
* Use read-only options in emoncms options flow

* Don't store URL and API_KEY in entry options
2024-11-06 13:09:05 +01:00
Alexandre CUER
8255728f53 Migrate emoncms to config flow (#121336)
* Migrate emoncms to config flow

* tests coverage 98%

* use runtime_data

* Remove pyemoncms bump.

* Remove not needed yaml parameters add async_update_data to coordinator

* Reduce snapshot size

* Remove CONF_UNIT_OF_MEASUREMENT

* correct path in emoncms_client mock

* Remove init connexion check
as done by config_entry_first_refresh
since async_update_data catches exceptionand raise UpdateFailed

* Remove CONF_EXCLUDE_FEEDID from config flow

* Update homeassistant/components/emoncms/__init__.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/emoncms/sensor.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update homeassistant/components/emoncms/strings.json

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Use options in options flow and common strings

* Extend the ConfigEntry type

* Define the type explicitely

* Add data description in strings.json

* Update tests/components/emoncms/test_config_flow.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update tests/components/emoncms/test_config_flow.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Add test import same yaml conf + corrections

* Add test user flow

* Use data_description...

* Use snapshot_platform in test_sensor

* Transfer all fixtures in conftest

* Add async_step_choose_feeds to ask flows to user

* Test abortion reason in test_flow_import_failure

* Add issue when value_template is i yaml conf

* make text more expressive in strings.json

* Add issue when no feed imported during migration.

* Update tests/components/emoncms/test_config_flow.py

* Update tests/components/emoncms/test_config_flow.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-03 17:21:13 +02:00
Erik Montnemery
b9010e96a0 Remove unnecessary assignment of Template.hass from emoncms (#123668) 2024-08-12 14:52:51 +02:00
Alexandre CUER
489457c47b Add async_update_data to emoncms coordinator (#122416)
* Add async_update_data to coordinator

* Add const module
2024-07-22 21:47:01 +02:00
epenet
c49fce5541 Force alias when importing sensor PLATFORM_SCHEMA (#120536) 2024-06-26 12:14:13 +02:00
Alexandre CUER
cb045a794d Add coordinator to emoncms (#120008) 2024-06-22 12:41:54 +02:00
Alexandre CUER
6dc680d251 Use aiohttp.ClientSession in EmoncmsClient (#119989) 2024-06-19 22:41:32 +02:00
Alexandre CUER
442554c223 Migrate Emoncms to external library (#119772)
* Migrate Emoncms to external library

https://github.com/Open-Building-Management/pyemoncms

* Remove the throttle decorator

* Remove MIN_TIME_BETWEEN_UPDATES as not used
2024-06-17 13:59:47 +02:00
Alexandre CUER
a1e4d4ddd7 Remove duplicate code in emoncms (#118610)
* Remove duplicate & property extra_state_attributes

* Add methods _update_attributes and _update_value

* correction in _update_value

* Update homeassistant/components/emoncms/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/emoncms/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/emoncms/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/emoncms/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-06-04 10:56:43 +02:00
Alexandre CUER
8a3b49434e Code quality improvements in emoncms integration (#118468)
* type hints
remove unused var interval

* corrections as suggested by epenet

* reintroducing property extra_state_attributes
so that the extra parameters update correctly
2024-05-31 11:50:18 +02:00
Marc Mueller
0e3945ca6c Add empty line after module docstring [d-f] (#112698) 2024-03-08 14:15:26 +01:00
Franck Nijhof
5e81d28116 Update black to 23.1.0 (#87188) 2023-02-02 18:35:24 +01:00
Marc Mueller
1cc8feabb7 Remove unnecessary try-else (1) (#86158) 2023-01-18 14:24:52 +01:00
Franck Nijhof
b0cee0bc46 String formatting and max line length - Part 1 (#84390)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-12-22 10:12:50 +01:00
epenet
4fe025b297 Use UnitOfPower in integrations [a-g] (#83812) 2022-12-12 11:48:09 +01:00
epenet
3a3f41f3df Improve entity type hints [e] (#77041) 2022-08-20 07:52:55 +02:00
Alastair D'Silva
f7c23fe193 Handle EmonCMS feeds that return NULL gracefully (#76074) 2022-08-11 00:09:37 +02:00
ablack89
1b64dbec67 EmonCMS - Set device and state class for more feed units (#69872)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-04-11 19:37:53 +02:00
epenet
2709db008c Remove invalid return values in setup methods [a-h] (#63362)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-04 11:08:28 +01:00
epenet
980f22244c Use new DeviceClass and StateClass enums in emoncms (#61381)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-10 09:07:17 +01:00
Ville Skyttä
8bc1509afa Use HTTPStatus instead of HTTP_ consts and magic values in comp.../[de]* (#57990) 2021-10-22 16:28:56 +02:00
Marc Mueller
ff853b2d53 Use assignment expressions 19 (#57968) 2021-10-18 15:54:38 +02:00
Luke Waite
ab6be2890a Add statistics for emoncms power and energy feeds (#55109) 2021-08-25 10:02:53 +02:00
Erik Montnemery
41f3c2766c Move temperature conversions to entity base class (2/8) (#54468) 2021-08-11 18:57:12 +02:00
Franck Nijhof
0d595a2845 Merge of nested IF-IF cases - E-G (#48367) 2021-03-27 12:39:37 +01:00
Erik Montnemery
23b562386f Migrate integrations d-e to extend SensorEntity (#48211) 2021-03-22 12:52:29 +01:00
Erik Montnemery
6c084ae6ce Update integrations a-e to override extra_state_attributes() (#47756) 2021-03-11 16:51:03 +01:00
springstan
8d61893c39 Use HTTP_OK constant (#33798)
* Use http ok constant

* Remove incorrect use

* Run isort

* Fix pylint by adding missing imports

* Fix pylint by fixing one import
2020-04-08 11:47:38 -05:00
Paulus Schoutsen
daff87fe5d Emoncms API now provides a Unit of Measurement (#32042)
* Emoncms API provides a Unit

The EmonCMS API has been amended to include a 'unit' as part of it's payload.  By using this information, all the sensors can be created without the need for individual sensors to be setup by type.

The change is backward compatible so if a unit type has been specified in the configuration, this will be used by default.

If no unit is pecified either by the Home Assistant configuration, or the Emoncms API, then the default of W will be used as before.

* Update sensor.py

Check the 'unit' key is in the API call. Older systems may not have that key in the payload.

* Modified approach with new configuration item

* Removed new config item

Removed the configuration item. The integration attempts to get the unit from the API.

If this fails *or* the unit key of the API is blank, either the specified unit, or the default will be used.

If approved, documentation will be updated.

* Update homeassistant/components/emoncms/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/emoncms/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review v2

* Update homeassistant/components/emoncms/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update sensor.py

Update `config_unit`

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-03-04 18:03:51 -08:00
springstan
9801810552 Use f-strings in integrations starting with "B"-"E" (#32121)
* Use f-strings in integrations starting with B

* Use f-strings in integrations starting with C

* Use f-strings in integrations starting with D

* Use f-strings in integrations starting with E

* Fix pylint errors

* Fix pylint errors v2

* Fix tests

* Fix tests v2
2020-02-24 08:47:52 -08:00
Franck Nijhof
0173c61fee Spelling: Config(uration) (#31782) 2020-02-13 08:27:00 -08:00
Bas Nijholt
f9e06ca2fd Sort imports according to PEP8 for components starting with "E" (#29765) 2019-12-09 14:10:04 +01:00
Franck Nijhof
fa79ef1220 Use literal string interpolation in integrations E-G (f-strings) (#26379) 2019-09-03 17:10:56 +02:00
Paulus Schoutsen
4de97abc3a Black 2019-07-31 12:25:30 -07:00
Tobias Sauerwein
048b100eea Clean up docstrings (#22679)
* Clean up docstrings

* Fix long lines

* Fix more docstrings

* Fix more docstrings

* Fix more docstrings
2019-04-03 17:40:03 +02:00
Paulus Schoutsen
f5076188ef Consolidate all platforms that have no tests (#22096)
* Consolidate

* Fix tests

* Update imports

* Fix import

* Use importlib because integration and package share name

* Fix more tests

* Update .coveragerc and CODEOWNERS
2019-03-16 20:44:05 -07:00