[Solved] HADashboard stopped working after 0.63.1 upgrade

Hi

This night my HA instance upgraded to 0.63.1. Not sure if this is linked but starting this morning, my HADashboard stopped working.
I mean the panel are displayed fine but the switches are not working anymore.
As soon as I click on one of them, the icon changes as expected but nothing happens.
The corresponding switch in HomeAssistant is not impacted.
If I use the switch directly in HomeAssistant, it works but it is not reflected in HADashboard.

Here is what I get from appdaemon.log:

2018-02-13 20:26:46.178110 INFO AppDaemon Version 2.1.12 starting
2018-02-13 20:26:46.179287 INFO Configuration read from: /home/homeassistant/conf/appdaemon.yaml
2018-02-13 20:26:46.474992 INFO Starting Apps
2018-02-13 20:26:46.740796 INFO Got initial state
2018-02-13 20:26:46.742541 INFO App initialization complete
2018-02-13 20:26:46.743835 INFO Starting dashboard
2018-02-13 20:26:46.828641 INFO API is disabled
2018-02-13 20:26:46.851444 INFO Connected to Home Assistant 0.63.1
2018-02-13 20:26:48.941509 INFO New dashboard connected: Main panel
2018-02-13 20:27:12.941986 INFO New dashboard connected: Main panel
2018-02-13 20:27:13.485210 INFO New dashboard connected: Main panel
2018-02-13 20:28:05.020526 INFO Keyboard interrupt
2018-02-13 20:28:05.032243 INFO Disconnecting from Home Assistant
2018-02-13 20:28:06.006753 INFO AppDeamon Exited

Here is what I get on STDERR when I click any switch:

/usr/local/lib/python3.5/dist-packages/appdaemon/rundash.py:181: RuntimeWarning: coroutine 'BaseRequest.post' was never awaited
      data = yield from request.post()
    Error handling request
        Traceback (most recent call last):
          File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_protocol.py", line 376, in start
            resp = await self._request_handler(request)
          File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_app.py", line 310, in _handle
            resp = await handler(request)
          File "/usr/lib/python3.5/asyncio/coroutines.py", line 213, in coro
            res = yield from res
          File "/usr/local/lib/python3.5/dist-packages/appdaemon/rundash.py", line 181, in call_service
            data = yield from request.post()
        TypeError: cannot 'yield from' a coroutine object in a non-coroutine generator

Both HA and HADashboard are running on the same PI3 with a Raspbian Stretch.
I issued a apt upgrade, rebooted but no changes.
That’s really weird because I did not touch my config since yesterday and I’m stuck here.
Maybe something obvious but I searched too long and need some advices.
Thanx guys.

1 Like

I’m running the 3.0 beta code and there have been some changes in that area, but I just upgraded to 0.63.1 to test and all is working fine, I’m not aware of anything that has changed in HASS, especially not over a point release, so I would hazard a guess that the upgrade is a red herring.

1 Like

You probably right but I don’t know where to go now. I also carrefully read HA 0.63.1 changelog and found nothing.
I just double checked my HAD config files and the last update has been done 2 days ago and it worked fine. I really can’t figure out what changed in my configs. Anyway, still investigating.

Edit:
I upgraded appdaemon to version 3.0.0b3, recreated the appdaemon.yaml config file and this solved my problem. :grinning:

1 Like

I’m seeing the same thing after installing apdaemon/hadashboard on an rPi/stretch/0.63.1. The widget seem to show the change but the action never takes place.

You can start HAD by:

appdaemon -c /path_to_your_appdaemon.yaml

and see what’s happening.
If you enconter the same issue I did and your appdaemon version is 2.1.12 then you likely are in the same state I was.

Thanks for the reply. I think I’ve done that command before but when I do it now, I get:

pi@hassbian:/home/homeassistant/.homeassistant/conf $ appdaemon -c /home/homeassistant/.homeassistant/conf/appdaemon.yaml
Traceback (most recent call last):
  File "/usr/local/bin/appdaemon", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/admain.py", line 198, in main
    config.read_file(open(config_file_conf))
TypeError: invalid file: None
pi@hassbian:/home/homeassistant/.homeassistant/conf $ sudo appdaemon -c /home/homeassistant/.homeassistant/conf/appdaemon.yaml
Traceback (most recent call last):
  File "/usr/local/bin/appdaemon", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/admain.py", line 198, in main
    config.read_file(open(config_file_conf))
TypeError: invalid file: None

What am I doing wrong?

As of version 2, you don;t give it the full path to the appdaemon.yaml file,. just the path to the directory it is in, so:

pi@hassbian:/home/homeassistant/.homeassistant/conf $ appdaemon -c /home/homeassistant/.homeassistant/conf

OK, I got past that issue. Here is the output:

sudo appdaemon -c /home/homeassistant/conf/
2018-02-14 15:23:24.985240 INFO AppDaemon Version 2.1.12 starting
2018-02-14 15:23:24.986238 INFO Configuration read from: /home/homeassistant/conf/appdaemon.yaml
2018-02-14 15:23:25.137383 INFO Starting Apps
2018-02-14 15:23:25.227844 INFO Got initial state
2018-02-14 15:23:25.229255 INFO App initialization complete
2018-02-14 15:23:25.230342 INFO Starting dashboard
2018-02-14 15:23:25.335561 INFO API is disabled
2018-02-14 15:23:25.348027 INFO Connected to Home Assistant 0.63.2

So, I do have 2.1.12. You used past tense when you mentioned that I’m in the “same state that I was”. Does that mean you have found a solution?

