core icon indicating copy to clipboard operation
core copied to clipboard

Fully Kiosk service to change URLs Error

Open jazbraz opened this issue 2 years ago • 5 comments

The problem

I can´t manage to change the url on my fully kiosk tablett. Just get an error "unknown error"

What version of Home Assistant Core has the issue?

Home Assistant 2022.11.0b3

What was the last working version of Home Assistant Core?

new service in beta

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Fully_Kiosk

Link to integration documentation on our website

https://rc.home-assistant.io/integrations/fully_kiosk

Diagnostics information

No response

Example YAML snippet

service: fully_kiosk.load_url
data:
  url: http://192.168.86.29:8123/lovelace-hem/Entrekamera
target:
  device_id: a636ca9fa546977e48a054bcdbee447c

Anything in the logs that might be useful for us?

Logger: homeassistant.components.websocket_api.http.connection
Source: components/fully_kiosk/services.py:30
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 19:04:49 (2 occurrences)
Last logged: 19:05:17

[139780137120864] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 646, in handle_execute_script
    await script_obj.async_run(msg.get("variables"), context=context)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1524, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 409, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 453, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 476, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 451, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1744, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1781, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/components/fully_kiosk/services.py", line 30, in async_load_url
    coordinator = hass.data[DOMAIN][list(device.config_entries)[0]]
KeyError: '5fd0c04237b3c86741001c0c1bb5e246'

Additional information

No response

jazbraz avatar Oct 30 '22 18:10 jazbraz

Hey there @cgarwood, mind taking a look at this issue as it has been labeled with an integration (fully_kiosk) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of fully_kiosk can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Change the title of the issue.
  • @home-assistant unassign fully_kiosk Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


fully_kiosk documentation fully_kiosk source (message by IssueLinks)

home-assistant[bot] avatar Oct 30 '22 18:10 home-assistant[bot]

In beta3 it was working but in the official release it isnt anymore

fyi i first used the hacs integration now on the core one. Deinstalled the hacs integration and this was working fine with beta 3 at least.

I reverted back to beta3 of 2022.11 to get it working for now

bartbakels avatar Nov 03 '22 16:11 bartbakels

Exact same issue is happening here. I rewrote all my automations to stop using the hacs integration and start using the core one but unfortunately, I also receive this same 'unknown error' with the underlaying keyerror. Would be great if this could be fixed. Oh, and thanks for making the effort of making this core @cgarwood! 👍

j-pas avatar Nov 03 '22 21:11 j-pas

Same issue here by me

haempy avatar Nov 04 '22 20:11 haempy

Anyone found a workaround , dont feel like rewriting all automations again for 6 panels

bartbakels avatar Nov 07 '22 17:11 bartbakels

confirmed, not working in 2021.11.2 as well, so i would suspect an integration issue.

bartbakels avatar Nov 09 '22 10:11 bartbakels

Today I upgraded to the 2022.11.2 and wanted to look for a workaround, only to find out that the issue is no longer occuring! I can now call the fully_kiosk.load_url service and it will do just that without any errors. As this issue does not seem to be solved accoding to the 2022.11.2 release notes I wonder wat might have done the trick. Could it be:

  • A restart of HA?
  • A restart of the tablet running Fully Kiosk browser?
  • Somthing related in the 2022.11.2 release?
  • I was planning on reinstalling the integration but did not come to it so this was not the solution....

Not sure wat solved it. But it might be worth giving it another try after rebooting both.

j-pas avatar Nov 09 '22 20:11 j-pas

Today I upgraded to the 2022.11.2 and wanted to look for a workaround, only to find out that the issue is no longer occuring! I can now call the fully_kiosk.load_url service and it will do just that without any errors. As this issue does not seem to be solved accoding to the 2022.11.2 release notes I wonder wat might have done the trick. Could it be:

  • A restart of HA?
  • A restart of the tablet running Fully Kiosk browser?
  • Somthing related in the 2022.11.2 release?
  • I was planning on reinstalling the integration but did not come to it so this was not the solution....

Not sure wat solved it. But it might be worth giving it another try after rebooting both.

Hmm i will try again tomorrow m, i upgraded today. Tested an a test load url automation but same unknown error message. So i rolled back. After upgrade i didnt try an additional reboot. Just to double check , you removed the hacs FK integration?

bartbakels avatar Nov 09 '22 21:11 bartbakels

Indeed it seems to be solved in 11.2. The initial test automation was sending Http://www.google.com for testing , but that capital H caused that error. After making it a small h it worked and also all my adapted automations for production are confirmed working

so maybe good to mention that capital letters also cause issues, however the issue seems resolved :)

bartbakels avatar Nov 09 '22 21:11 bartbakels

Super strange. Based on the error message it was an issue with the config entry ID. Not sure what would have changed to fix it though 🤷‍♂️

cgarwood avatar Nov 09 '22 22:11 cgarwood

