Commit Graph
166 Commits
Author SHA1 Message Date
jan iversenandGitHub 9931f45532 Deprecate modbus parameter retry_on_empty (#100292) 2023-09-16 21:14:52 +02:00
jan iversenandGitHub 568974fcc4 Modbus 100% test coverage (again) (#100482) 2023-09-16 14:00:22 +02:00
jan iversenandGitHub d25f45a957 Harden modbus against lib errors (#100469) 2023-09-16 09:57:55 +02:00
jan iversenandGitHub fd83f7d87f Add test for modbus CONF_DEVICE_ADDR (#100435) 2023-09-15 16:12:44 +02:00
jan iversenandGitHub 9eb0b844bc Test VIRTUAL_COUNT parameter (#100434) 2023-09-15 15:02:24 +02:00
jan iversenandGitHub d4a2927ebe Solve racing problem in modbus test (#100287)
* Test racing problem.

* review comment.

* Revert to approved state.

This reverts commit 983d9d68e8.
2023-09-14 16:03:32 +02:00
jan iversenandGitHub c178388956 Remove modbus pragma no cover and solve nan (#99221)
* Remove pragma no cover.

* Ruff !

* Review comments.

* update test.

* Review.

* review.

* Add slave test.
2023-09-12 16:05:59 +02:00
jan iversenandGitHub 9acca1bf58 Make modbus retry fast on read errors (#99576)
* Fast retry on read errors.

* Review comments.
2023-09-12 10:01:15 -04:00
jan iversenandGitHub 71207e112e Bring modbus naming in sync with standard (#99285) 2023-09-12 10:59:50 +02:00
jan iversenandGitHub 77180a73b7 Modbus scale parameter cuts decimals (#99758) 2023-09-07 20:56:00 +02:00
jan iversenandGitHub f85a3861f2 Make validator for modbus table controlled (#99092) 2023-09-03 21:04:58 +02:00
jan iversenandGitHub d19f617c25 Modbus switch, allow restore "unknown" (#99533) 2023-09-03 17:48:25 +02:00
jan iversenandGitHub c94d4f501b Read modbus data before scan_interval (#99243)
Read before scan_interval.
2023-09-03 17:13:49 +02:00
jan iversenandGitHub 9ef3ec3dd3 Add modbus test for configuration errors (#98697) 2023-08-30 11:34:51 +02:00
J. Nick KostonandGitHub 80d2309896 Switch async_track_time_interval to use async_call_later internally (#99220) 2023-08-28 13:56:22 -05:00
Ville SkyttäandGitHub 3094991236 Upgrade ruff to 0.0.285 (#98647) 2023-08-19 08:17:17 -04:00
jan iversenandGitHub c268adb07e modbus: Repair swap for slaves (#97960) 2023-08-18 13:23:04 +02:00
jan iversenandGitHub 1c56c39897 modbus config: count and slave_count can normally not be mixed. (#97902) 2023-08-18 13:10:13 +02:00
jan iversenandGitHub 59d37f65d5 Correct modbus config validator: slave/swap (#97798) 2023-08-18 10:55:39 +02:00
jan iversenandGitHub fc463e5831 modbus: remove unused constants and get 100% coverage. (#97779) 2023-08-08 16:40:16 +02:00
c4a5373976 Handle explicit Modbus NaN values (#90800)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2023-08-06 13:47:54 +02:00
Bruno EntenandGitHub 3ce05314e0 use write_registers also for target temp (#97475) 2023-08-02 13:36:05 +02:00
jan iversenandGitHub 48607d0586 Bump pymodbus to 3.3.1 (#94162) 2023-06-08 15:57:49 +02:00
jan iversenandGitHub cd23caff58 Correct modbus serial method parameter (#89738) 2023-03-15 12:27:45 +01:00
jan iversenandGitHub b11539fb04 Move connect method into a task (#88452)
Move connect() into a task.
2023-02-20 08:32:47 +01:00
Franck NijhofandGitHub 1e05697080 Enable Ruff B007 (#88356)
* Enable Ruff B007

* Adjust existing cases
2023-02-17 21:08:18 -05:00
Franck NijhofandGitHub d3ed8de232 Update Ruff to v0.0.247 (#88210)
* Update Ruff to v0.0.247

* Fix new found violations
2023-02-15 16:46:03 -05:00
Franck NijhofandGitHub ed79265843 Enable Ruff PT006 (#88165)
* Enable Ruff PT006

* Adjust existing cases

* Fix tests

* Remove unneeded parentheses
2023-02-15 14:09:50 +01:00
Franck NijhofandGitHub 9030ca05b1 Enable Ruff SIM118 (#87772) 2023-02-15 12:39:12 +01:00
epenetandGitHub 50cbabb2d8 Add type hints to integration tests (part 15) (#88006) 2023-02-15 10:00:49 +01:00
jan iversenandGitHub b9b5a279f2 Correct sensor restore entity in modbus (#87563)
* Correct sensor restore entity.

* Review comments.
2023-02-09 21:35:44 +01:00
epenetandGitHub f75ac17554 Add type hints to integration tests (j-m) (#87704) 2023-02-08 19:06:59 +01:00
epenetandGitHub aa00114c2f Add return type to async tests without arguments (#87612) 2023-02-07 10:26:56 +01:00
epenetandGitHub 810367b757 Fix can not typo (#87254) 2023-02-03 11:37:16 +01:00
GrahamJB1andGitHub 8bff95014c Add modbus min/max values (#86131)
* modbus min/max values
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2023-02-02 22:29:03 +01:00
Franck NijhofandGitHub 5e81d28116 Update black to 23.1.0 (#87188) 2023-02-02 18:35:24 +01:00
Franck NijhofandGitHub ef800335fb Enable Ruff PT022 (#86792)
* Enable Ruff PT022

* Adjust found cases
2023-01-27 13:57:06 +01:00
GrahamJB1andGitHub 200d3ae845 modbus slave unique ids (#86126)
modbus slave unique ids
2023-01-19 11:08:11 +01:00
ee85a23d19 Bring modbus back to 100% test coverage (#85972)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-01-16 15:44:11 +01:00
Joakim PlateandGitHub c576a68d33 Upgrade pytest-aiohttp (#82475)
* Upgrade pytest-aiohttp

* Make sure executors, tasks and timers are closed

Some test will trigger warnings on garbage collect, these warnings
spills over into next test.

Some test trigger tasks that raise errors on shutdown, these spill
over into next test.

This is to mimic older pytest-aiohttp and it's behaviour on test
cleanup.

Discussions on similar changes for pytest-aiohttp are here:
https://github.com/pytest-dev/pytest-asyncio/pull/309

* Replace loop with event_loop

* Make sure time is frozen for tests

* Make sure the ConditionType is not async

  /home-assistant/homeassistant/helpers/template.py:2082: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
    def wrapper(*args, **kwargs):
  Enable tracemalloc to get traceback where the object was allocated.
  See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.

* Increase litejet press tests with a factor 10

The times are simulated anyway, and we can't stop the normal
event from occuring.

* Use async handlers for aiohttp

tests/components/motioneye/test_camera.py::test_get_still_image_from_camera
tests/components/motioneye/test_camera.py::test_get_still_image_from_camera
tests/components/motioneye/test_camera.py::test_get_stream_from_camera
tests/components/motioneye/test_camera.py::test_get_stream_from_camera
tests/components/motioneye/test_camera.py::test_camera_option_stream_url_template
tests/components/motioneye/test_camera.py::test_camera_option_stream_url_template
  /Users/joakim/src/hass/home-assistant/venv/lib/python3.9/site-packages/aiohttp/web_urldispatcher.py:189: DeprecationWarning: Bare functions are deprecated, use async ones
    warnings.warn(

* Switch to freezegun in modbus tests

The tests allowed clock to tick in between steps

* Make sure skybell object are fully mocked

Old tests would trigger attempts to post to could services:

```
DEBUG:aioskybell:HTTP post https://cloud.myskybell.com/api/v3/login/ Request with headers: {'content-type': 'application/json', 'accept': '*/*', 'x-skybell-app-id': 'd2b542c7-a7e4-4e1e-b77d-2b76911c7c46', 'x-skybell-client-id': '1f36a3c0-6dee-4997-a6db-4e1c67338e57'}
```

* Fix sorting that broke after rebase
2022-11-29 22:36:36 +01:00
jan iversenandGitHub 8ed4ce64c3 Solve modbus binary slave problem (#82338)
* Solve modbus binary slave problem.
2022-11-26 11:11:50 +01:00
Joakim PlateandGitHub 8bd4125390 Test corrections noticed during pytest upgrade (#82579)
* Withing trigger a call to coordinator after init

* Stop discovery task on STOP event

* Stop dsmr connection task on STOP

* Use autospec in modem_serial tests

close on AioSerial is non async, and should not be mocked as a coroutine

* Make sure responder is specced correctly

tests/components/emulated_hue/test_init.py::test_setup_works
  /Users/joakim/src/hass/home-assistant/homeassistant/components/emulated_hue/__init__.py:119: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
    protocol.close()

* Don't assume Pymodbus is the only thing logging

* Use gather instead of wait

```
homeassistant/components/homeassistant/__init__.py:208: DeprecationWarning: The explicit passing of coroutine objects to asyncio.wait() is deprecated since Python 3.8, and scheduled for removal in Python 3.11.
```

* Increase wait time for automation tests

Assuming exit within 1 seconds is unreasonable on a potentially loaded
test machine.

* Avoid changing app state after startup
2022-11-23 20:53:28 +01:00
jan iversenandGitHub 15176300e2 Add full test of wrap option (#82308)
fixes undefined
2022-11-22 09:57:04 +01:00
J. Nick KostonandGitHub 077bd594eb Fix modbus test assuming repeat listeners always fire at 0 microseconds (#82320) 2022-11-18 14:23:42 +01:00
AvishayandGitHub 92b5721f80 Fix modbus hvac mode keys (#81747)
Change the HVAC mode register conf constants
2022-11-09 11:09:21 +01:00
1d633ac484 Accept input register in Modbus binary sensor (#81352)
Adds input register as valid option for modbus binary_sensor

Co-authored-by: jan iversen <jancasacondor@gmail.com>
2022-11-07 10:14:12 +01:00
AvishayandGitHub ae7eb9cef9 Add mode control for Modbus climate entities (#73906)
* Add support for Modbus HVAC control registers
2022-10-20 13:15:30 +02:00
NippeyandGitHub 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
epenetandGitHub 0d696b84b2 Cleanup root component imports in tests (#78893) 2022-09-21 06:57:41 -10:00
epenetandGitHub 09393d6f64 Use climate enums in modbus (#70693) 2022-04-25 21:18:00 -10:00