Commit Graph

36 Commits (0257cd8bbed5ddc33d3f795ac70b580c8d70684e)

Author SHA1 Message Date
Charles Garwood 40f914214b
Fix Fully Kiosk Browser MQTT event callbacks with non-standard event topics (#105735) 2023-12-14 18:59:37 +01:00
Mike Heath d460eadce0
Add support to fully_kiosk for hybrid local push/pull switches using MQTT (#89010)
* Support hybrid local push/pull switches using MQTT

* Update homeassistant/components/fully_kiosk/entity.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Fix MQTT subscribe method

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-23 10:38:32 +01:00
r01k 7ef47da27d
Add HTTPS support for Fully Kiosk (#89592)
* Add HTTPS support for Fully Kiosk with optional certificate verification.

* All pytests passing.

* Better readability for url parameter of DeviceInfo

* All pytests passing with latest fixes from upstream

* Removing fully_kiosk/translations

* Rebasing

* Added extra error detail when the integration config flow fails

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-13 17:40:57 +01:00
Jan-Philipp Benecke 04a497343d
Update f-g* tests to use entity & device registry fixtures (#103841) 2023-11-12 13:07:38 +01:00
Erik Montnemery 3b07181d87
Use freezegun in fully_kiosk tests (#99031) 2023-08-25 09:03:51 -05:00
Erik Montnemery 7539cf25be
Don't require passing identifiers to DeviceRegistry.async_get_device (#96479)
* Require keyword arguments to DeviceRegistry.async_get_device

* Update tests

* Update tests

* Don't enforce keyword arguments
2023-07-13 13:39:25 -04:00
Charles Garwood 34827571ba
Add set_config service to Fully Kiosk Browser integration (#95318)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-06-27 20:42:18 +02:00
Joost Lekkerkerker e7cc839a96
Add entity translations to Fully Kiosk (#95368) 2023-06-27 17:41:41 +02:00
Haim Gelfenbeyn 0c66ccebd1
Verify that the MAC address that Fully Kiosk reported is usable (#94887) 2023-06-27 13:34:07 +02:00
Mike Heath d3bf52c136
Register Fully Kiosk services regardless of setup result (#88647)
* Register services at integration level

If HA is unable to connect to Fully Kiosk, the services don't get
registered. This can cause repair to create notifications saying
that the 'fully_kiosk.load_url' service is unknown.

Fixes #85444

* Validate config entry is loaded

* Refactor service invocation

Raises `HomeAssistantError` when the user provides an device id that is
not in the device registry or a device that is not a Fully Kiosk
device. If the device's config entry is not loaded, a warning is
logged.

* Update homeassistant/components/fully_kiosk/services.py

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

* Assert HomeAssistantError when integration unloaded

* Remove unused import

* Set CONFIG_SCHEMA

* Update homeassistant/components/fully_kiosk/__init__.py

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

* Add test for non fkb devices targets in service calls

* Apply suggestions from code review

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-06-19 13:12:04 +02:00
Allen Porter 12129e9d21
Update service call return values and error handling (#94657)
* Update return signature of service calls

* Add timeout error handling in websocket api for service calls

* Update recorder tests to remove assertion on service call

* Remove timeout behavior and update callers that depend on it today

* Fix tests

* Add missing else

* await coro directly

* Fix more tests

* Update the intent task to use wait instead of timeout

* Remove script service call limits and limit constants

* Update tests that depend on service call limits

* Use wait instead of wait_for and add test

* Update homeassistant/helpers/intent.py

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

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-06-16 07:01:40 -07:00
Ville Skyttä 70c49824d7
Import `util.dt` as `dt_util` in `components/[e-f]*` (#93758) 2023-05-30 00:00:11 +03:00
Mike Heath 2a7ba60574
Fully Kiosk: Truncate long URLs (#92347)
* Truncate long URLs

URL's longer than 256 characters will result in a
`homeassistant.exceptions.InvalidStateError`. This fixes that problem
and adds 2 extra_state_attributes: `full_url`, and `truncated`.

Fixes #89249

* Refactor to use function ref in entity description
2023-05-24 12:32:26 +02:00
epenet 7b3a932cd9
Remove incorrect constant usage in test (#91198) 2023-04-11 10:00:17 +02:00
Franck Nijhof ed79265843
Enable Ruff PT006 (#88165)
* Enable Ruff PT006

* Adjust existing cases

* Fix tests

* Remove unneeded parentheses
2023-02-15 14:09:50 +01:00
Mike Heath 04e9c7748f
Support Fully Kiosk Browser device discovery via MQTT (#88109)
Support FKB device discovery via MQTT
2023-02-15 11:11:04 +01:00
epenet b68f502769
Add type hints to integration tests (part 7) (#87980) 2023-02-13 09:53:09 +01:00
Mike Heath b5dfd83c46
Fix Fully Kiosk Browser merging entities when MAC empty (#87743)
* Fix FKB merging entities when MAC empty

Fully Kiosk Browser will sometimes return an empty MAC address in the
device_info API call. When two Fully Kiosk devices are added with
missing MAC addresses, HA will assume the two devices are the same and
merge the entities. This fixes that problem.

Fixes #77722

* Update homeassistant/components/fully_kiosk/entity.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-10 09:19:09 +01:00
Erik Montnemery cc564026fa
Move EntityCategory to homeassistant.const (#87792)
* Move EntityCategory to homeassistant.const

* Fix more imports
2023-02-09 20:15:37 +01:00
epenet a79be493e5
Adjust hass_client type hint in integration tests (#86954)
* Adjust hass_client type hint in integration tests

* Adjust hass_client_no_auth

* Fix rebase
2023-02-02 16:29:57 -05:00
Franck Nijhof bcf32f8331
Mark required fields in FlowResult typedict (#84811)
* Mark required fields in FlowResult typedict

* Remove unneeded asserts from tests
2022-12-30 12:01:45 +01:00
epenet 69bc95a715
Use DATA_SIZE device class in integrations (#83895) 2022-12-13 10:17:56 +01:00
Charles Garwood a68bd8df6f
Add start_application service to fully_kiosk integration (#80226) 2022-10-14 19:21:58 +02:00
Franck Nijhof 30920c3da7
Code quality improvements for Fully Kiosk (#80168) 2022-10-12 15:52:09 +02:00
Charles Garwood ffb6434776
Add load_url service to fully_kiosk integration (#79969) 2022-10-10 14:11:55 +02:00
epenet 7bc2712142
Adjust root-import in tests (#78761)
* Adjust root-import in tests

* Adjust diagnostics

* Adjust button

* Adjust select

* Adjust device_tracker

* Adjust camera

* Adjust humidifier

* Adjust media_source

* Adjust update

* Adjust siren

* Adjust number

* Adjust alarm_control_panel

* Adjust notify

* Adjust sensor

* Adjust switch

* Revert anthemav

* Don't adjust demo humidifier
2022-09-19 15:22:23 +02:00
Charles Garwood 4ba8fb6457
Add basic media_player to Fully Kiosk Browser integration (#77266) 2022-08-29 19:39:05 +02:00
Charles Garwood 36d77d1f33
Add diagnostics to Fully Kiosk Browser integration (#77274) 2022-08-26 15:21:45 +02:00
Charles Garwood 1aef60c81c
Add screen on/off switch to Fully Kiosk Browser integration (#76957) 2022-08-18 13:33:38 +02:00
Charles Garwood 6fbdc8e339
Add Fully Kiosk Browser number platform (#76952)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-08-18 10:51:28 +02:00
Charles Garwood 79ab13d118
Add Fully Kiosk Browser switch platform (#76931) 2022-08-17 16:30:20 +02:00
Charles Garwood 924704e0d1
Fix fully_kiosk button test docstring and function name (#76935)
Fix button test docstring and function name
2022-08-17 10:22:12 -04:00
Charles Garwood 7e366a78e6
Add Fully Kiosk Browser button platform (#76894)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-08-17 08:36:56 +02:00
Franck Nijhof ec1b133201
Add DHCP updates to Fully Kiosk (#76896) 2022-08-16 21:19:23 -04:00
Charles Garwood 8070875ff4
Add Fully Kiosk Browser sensor platform (#76887) 2022-08-17 00:20:30 +02:00
Charles Garwood 1e9ede25ad
Add Fully Kiosk Browser integration with initial binary sensor platform (#76737)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-08-16 20:08:35 +02:00