I have the same issue. Regardless if absolute or relative URL. HA 2022.11.2

Logger: homeassistant.helpers.script.websocket_api_script
Source: components/fully_kiosk/services.py:30
First occurred: 13:10:19 (4 occurrences)
Last logged: 13:16:01

websocket_api script: Error executing script. Unexpected error for call_service at pos 1: 'c3d82d1a2143ea2049316ad198dd9b3a'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 451, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1744, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1781, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/components/fully_kiosk/services.py", line 30, in async_load_url
    coordinator = hass.data[DOMAIN][list(device.config_entries)[0]]
KeyError: 'c3d82d1a2143ea2049316ad198dd9b3a'

alsFC avatar Nov 11 '22 12:11 alsFC

I said that it is working, but today I see that some tablets encounter the same unknown error again. Tablets are online, tried restarts, no unavailable entities on those tablets and for example load start url etc is working… But load url throws errors. Still on 2022.11.2

`Logger: homeassistant.components.automation.fullykiosk_dressoir_besturing_2 Source: components/fully_kiosk/services.py:30 Integration: Automatisering (documentation, issues) First occurred: 13:42:53 (69 occurrences) Last logged: 16:48:32

Fullykiosk Dressoir Besturing: Choose at step 1: choice 7: Error executing script. Unexpected error for call_service at pos 2: '7d36e3662f41a5296ffd9077f443a054' Fullykiosk Dressoir Besturing: Error executing script. Unexpected error for choose at pos 1: '7d36e3662f41a5296ffd9077f443a054' While executing automation automation.fullykiosk_dressoir_besturing_2 Fullykiosk Dressoir Besturing: Choose at step 1: choice 5: Error executing script. Unexpected error for call_service at pos 2: '7d36e3662f41a5296ffd9077f443a054' Fullykiosk Dressoir Besturing: Choose at step 1: choice 3: Error executing script. Unexpected error for call_service at pos 2: '7d36e3662f41a5296ffd9077f443a054' Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 451, in _async_step await getattr(self, handler)() File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_call_service_step await service_task File "/usr/src/homeassistant/homeassistant/core.py", line 1744, in async_call task.result() File "/usr/src/homeassistant/homeassistant/core.py", line 1781, in _execute_service await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)( File "/usr/src/homeassistant/homeassistant/components/fully_kiosk/services.py", line 30, in async_load_url coordinator = hass.data[DOMAIN][list(device.config_entries)[0]] KeyError: '7d36e3662f41a5296ffd9077f443a054'`

bartbakels avatar Nov 13 '22 15:11 bartbakels

Additional comment, Restart of HAS does not resolve this, but a restart of my HAS VM In full did. However somehow its happening again after some time;

Home Assistant 2022.11.2 Supervisor 2022.10.2 Operating System 9.3 Frontend-versie: 20221108.0 - latest

Running as OVA on ESX host.

bartbakels avatar Nov 16 '22 11:11 bartbakels

I commented 2 weeks ago that it somehow got resolved on my HA instance but unfortunately the problem exists again... So it seems that some kind of sequence will solve the issue but only temporarily.

I tried numerous things, finding a way to resolve / workaround this. Restart everything, reinstall the integration, even looked at the code :) but this isnt my cup of tea... Hope someone can find the time resolve this!!

I`m currently on the latest release:

Home Assistant 2022.11.4 Supervisor 2022.11.2 Operating System 9.3 Frontend-versie: 20221108.0 - latest

Running on a Proxmox vm.

j-pas avatar Nov 27 '22 17:11 j-pas

Same here, HA 2022.11.5, running on HAOS. When I trigger the service from node-red, it says "Call-service error. Service not found." When I try from the HA developer tools page, I get "Failed to call service fully_kiosk.load_url. Unknown error"

I see this in my logs:

`ogger: homeassistant.components.websocket_api.http.connection Source: components/fully_kiosk/services.py:30 Integration: Home Assistant WebSocket API (documentation, issues) First occurred: 4:40:31 PM (4 occurrences) Last logged: 4:44:35 PM

