Community Hass.io Add-on: Lovelace Migration

@Dominic @ino @Wals @molano @fradducho

Could you guys please tell me which version of Home Assistant you are running? I have tested what I thought to be the issue (new auth) in various scenarios on 0.75.3, but everything seems to be working in all of my tests.

hi,

before clicking the Lovelace migration, please let me ask if this makes Lovelace show up as default interface, or merely creates the file ui-lovelace.yaml, and lets the user decide which interface to use, regular Hassio or Lovelace per link (as i have set it now…)

Don’t want to lose the current woking Hassio setup before Lovelace has settled down some more, but dont want to miss out on the goodies either…

This does not set the default UI to Lovelace. It simply only generates a ui-lovelace.yaml file based on your current UI.

By default, the add-on creates a backup of ui-lovelace.yaml if it already exists. Backups are copied to the /backup/lovelace-migration folder.

The add-on is currently not up-to-date with the latest goodies that Lovelace provides, but I am hoping to make some time to work on it this week.

I’m using the latest and greatest 0.75.3.
Supervisor version 125
HassOS 1.9

I have tried everything I can think of on this specific test machine, and I still cannot get the add-on to fail. My test environment is:

OS: Resin OS 2.3.0+rev1
Supervisor: 125
Channel: beta
HA Version: 0.75.2 and 0.75.3

The only other thing I can think of is updating this machine to HassOS instead of ResinOS, but that really shouldn’t be the issue.

If I recall correctly, I think it hass to do with the hostname. You hardcode the hostname to hassio, while that is not a configured hostname in my environment. That’s why I mentioned the “-p” option in the workaround.

Possible that that’s where the issue lies?

I will try to test your addon again later tonight and give feedback.

As far as I know, the hassio hostname is mapped internally on the add-on, and does not rely on the actual hostname of the machine. This is to allow add-ons to communicate with the Home Assistant (and Hass.io) API.

OK, possible. I am not into addon coding, so I don’t know how it all works internally…

Here is more information about this feature (if you’re interested at all): https://developers.home-assistant.io/docs/en/hassio_addon_communication.html#home-assistant

Heads up: Your Add-on is working fine now. You must have upgraded it in the last couple of weeks and the error I got before is probably due to the authentication as you said.

And I did not change my groups.yaml in between. Who needs groups if you have lovelace? :wink:

Thanks!

great. thanks for your swift reply, looking forward to testing it.
Does it also take packages and Tiles/Custom-ui into account?

Magic, will wait for that than, don’t want to miss out on all the goodies :wink:
cheers!

I’m using Resin OS 2.3.0 + rev1
and the hassio version 0.75.3.

And I get the error that I described above.

I have performed the following tests.

created the file ui-lovelace.yaml and what the addons does is save that copy. in backup but does nothing and throws me the error that I had already commented.

:tada: Release v0.2.0

Full Changelog

Changed

  • Upgrades base image to v2.1.1
  • Updates README and links

Questions? Join our Discord server! https://discord.me/hassioaddons

@Dominic @ino @Wals @fradducho

For anyone that is still having issues with the plugin, can you please update to the latest version v0.2.0 and try again? If it fails, please post a fresh output of the log so that I am able to see the error and other necessary information.

Note: A fresh output of the log is needed because it should now contain information about your system: arch, OS, HA version, supervisor version, and update channel.

You’re most welcome! I look forward to you testing it as well. :slight_smile:

To my knowledge, this does not take into account Tiles/Custom-UI, but it does add entities that are from packages.

I am hoping to be able to fix/address the recursion error in the next version.

Hi @dale3h

this is my Log. We update to 2.0

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] 10-run: applying... 
[fix-attrs.d] 10-run: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing... 
-----------------------------------------------------------
 Hass.io Add-on: Lovelace Migration v0.2.0
 Automatically convert your existing UI to the new Lovelace UI
 From: Community Hass.io Add-ons
 By: Franck Nijhof <[email protected]>
