Lovelace yaml mode in 0.84

I upgraded to 0.84, and everything went sideways on me. Aside from needing to update my config to use the new spec to indicate I’ve got a yaml already configured, none of my glance cards are working. I’ve had to revert to 0.83 until I can figure this out.

Where can I get a list of the breaking changes? Aside from combing through the release notes (yes, I do read those, but not every pull request). How can I know ahead of time that hitting that update button isn’t going to take my whole system offline?

This is not the first time I’ve been caught off guard by breaking changes (mqtt_json disappeared in this release as well, btw). How do other folks stay up to date without driving themselves crazy trying to fix things at midnight when none of the lights will turn off?

Upgrade at lunchtime :stuck_out_tongue_closed_eyes:

2 Likes

same thing happened to me…reverted back to 83…

how do we fix this??

Read the release notes and make any required changes. What else do you expect anyone would do?

2 Likes

Lovelace was in beta, in the release note all the required information was written. What more do you expect?

At the top of the release notes is a section called Breaking Changes. Additionally, Lovelace has its own release notes, with its own set of Breaking Changes.

When you say “none of your glance cards are working” I assume you are referring to tap-actions, which is one of the breaking changes.

old way:

tap-action: toggle

new way:

tap-action:
  action: toggle
2 Likes

Thanks so much! This is exactly what I missed.

Thanks HA_Steve for being nice enough to post.

Yes, I get the fact that the solution is most likely written somewhere in the release notes, but sometimes its not that easily found without having to read through the whole documentation. Also, this particular documentation posted links to other documents which posted links to the solution, which made it a somewhat frustrating easter egg hunt to get to the solution. So its kinda nice to be able to come here and ask if some knows how to fix the problem and get a quick answer sometimes. It also helps others who may be new to HA and are not quite sure where to find the answers. I thought that that was whole purpose of having a forum.

Telling people to go look it up is not helpful. If that’s all you can contribute to the thread, then maybe its best not to comment at all…just my opinion.

7 Likes

Eh, you know what… beta is beta. Having to include a “breaking changes” section in your release notes is, I’m sorry, not a cool thing. As a developer of nearly 35 years, things can exist in beta for years, with new features added - or in HA’s case - standardized, but you shouldn’t disable the existing behavior.

For example:

Sure, the new way is more consistent with the rest of the system, but was it really necessary to delete the old behavior? I’m working on a picture-entity remote control card, and now, instead of working on the AppDaemon logic, I’ve got to go through and replace 30 tap-taction entries. Yes, I know about search-and-replace, but that’s not the point.

My point isn’t that I “want my money back” from the HA volunteer developers; I’m just asking for a little more respect for the users. It can be done to add the “new & proper” syntax without just breaking the existing syntax and aggravating your users.

If your Linux distro pushed an upgrade and broke a handful of the applications you use on a regular basis, you’d be annoyed. Schedule these breaking changes to be phased out in Version XX.y instead. Give us a chance. Most beta updates add features, not break existing ones.

Sorry, I just had to vent.

Peace.

1 Like

Just have to throw in my opinion as well.

My glance cards issue was compounded by two breaking changes: lovelace tap-action, and the change to mqtt light.

The release notes are less than helpful regarding the second point there, stating:

There is little guidance provided to any users who were previously using mqtt_json lights (which almost all of my lights happen to be, as I’m a prolific DIYer). Yes, I did read through the documentation, and discovered that I’ll need to specify a schema property for each light to set each to JSON.

I’m also a subscriber to the HassIO podcast, and listened to it in depth before applying any updates.

It would be a great addition to provide users with a ‘migration guide’ for any breaking changes they might encounter. I’ll work on putting one together for this release and share it in this thread (once I’ve managed to successfully upgrade to 0.84, which may not be until after the holidays).

2 Likes

I agree. I’ve thought the same thing since v.6x,xx broke all my YAML entries for Broadlink, and finding out that the developers had made a change to the syntax after hours of scouring the internet for a fix.

Now, with that said, do understand that interest of progress or making the YAML more easier to organize, or whatever the reason they decide to make these breaking changes, I do think that sometimes its necessary to make these changes. For example, for the change to Lovelace, we all may be up in arms over the seemingly “unnecessary” change they made to the way we need to code the tap_action, but perhaps in later version, there will be better functionality provided because of this.

But of course, if this all turned out to be something that was done “just because”, well then I think they should really reconsider their change process.

Just been caught by this one, agree the documentation could be better particularly given how simple the fix is once you realise.

If the document are wrong u can update them also u should read the breaking changes first before updating most changes that made is so that everything line up correctly Eg adding the action to the tap-action make cents cause in automation u have action so it make cent to have it there also

I use broadlink with Yaml entries. Can you explain what you needed to change? I’d like to save myself the scouring and learn from you before I do the upgrade.

Hi All,

I’ve been using the standard UI for a while, and I’m just coming back to editing my Lovelace configuration after upgrading to 0.84.

I went over the breaking changes, and I think the 2 changes that will affect me the most are the tap action changes and the id to path change.

I haven’t restarted my HA instance yet because I’m a bit concerned about torpedoing my config.

Here’s a sample of my old Lovelace layout:

# This file was automatically generated by lovelace_migrate.py
# https://github.com/dale3h/python-lovelace
resources:
  - url: /local/alarm_control_panel-card.js
    type: js
  - url: /local/custom_ui/ecobee-card.js
    type: js
  - url: /local/button-card.js
    type: module
  - url: /local/custom_ui/dark-sky-weather-card.js
    type: js
  - url: /local/kiosk.js
    type: js