[140178472913024] Error handling message: Unknown error (unknown_error) from 192.168.1.119 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36) Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response await func(hass, connection, msg) File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 646, in handle_execute_script await script_obj.async_run(msg.get("variables"), context=context) File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1524, in async_run await asyncio.shield(run.async_run()) File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 409, in async_run await self._async_step(log_exceptions=False) File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 453, in _async_step self._handle_exception( File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 476, in _handle_exception raise exception File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 451, in _async_step await getattr(self, handler)() File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_call_service_step await service_task File "/usr/src/homeassistant/homeassistant/core.py", line 1744, in async_call task.result() File "/usr/src/homeassistant/homeassistant/core.py", line 1781, in _execute_service await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)( File "/usr/src/homeassistant/homeassistant/components/fully_kiosk/services.py", line 30, in async_load_url coordinator = hass.data[DOMAIN][list(device.config_entries)[0]] KeyError: '2deab0ac33dee60fb450ab5adb0015e2'`

When I click the "button.lenovo_tab_m10_fhd_plus_load_start_url" which the integration also generates, it works fine, as does turning off backlight etc.

R5fan avatar Dec 01 '22 15:12 R5fan

Has anyone figured out a solution to this? I am having this problem and it doesn't seem to have been fixed in the latest version either :(

ukgaz1987 avatar Dec 09 '22 17:12 ukgaz1987

Yep. Still not working..

alsFC avatar Dec 09 '22 20:12 alsFC

Same error.
alle the other functions are working fine.

tane64 avatar Dec 09 '22 22:12 tane64

Same problem on my instance. It could be that it is maybe fixed with #83028 (at least the services.py get refactored). Maybe @r01k know if this could be fixed with #83028.

tonka3000 avatar Dec 11 '22 14:12 tonka3000

I don't have this problem, at least when testing from Developer Tools. However, my version of the integration has the changes being merged. They should not affect this issue though. Now I'm using only HTTPS, so I'll test over HTTP with the changes in the next days while onboarding a new tablet.

r01k avatar Dec 11 '22 18:12 r01k

@r01k Thanks for the response. I use http (for now) and I tried it via Fully Remote Admin website on port 2323 and there the load url works fine.

CleanShot 2022-12-11 at 19 59 08

tonka3000 avatar Dec 11 '22 18:12 tonka3000

Could be a coincidence but it seemed to start working from about version 2022.12.4 but I’ve just updated to 2022.12.6 and now getting the unknown error again when trying to call the load URL service.

ukgaz1987 avatar Dec 14 '22 22:12 ukgaz1987

Stops working with update 2022.12.7. Workaround: Remove the integration and reinstall it. Works for me

haempy avatar Dec 19 '22 17:12 haempy

@haempy I occasionally get it to work after an upgrade / reboot / random efforts but so far the workaround has always been temporary for me (+- 1 day). I wonder if your reinstall of the integration is a permanent fix or not! Can you let us know?

j-pas avatar Dec 19 '22 18:12 j-pas

@j-pas It always seems to work until the next update of Homeassistant...

haempy avatar Dec 22 '22 16:12 haempy

Occuring here again, and can be temporary resolved by rebooting my host. Any update or do you need more info then the previous logs?

bart

bartbakels avatar Jan 03 '23 22:01 bartbakels

coordinator = hass.data[DOMAIN][list(device.config_entries)[0]]
KeyError: '2deab0ac33dee60fb450ab5adb0015e2'`

This leads me to believe that there are multiple config entries tied to the device entry, and the reason it works sometimes is because the list(device.config_entries) isn't always the same order.

I haven't been able to reproduce the issue on my install, so it's likely an issue with a specific integration I'm not using personally 🙁

Next time someone gets this error, could you grab some info? Specifically take the device ID for the tablet and grab its information from .storage/core.device_registry It should look something like this:

{
        "aliases": [],
        "area_id": "bc14a06711ff4a918d7a2ef98d3d4f1f",
        "config_entries": [
          "c00696adfff44a1986bd54d931c63d9f"
        ],
        "configuration_url": "http://192.168.1.213:2323",
        "connections": [],
        "disabled_by": null,
        "entry_type": null,
        "hw_version": null,
        "id": "ac64791ab41d4a5fad29496244e50739",
        "identifiers": [
          [
            "fullykiosk",
            "redacted"
          ]
        ],
        "manufacturer": "amzn",
        "model": "KFDOWI",
        "name_by_user": "Master Bedroom Kiosk",
        "name": "Amazon Fire",
        "sw_version": "1.42.5",
        "via_device_id": null
      },

I'm guessing there will be 2 or more entries under the config_entries key, if you could then go into .storage/core.config_entries and share the domain that matches the entry_id for each of the items under config_entries in the device registry entry, that should help track the issue down.

cgarwood avatar Jan 04 '23 04:01 cgarwood

Thanks @cgarwood for the tip. I was having this issue as well and traced the ID I was getting in the KeyError back to the Unifi integration. Its ID was being added to the config_entries for a lot of my devices that I could see in the core.device_registry file.

I think the Unifi integration was also interfering with some other devices on my network by overriding them with its own presence detection states, so I was perfectly happy just to delete the Unifi integration entirely. All of my kiosk automations are now running perfectly and the Call Service tasks for Fully are no longer spitting out errors.

danclough avatar Jan 05 '23 19:01 danclough

I also indeed use unifi + that integration. Any way to mitigate this?

bartbakels avatar Jan 05 '23 19:01 bartbakels

I use the unifi and the integration for it. Any change to get this resolve without deleting the unifi integration?

btw: I deactivated the Unifi Network integration and Fully Kiosk Browser now works as expected.

tonka3000 avatar Jan 05 '23 19:01 tonka3000