-----------------------------------------------------------
 armhf / Resin OS 2.3.0+rev1 / HA 0.75.3 / SU 125 / stable
-----------------------------------------------------------
[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] 10-auto-backup.sh: executing... 
[cont-init.d] 10-auto-backup.sh: exited 0.
[cont-init.d] 11-cleanup-old.sh: executing... 
[cont-init.d] 11-cleanup-old.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
INFO: Output file is set to: /config/ui-lovelace.yaml
Traceback (most recent call last):
  File "/root/lovelace_migrate.py", line 844, in <module>
    sys.exit(main())
  File "/root/lovelace_migrate.py", line 779, in main
    states_json = hass.get_states()
  File "/root/lovelace_migrate.py", line 711, in get_states
    request = self.get('/states', **kwargs)
  File "/root/lovelace_migrate.py", line 699, in get
    request.raise_for_status()
  File "/usr/lib/python3.6/site-packages/requests/models.py", line 939, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: http://hassio/homeassistant/api/states
[cmd] /usr/bin/run.sh exited 1
[cont-finish.d] executing container finish scripts...
[cont-finish.d] 99-message.sh: executing... 
-----------------------------------------------------------
s6-maximumtime: warning: unable to wait for child process: Operation timed out
 v0.2.0 / armhf / Resin OS 2.3.0+rev1 / HA 0.75.3[cont-finish.d] 99-message.sh: exited 99.
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.

@fradducho Can you please check to see if you have ip_ban_enabled set to true in your configuration.yaml? (Docs reference: https://www.home-assistant.io/components/http/#ip_ban_enabled)

If it is enabled, can you check the contents of /config/ip_bans.yaml to see if there are any entries in there that might be related to the internal IP of the add-on container? It might look something like 172.30.x.x.

Yes @dale3h

I have disabled the ip_enable option to re-launch the add-on and now it gives me a different error.

I have a question. Should I disable ip_enable to run the add-on and then re-activate it?
or could I do something extra to quit?

172.30.32.2:
banned_at: ‘2018-08-06T23:02:33’

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] 10-run: applying... 
[fix-attrs.d] 10-run: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing... 
-----------------------------------------------------------
 Hass.io Add-on: Lovelace Migration v0.2.0
 Automatically convert your existing UI to the new Lovelace UI
 From: Community Hass.io Add-ons
 By: Franck Nijhof <[email protected]>
-----------------------------------------------------------
 armhf / Resin OS 2.3.0+rev1 / HA 0.75.3 / SU 125 / stable
-----------------------------------------------------------
[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] 10-auto-backup.sh: executing... 
[cont-init.d] 10-auto-backup.sh: exited 0.
[cont-init.d] 11-cleanup-old.sh: executing... 
[cont-init.d] 11-cleanup-old.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
INFO: Output file is set to: /config/ui-lovelace.yaml
Traceback (most recent call last):
  File "/root/lovelace_migrate.py", line 844, in <module>
    sys.exit(main())
  File "/root/lovelace_migrate.py", line 779, in main
    states_json = hass.get_states()
  File "/root/lovelace_migrate.py", line 711, in get_states
    request = self.get('/states', **kwargs)
  File "/root/lovelace_migrate.py", line 699, in get
    request.raise_for_status()
  File "/usr/lib/python3.6/site-packages/requests/models.py", line 939, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: http://hassio/homeassistant/api/states
[cmd] /usr/bin/run.sh exited 1
[cont-finish.d] executing container finish scripts...
[cont-finish.d] 99-message.sh: executing... 
-----------------------------------------------------------
s6-maximumtime: warning: unable to wait for child process: Operation timed out
 v0.2.0 / armhf / Resin OS 2.3.0+rev1 / HA 0.75.3[cont-finish.d] 99-message.sh: exited 99.
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.

:tada: Release v0.2.1

Full Changelog

Changed

  • Upgrades base image to v2.1.2

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

2 Likes