title: Home
views:
  - id: 0  # Automatically created id
    title: Hawk's Nest Status
    icon: mdi:home-assistant
    badges:
      - device_tracker.adam_pixel2
      - device_tracker.ruth_pixelxl
      - sensor.ha_mode
    cards:
      - id: c063d63e1e1442439524d014b9c62ec0  # Automatically created id
        type: vertical-stack
        title: Security
        show_header_toggle: true
        cards:
          - type: custom:alarm_control_panel-card
            entity: alarm_control_panel.home_alarm
            show_keypad: true
            title: Home Alarm
            style: '--alarm-color-disarmed: var(--label-badge-green);'
            states:
              - arm_home
              - arm_away
          - type: horizontal-stack
            title: Mode
            show_header_toggle: true
            cards:
              - type: entity-button
                entity: input_boolean.ha_mode_home
                name: Home
                tap_action: toggle
              - type: entity-button
                entity: input_boolean.ha_mode_away
                name: Away
                tap_action: toggle
              - type: entity-button
                entity: input_boolean.ha_mode_night
                name: Night
                tap_action: toggle
          - type: entities
            entities:
              - binary_sensor.front_door
              - binary_sensor.deck_door
              - binary_sensor.garage_entry
          - type: picture-entity
            title: Front Door
            entity: camera.front_door
            camera_image: camera.front_door
            show_info: true
            tap_action: dialog
      - id: 9bb66858935447e6a8eaacd2f8c5ca18  # Automatically created id
        type: vertical-stack
        title: Climate
        show_header_toggle: true
        cards:
          - type: thermostat
            entity: climate.home
          - type: weather-forecast
            entity: weather.dark_sky

  - id: 1  # Automatically created id
    title: Server Health
    icon: mdi:raspberrypi
    cards:
      - id: 08ad620c15aa4d30bfc319748143bc65  # Automatically created id
        type: entities
        show_header_toggle: true
        entities:
          - sensor.cpu_temperature
          - sensor.since_last_boot
          - sensor.ssl_certificate_expiry
          - sensor.processor_use
          - sensor.disk_use_percent_home
          - sensor.disk_free_home
          - sensor.memory_free

And here’s the same section updated:

# This file was automatically generated by lovelace_migrate.py
# https://github.com/dale3h/python-lovelace
resources:
  - url: /local/alarm_control_panel-card.js
    type: js
  - url: /local/custom_ui/ecobee-card.js
    type: js
  - url: /local/button-card.js
    type: module
  - url: /local/custom_ui/dark-sky-weather-card.js
    type: js
  - url: /local/kiosk.js
    type: js

title: Home
views:
  - path: home  # Automatically created id
    title: Hawk's Nest Status
    icon: mdi:home-assistant
    badges:
      - device_tracker.adam_pixel2
      - device_tracker.ruth_pixelxl
      - sensor.ha_mode
    cards:
      - id: c063d63e1e1442439524d014b9c62ec0  # Automatically created id
        type: vertical-stack
        title: Security
        show_header_toggle: true
        cards:
          - type: custom:alarm_control_panel-card
            entity: alarm_control_panel.home_alarm
            show_keypad: true
            title: Home Alarm
            style: '--alarm-color-disarmed: var(--label-badge-green);'
            states:
              - arm_home
              - arm_away
          - type: horizontal-stack
            title: Mode
            show_header_toggle: true
            cards:
              - type: entity-button
                entity: input_boolean.ha_mode_home
                name: Home
                tap-action:
                  action: toggle
              - type: entity-button
                entity: input_boolean.ha_mode_away
                name: Away
                tap-action:
                  action: toggle
              - type: entity-button
                entity: input_boolean.ha_mode_night
                name: Night
                tap-action:
                  action: toggle
          - type: entities
            entities:
              - binary_sensor.front_door
              - binary_sensor.deck_door
              - binary_sensor.garage_entry
          - type: picture-entity
            title: Front Door
            entity: camera.front_door
            camera_image: camera.front_door
            show_info: true
            tap_action: dialog
      - id: 9bb66858935447e6a8eaacd2f8c5ca18  # Automatically created id
        type: vertical-stack
        title: Climate
        show_header_toggle: true
        cards:
          - type: thermostat
            entity: climate.home
          - type: weather-forecast
            entity: weather.dark_sky

  - path: server  # Automatically created id
    title: Server Health
    icon: mdi:raspberrypi
    cards:
      - id: 08ad620c15aa4d30bfc319748143bc65  # Automatically created id
        type: entities
        show_header_toggle: true
        entities:
          - sensor.cpu_temperature
          - sensor.since_last_boot
          - sensor.ssl_certificate_expiry
          - sensor.processor_use
          - sensor.disk_use_percent_home
          - sensor.disk_free_home
          - sensor.memory_free

Can anyone tell me, specifically with reference to the path configurations whether those will work correctly?

The good thing about lovelace is that unless you are modifying your resources, you don’t need to restart HA after every change. Just click refresh either in the top right of the screen or in the info section. If you get errors you can just modify and refresh till its working.

Totally agree with you mate, I just don’t get people who reply with harsh words… Just don’t reply at all!
Make the world better and help people out, be a good person, treat people with respect as what goes around always comes around