Commit graph

63 commits

Author SHA1 Message Date
epenet
602ec54579
Set config_entry explicitly to None in relevant components (#129427)
Set config_entry explicitly to None in components
2024-10-30 19:32:10 +01:00
epenet
93f2b7c8a3
Move modbus base entity to separate module (#126104) 2024-09-17 15:38:10 +02:00
Sid
d5fd005db8
Add ruff rule PIE808 (#113621) 2024-03-17 09:56:26 +01:00
Joost Lekkerkerker
595d07f1c6
Improve lists in integrations [L-M] (#113227)
* Improve lists in integrations [L-M]

* Update homeassistant/components/mailbox/__init__.py

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

* Fix

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-13 21:28:21 +01:00
Marc Mueller
59a6035d3f
Add empty line after module docstring [j-m] (#112700) 2024-03-08 09:01:29 -05:00
jan iversen
0638088aee
Deprecate and remove lazy_error from modbus (#105037) 2023-12-05 13:08:33 +01:00
jan iversen
48dc81eff0
Simplify code, due to better error catching in modbus. (#100483) 2023-09-16 13:49:37 +02:00
jan iversen
ec2364ef43
Add virtual_count == slave_count in modbus configuration (#100398)
* Add virtual_count as config parameter.

* Review (other PR) comments.

* Review.

* Review comment.
2023-09-15 14:00:02 +02:00
jan iversen
bbc34bae87
modbus: use pb not pymodbus consistently as name. (#97780)
Use pb not pymodbus consistently as name.
2023-08-04 20:14:32 +02:00
jan iversen
48607d0586
Bump pymodbus to 3.3.1 (#94162) 2023-06-08 15:57:49 +02:00
Erik Montnemery
a71c097aeb
Revert "Allow setting an entity's name by its device class" (#93539) 2023-05-25 17:20:54 +02:00
Erik Montnemery
67c1051305
Allow setting an entity's name by its device class (#90767)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-05-09 18:55:55 +02:00
Marc Mueller
da35097803
Update Optional typing (2) [Py310] (#86419) 2023-01-23 09:10:05 +01:00
GrahamJB1
200d3ae845
modbus slave unique ids (#86126)
modbus slave unique ids
2023-01-19 11:08:11 +01:00
GrahamJB1
9d9817328b
Reset Modbus value on down (#86127)
* modbus: slave should reset value on sensor down as parent does that

* modbus: slave should reset value on sensor down as parent does that
2023-01-18 08:49:38 +01:00
Marc Mueller
77e71cf18b
Improve modbus generic typing (#84737) 2022-12-29 12:37:31 +01:00
jan iversen
8ed4ce64c3
Solve modbus binary slave problem (#82338)
* Solve modbus binary slave problem.
2022-11-26 11:11:50 +01:00
Nippey
0e1fe4eba5
Modbus: Add support for Holding Registers to Binary Sensor (#80460)
Update handling of binary sensors to support reading from holding registers (command 0x03).
2022-10-18 10:31:08 +02:00
jan iversen
d2e5c85429
Remove pragma from discover check. (#68002) 2022-03-11 19:58:18 +02:00
jan iversen
8741ff0684
Diferentiate between attr_name and entity_id in Modbus tests (#66999) 2022-02-21 14:56:31 -08:00
jan iversen
cb877adb6a
Allow multiread in modbus binary_sensor (#59886) 2022-02-21 10:22:50 -08:00
Marc Mueller
887d04be60
Use assignment expressions 32 (#58716) 2021-10-30 16:30:13 +02:00
Robert Hillis
488a636aec
Clean up unused loggers (#57662) 2021-10-14 10:03:38 -07:00
jan iversen
6b6e26c96d
Strictly type binary_sensor.py. (#56376) 2021-09-18 20:54:11 +01:00
jan iversen
33f660118f
Add lazy_error_count to modbus (#54412)
* Add lazy_error_count.

* Use -=

* Review comments.
2021-08-21 15:49:50 +02:00
jan iversen
02459e6813
Convert last properties in modbus to _attr_variable (#53919) 2021-08-08 23:23:21 +02:00
jan iversen
e8aa280d7f
Add modbus get_hub (#54277)
* Add dict with hubs.

* Update flexit to use get_hub.

* Remove executor_task for close.
2021-08-08 22:48:33 +02:00
jan iversen
cfb0def718
Change integration modbus to use _attr variables (#53511) 2021-07-26 21:20:34 +02:00
jan iversen
12ac666459
only allow one active call in each platform. (#52823) 2021-07-13 21:45:42 +02:00
jan iversen
e45196f9c9
Remove "old" config from modbus binary_sensor (#51117) 2021-05-28 12:06:46 +02:00
jan iversen
59ae78e5f0
Add restore_state to modbus binary_sensor (#50922)
* Add restore_state to binary_sensor.

* Update return value in State.
2021-05-22 13:38:05 +02:00
jan iversen
c650deef98
Add base class for all modbus platforms (#50878)
* Add base for all platforms.

* Please pylint.
2021-05-20 16:56:11 +02:00
jan iversen
ff856a9bba
Simplify calls to pymodbus (#50717)
* simplify pymodbus_call.

Do not call with a function object and a check attribute, call instead
with CALL_TYPE*.

Avoid if <type> call x else call y.
Call async_pymodbus_call directly, instead of unpacking/packing.

* Declare call type in __init__.

* Modbus.py back to 100% test coverage.
2021-05-17 11:20:12 +02:00
jan iversen
ad7be91b6a
Fix modbus blocking threads (#50619)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-15 19:54:17 +02:00
jan iversen
2f89ba24b6
Cleanup modbus binary_sensor signature (#49809)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-05 00:29:18 +02:00
jan iversen
f0ec9c38b0
Fix modbus typing (#49938)
Add changes needed to please mypy and follow the coding rules
of the project.
2021-05-03 22:45:21 +02:00
jan iversen
8adbc62a6e
Enable homeassistant.update_entity service for all modbus platforms (#49918)
* Rename _update() to update()

A platform neeed a function update(), even though
polling is false, this is due to the service:
homeassistant.update_entity, which calls update()

* Update test harnesss to script testing.

Test homeassistant.update_entity in all platforms.
This call calls update() in the platform to get
a new reading.

* Add reuse parameter.

* Move service call from helper to tests.

* Change run_service_update --> prepare_service_update.

* Remove entity_id parameter.
2021-05-02 10:41:36 +02:00
jan iversen
c14e525ac3
Update modbus state when sensor fails (#49481) 2021-04-20 14:54:20 +02:00
jan iversen
8acc3f0b03
Fix modbus switch "old style" config problem (#49352)
Fix that using CONF_HUB in switch, changed the hub for all
subsequent switches.
2021-04-19 10:35:32 -07:00
jan iversen
eb9ba527d0
Add pymodbus exception handling and isolate pymodbus to class modbusHub (#49052) 2021-04-19 08:18:15 -07:00
jan iversen
0f90678e0e
Change HomeAssistantType -> HomeAssistant in modbus (#49400) 2021-04-18 22:13:32 -10:00
jan iversen
2511e1f229
Remove modbus duplicate strings (#48654)
* Reuse HA constants for serial configuration.

Reusing HA consts reduces the need for translation.

Sort/group constants in const.

* Change const name ATTR_* to CONF_*

* Correct wrong import

* ATTR_* for service and CONF_* for schemas.

* Revert change to service call.

* Rename CONF_TEMPERATURE -> ATTR_TEMPERATURE

Avoid possible division problem in set_temperature.
2021-04-04 14:02:47 +02:00
jan iversen
ffdfc521b9
Allow discovery configuration of modbus platforms (#46591)
* Change modbus configuration to new style.

The old (frozen) configuration is still supported, but when detected a big
warning is issued that it will soon be removed. This allows users to change
their configuration at their pace.

Clean configuration SCHEMAs and move common modbus parts
to MODBUS_SCHEMA (renamed from BASE_SCHEMA).

Add BASE_COMPONENT_SCHEMA to ensure common configuration of components.
All component define e.g. NAME, move these to a common schema.
change components (binary_sensor, sensor, switch) to new config

Add test set for modbus itself (old config and discovery_info).
Add test of devices discovery_info configuration

* Update discovery_info configuration for binary_sensor.

* Update discovery_info configuration for sensor.

* Update discovery_info configuration for switch.

* Review comments.

* update due to change in core

* flake8 problem.

* Correct log message.

* add should_poll property.

* Fix polling for Modbus binary sensor

* Fix polling for Modbus sensor

* Fix polling for Modbus switch

* Fix switch.

* Fix pytest errors.

* Update homeassistant/components/modbus/binary_sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/modbus/binary_sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/modbus/modbus.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/modbus/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/modbus/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/modbus/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/modbus/switch.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/modbus/switch.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/modbus/switch.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* ToogleEntity -> SwitchEntity and add abastract

* Update homeassistant/components/modbus/switch.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/modbus/test_init.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* removed if/else in test.

* Remove other if.

Co-authored-by: Vladimir Zahradnik <vladimir@zahradnik.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-27 22:48:06 +01:00
Marc Mueller
25a13d1554
Update typing 10 (#48071) 2021-03-18 13:07:04 +01:00
tkdrob
c75e63dc95
Use core constants for modbus (#46388) 2021-02-11 07:58:16 -05:00
Philip Allgaier
625bbe6238
Cleanup unused loggers (components A-M) (#41600) 2020-10-12 16:59:05 +02:00
jan iversen
4d9ff13384
Fix bool registers in modbus integration (#41506)
When a register is of type bool modbus returns a whole byte, but ONLY the
lowest bit determine true/false.
2020-10-08 23:52:41 +02:00
Erik Montnemery
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
jan iversen
8277ebcbe1
Rollback modbus to version 0.107.7 keep new functionality (#34287)
* Rollback modbus to version 0.107.7

Update manifest to not use async.

Rollback entities to sync version.

Keep newer modifications apart from async.

Rollback __init__ to sync version but keep the new functionality.

add async sub directory

Adding the current (not working) version in a sub directory,
to allow easy sharing with a few alfa testers.

The async version are to be updated to use the serial/tcp already
available instead of the flaky pymodbus version. pymodbus is still
needed to encode/decode the messagess.

Update test cases to reflect sync implementation, but
keep the new functionality like e.g. conftest.py.

* do not publish async version

The async version will be made available in a forked repo, until
it is ready to replace the production code.
2020-04-17 09:55:57 +02:00
jan iversen
b3286a4a01
Fix Modbus review comments (#33755)
* update common test for modbus integration

* remove log messages from modbus setup function.

* Make global method local

* Change parameter name to snake_case
2020-04-07 16:56:48 +02:00