Commit Graph

47 Commits (5446dd92a977615f3e83cdb9469c900f503a5824)

Author SHA1 Message Date
Robert Resch ad50136dbd
Add created_at/modified_at to config entries (#122456) 2024-07-29 22:08:46 +02:00
epenet 3e9d25f81d
Add missing argument type hints to component tests (#119671) 2024-06-14 09:26:46 +02:00
epenet 301c17cba7
Use registry fixtures in tests (o-p) (#118292) 2024-05-28 13:42:38 +02:00
Joost Lekkerkerker 5d500cb74b
Use is in enum comparison in config flow tests K-O (#114672) 2024-04-02 11:21:42 -10:00
Joost Lekkerkerker 6bb4e7d62c
Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
J. Nick Koston e9c1753f3a
Cache parsing the url for the device registry (#113910)
* Cache parsing the url for the device registry

There are lots of hub integrations that use the same url for every
sub-device which results in a lot of url parsing at startup. The
logic can be simplified quite a bit here by only using yarl
for URLs

* fix onvif
2024-03-20 19:35:01 -04:00
Marc Mueller aa16a9d707
Add empty line after module docstring (3) (#112750) 2024-03-08 20:38:34 +01:00
Marc Mueller 32f3f46542
Add empty line after module docstring (2) [tests.components] (#112737) 2024-03-08 19:16:21 +01:00
Marc Mueller 1722e23df8
Add empty line after module docstring [tests l-p] (#112710) 2024-03-08 14:55:15 +01:00
J. Nick Koston a87960a323
Fix formatting of mac addresses from dhcp discovery mocking in onvif (#110589)
dhcp returns addresses in lowercase without :
2024-02-14 20:55:14 +01:00
Erik Montnemery 6908497c3d
Add minor version to config entries (#105479) 2023-12-12 08:44:35 +01:00
Jan-Philipp Benecke 4d8941d4b7
Use snapshot assertion for onvif diagnostics test (#98982) 2023-08-24 22:40:45 +02:00
J. Nick Koston d4cdb0453f
Guard expensive debug formatting with calls with isEnabledFor (#97073) 2023-07-23 10:54:25 +02:00
Franck Nijhof 3e85a29b86
Move overlapping pylint rules to ruff, disable mypy overlap (#94359) 2023-06-27 17:42:46 +02:00
J. Nick Koston db931132a8
Fix thread leak in onvif discovery (#93742) 2023-05-29 17:06:13 +02:00
J. Nick Koston 5f5951e71c
Add hardware model to onvif config flow discovery (#93676) 2023-05-27 19:47:13 -05:00
J. Nick Koston 2eef2ed911
Add option to disable webhooks in ONVIF (#93186) 2023-05-18 10:34:09 -05:00
J. Nick Koston 8b57d31eba
Add ONVIF services to diagnostics (#92878) 2023-05-11 17:03:31 +09:00
J. Nick Koston d05724a42a
Fix onvif reauth when device returns a http 401/403 error (#92690) 2023-05-07 00:12:24 +02:00
J. Nick Koston 7987b00d89
Fix blocking I/O in the event loop when starting ONVIF (#92518) 2023-05-04 12:05:29 -05:00
J. Nick Koston 193b2694a9
Handle AttributeError from wrong port in ONVIF config flow (#92272)
* Handle AttributeError from wrong port in ONVIF config flow

fixes
```
2023-04-29 19:17:22.289 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/view.py", line 146, in handle
    result = await result
  File "/Users/bdraco/home-assistant/homeassistant/components/config/config_entries.py", line 180, in post
    return await super().post(request, flow_id)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
  File "/Users/bdraco/home-assistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
  File "/Users/bdraco/home-assistant/homeassistant/data_entry_flow.py", line 271, in async_configure
    result = await self._async_handle_step(
  File "/Users/bdraco/home-assistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
  File "/Users/bdraco/home-assistant/homeassistant/components/onvif/config_flow.py", line 233, in async_step_configure
    errors, description_placeholders = await self.async_setup_profiles()
  File "/Users/bdraco/home-assistant/homeassistant/components/onvif/config_flow.py", line 277, in async_setup_profiles
    await device.update_xaddrs()
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/onvif/client.py", line 433, in update_xaddrs
    capabilities = await devicemgmt.GetCapabilities({"Category": "All"})
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/zeep/proxy.py", line 64, in __call__
    return await self._proxy._binding.send_async(
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/zeep/wsdl/bindings/soap.py", line 164, in send_async
    return self.process_reply(client, operation_obj, response)
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/zeep/wsdl/bindings/soap.py", line 204, in process_reply
    doc = parse_xml(content, self.transport, settings=client.settings)
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/zeep/loader.py", line 51, in parse_xml
    docinfo = elementtree.getroottree().docinfo
AttributeError: NoneType object has no attribute getroottree
```

* port

* Revert "port"

This reverts commit 4693f3f33a.

* misfire
2023-04-29 21:17:56 -04:00
J. Nick Koston 2354f8194e
Add reauth to onvif (#91957)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-04-25 12:20:17 -05:00
J. Nick Koston e25885b943
Improve error reporting in onvif in config flow (#91876) 2023-04-24 15:20:37 +02:00
J. Nick Koston 14d2645de2
Avoid creating onvif switches on unsupported devices (#91907)
* Avoid creating onvif switches on unsupported devices

fixes #89064

* cover
2023-04-23 20:56:43 -04:00
J. Nick Koston 3beb6e9718
Add webhook support to onvif (#91485) 2023-04-22 17:49:41 +02:00
J. Nick Koston 7f7909e0d1
Add dhcp ip update support to onvif (#91474)
* Add dhcp ip update support to onvif

If we know the mac address of the camera we can
update the config entry when the ip changes

* fix lookup

* coverage

* remove unreachable

* remove unreachable

* remove unreachable
2023-04-16 15:55:33 -04:00
epenet 3abf7ea18a
Add type hints to integration tests (m-p) (#87705) 2023-02-08 07:48:54 -08:00
Nick Touran d2e75e4f7a
Add Autofocus, IR lamp, and Wiper switches in ONVIF (#84317)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-30 12:08:07 +01:00
Franck Nijhof 7cd68381f1
Search/replace RESULT_TYPE_* by FlowResultType enum (#74642) 2022-07-07 19:57:36 +03:00
Diogo Gomes 4e2de2479a
Add SetSystemDateandTime Button (#66419)
* add SetSystemDateandTime

* fix

* address review

* follow recommendation to set date and time on start

* add set date and time button test
2022-07-07 16:25:44 +02:00
uvjustin 79fb5e1bec
Add use wallclock as timestamps option to onvif (#71983) 2022-05-23 13:54:49 +08:00
uvjustin 617b0d04dc
Decouple stream options from PyAV options (#71247)
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2022-05-14 23:31:18 -07:00
Jason Hunter 9008a76bd4
Remove deprecated YAML configuration from ONVIF (#70395)
* Remove deprecated YAML configuration from ONVIF

* remove async_setup completely
2022-04-22 21:35:11 -04:00
Jason Hunter 22db21b9d4
Add diagnostics to ONVIF (#69708) 2022-04-21 11:38:20 -07:00
Eric Severance 5f2fd1b0e6
Add a reboot button for ONVIF devices (#61522) 2022-01-24 15:07:06 +01:00
Xuefer 3a5ee00081
Merge onvif host/auth step, allow skipping scan (#49660) 2021-06-28 16:39:18 +02:00
Xuefer 2a47805b4a
Close onvif device cleanly (#49659)
* onvif: close device cleanly

Signed-off-by: Xuefer <xuefer@gmail.com>

* onvif: Too many nested blocks

Signed-off-by: Xuefer <xuefer@gmail.com>

* update tests to cover onvif config_flow

Signed-off-by: Xuefer <xuefer@gmail.com>
2021-05-24 15:27:40 -04:00
Franck Nijhof c68b259bd3
Cleanup of unused connection_class logic (#49865)
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-04-29 23:12:58 +02:00
Ville Skyttä 153d6e891e
Use config_entries.SOURCE_* constants (#49631) 2021-04-25 11:27:40 +02:00
Franck Nijhof 65cf2fcb6f
Drop asynctest (#44746) 2021-01-01 22:31:56 +01:00
Jason Hunter 5a397312e7
Update ONVIF to Zeep 4.0/httpx (#42020)
* convert to httpx and zeep 4.0

* fix tests

* add onvif-zeep-async to manifest

* pin zeep to fool CI cache

* address review comments
2020-10-18 23:29:53 -04:00
Paulus Schoutsen 4899d7628a
Fix flaky ONVIF test (#41848) 2020-10-15 09:19:08 +02:00
Diefferson Koderer Môro dde465da48
Use common strings for Onvif config flow (#41170)
* Use common strings for Onvif config flow

* Fix tests

* Update homeassistant/components/onvif/strings.json

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-05 15:27:48 +02:00
Franck Nijhof 1c2ebdf307
Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
Jason Hunter bd8848e57a
Fix ONVIF config entry unique ID (#36008)
* fallback to device serial number if no mac available

* make password optional to fix #35904

* update tests to reflect new flow

* fix snake case and AsyncMock

* add comments around why weird things are being done
2020-05-24 21:50:50 +02:00
Jason Hunter 19734e7b2c
Refactor ONVIF (#35222) 2020-05-06 09:29:59 -07:00
Jason Hunter 850b5cb02b
Config flow for ONVIF (#34520) 2020-04-30 23:15:40 -07:00