If I monitor the daemon output while I click a light button, I get the following error:

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_protocol.py", line 376, in start
    resp = await self._request_handler(request)
  File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_app.py", line 310, in _handle
    resp = await handler(request)
  File "/usr/lib/python3.5/asyncio/coroutines.py", line 213, in coro
    res = yield from res
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/rundash.py", line 181, in call_service
    data = yield from request.post()
TypeError: cannot 'yield from' a coroutine object in a non-coroutine generator

Is this well known at this point?

We’re trying to find out if you are seeing the same issue - we were hoping for an error trace on the screen but you don;t seem to be getting one.

The OP reported that the problem went away when he upgraded to 3.0 beta. IF you do that though there are some changes to the config you will have to work through:

EDIT: OK, I see you posted the error and it’s the same.

Yes you are in the same state I was. And yes, I solved this issue by upgrading HAD to 3.0.0b3.
I followed the documentation here:
https://appdaemon.readthedocs.io/en/latest/INSTALL.html

Except for the the section “Install Using pip3” at the begining of the doc, I did:
sudo pip3 install --pre appdaemon --upgrade
instead of:
sudo pip3 install --pre appdaemon

Then you can follow the rest of the tutorial and change the appdaemon.yaml file according to your needs.

Hi all. I updated the AppDaemon2 hassio plugin to 1.1.0 and I am getting the same error as the OP:

Error handling request
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/aiohttp/web_protocol.py", line 381, in start
    resp = await self._request_handler(request)
  File "/usr/lib/python3.6/site-packages/aiohttp/web_app.py", line 310, in _handle
    resp = await handler(request)
  File "/usr/lib/python3.6/asyncio/coroutines.py", line 213, in coro
    res = yield from res
  File "/usr/lib/python3.6/site-packages/appdaemon/rundash.py", line 181, in call_service
    data = yield from request.post()
TypeError: cannot 'yield from' a coroutine object in a non-coroutine generator

The dashboard updates its state only when refreshed, not in real time. Commands doesn’t work.
I’m using Hassio 0.64.3 on RPi, everything worked fine until update.

This are the startup messages:

 Python Apps and HADashboard using AppDaemon 2.x for Home Assistant
 From: Community Hass.io Add-ons
 By: Franck Nijhof <[email protected]>
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing... 
Log level is set to INFO
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] 02-updates.sh: executing... 
INFO: You are running the latest version of this add-on
[cont-init.d] 02-updates.sh: exited 0.
[cont-init.d] 03-version-requirements.sh: executing... 
INFO: Supervisor version requirements checks passed.
[cont-init.d] 03-version-requirements.sh: exited 0.
[cont-init.d] 20-init-configuration.sh: executing... 
[cont-init.d] 20-init-configuration.sh: exited 0.
[cont-init.d] 21-compiled-dir.sh: executing... 
[cont-init.d] 21-compiled-dir.sh: exited 0.
[cont-init.d] 30-auto-password.sh: executing... 
[cont-init.d] 30-auto-password.sh: exited 0.
[cont-init.d] 31-ha-url.sh: executing... 
[cont-init.d] 31-ha-url.sh: exited 0.
[cont-init.d] 50-compiled-symlink.sh: executing... 
[cont-init.d] 50-compiled-symlink.sh: exited 0.
[cont-init.d] 80-system-packages.sh: executing... 
[cont-init.d] 80-system-packages.sh: exited 0.
[cont-init.d] 81-python-packages.sh: executing... 
[cont-init.d] 81-python-packages.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
starting version 3.2.4
[services.d] done.
2018-03-03 20:33:51.534834 INFO AppDaemon Version 2.1.12 starting
2018-03-03 20:33:51.535472 INFO Configuration read from: /config/appdaemon/appdaemon.yaml
2018-03-03 20:33:51.795415 INFO Starting Apps
2018-03-03 20:33:52.041389 INFO Got initial state
2018-03-03 20:33:52.043845 INFO Loading Module: /config/appdaemon/apps/hello.py
2018-03-03 20:33:52.046809 INFO Loading Object hello_world using class HelloWorld from module hello
2018-03-03 20:33:52.378474 INFO hello_world: Hello from AppDaemon
2018-03-03 20:33:52.383267 INFO hello_world: You are now ready to run Apps!
2018-03-03 20:33:52.383790 INFO App initialization complete
2018-03-03 20:33:52.384852 INFO Starting dashboard
2018-03-03 20:33:52.399717 INFO API is disabled
2018-03-03 20:33:52.414764 INFO Connected to Home Assistant 0.64.3
2018-03-03 20:33:56.219884 INFO New dashboard connected: Main Panel

You seem to have an appdaemon version 2.x. I solved my issue by upgrading it to 3.x. Maybe you should give it a chance. Let us know.

I was waiting for a stable version, to avoid problems with the beta… and I got problems with the stable version :roll_eyes:

I understand, that’s sad :wink: but as far as I know, I didn’t hit any particular issue with the beta.

Updated to AppDaemon 2, changed configuration, cleared browser cache and now it is working again.

Nope… working on computer but I’m still getting the “Error getting state, check Java Console for details.” on the iPad. It works in Safari, but when I save it to home screen to get rid of address bar, I only get this popup.

I read that it should be because of caching, but I found no way to delete cache or reload. Already tried:

  • deleting Safari cache from System settings
  • cold restarting pressing power and home button
  • setting system clock to 2 years in the future and 2 years in the past

Having no access to the web server pages, I can’t try to add caching options in header, or change the JS file path to force a reload.

What version of iOS?

iOS 9.3.5, latest available for my iPad 2. Until latest update of the AppDaemon 2 plugin it was working without a glitch.

Did you mean AD 3?