2024.7: Time to resize your cards!

I hear you, but how often did that happen to you in the past (with HA)? And if so, how often wasn’t a fix available in at least a few weeks? :slight_smile:

Sure, custom_components are not maintained by the dev team, but if an integration is abandoned, in many cases the community steps in, and someone will take over. I can name at least three from the past months, where this happened.

3 Likes

I’ve had problems with releases in the past so i carefully watch the updates specifically the breaking changes piece.

This one did not indicate any issues with the Energy Dashboard or any integrations i use, so i thought it was safe to update.

I now have the same problem with my energy stats stopped recording and my energy dashboard going bonkers, i’m not super tech saavy in the arts of disecting HA to fix it.
It seems it tells me now the SQLLite DB is corrupted or something as well.

I tried backup restores and restored back to 6.4. and seems like HA now lost all units on all values so i guess it’s totally destroyed now.

I don’t know what to do, i put a lot of work into this, now it’s all gone and i am totally helpless. Already spent hours trying to fix it… I really would not want to lose all these months of work spend integrating things over the past 2 years.

It seems there was indication that there’s major problems in the thread. I’m not one to jump on updates so if someone surfaced that issue into the main patch to let us know i woudn’t have made the jump.

I think you should pull updates like these or at least highly warnings at the first glance of a potential issue.

At this point i don’t even know what to do, i have a HA Yellow and thinking maybe i should just unplugg it and shelf it as i cannot fathom spending so much time again rebuilding everything from scratch…this all is just making me depressed…

Even as of now there is no notification or indication or sign that this is going to ruin someone’s day if they update mentioned anywhere.

Can you provide examples of incidents where developers felt “threatened” by feedback?

1 Like

True if they are used by a considerable number of user. If not, it might not be easy and I have one custom component that I’m maintaining by myself because the the developer doesn’t have the hw device any longer, but so far my limited knowledge was enough to fix the issues that showed up with the HA evolution.

Yeah, we managed all the Windows updates too, when I was part of a team supporting 10,000 of them. We had lots of unique hardware and software which was business-critical. But the average consumer often just leaves everything “auto” and trusts the vendor. Just as corporate internal customers trust their IT department to manage updates for them.

I don’t know who’s a developer and who isn’t. I think I’ll leave it to the readers to identify which responses seem defensive or threatened. If I were to start naming names, I’d be (justifiably) accused of making ad hominem attacks. That’s not helpful, and it’s not my intent. I’d like to see each side avoid knee-jerk defensive reactions and listen to what the other said, even if they didn’t say it well enough.

2 Likes

Yet it didn’t stop you from making a blanket accusation about all developers.

Yet you have no qualms about making accusations without evidence.

I had asked for incidents, that led you to your conclusion, not names. Regardless, identifying an individual isn’t an “ad hominem” attack unless you make disparaging personal comments about them. If I say “CaptTom thinks developers are defensive” that’s not an attack, it simply identifies you as the source of the opinion.

I’m listening to what you said, asked for examples to explore the allegation, and your reply was evasive. What is your advice in this situation?

3 Likes

Probably too late now, but for the Harmony you can make template switches that work just like the old ones (except features like renaming/changing icons from UI, because they are in yaml). Beyond this extension of configuration.yaml no additional things need with automations/nodered.
I learned this in the blog post comments from when the deprecation was announced.

In configuration.yaml add the following.
If you already have a switch section extend the existing one, duplicate sections do not work. Same for platform: template and its switches section.

The examples below will result in switches with entity ids switch.woonkamer_dvd_beamer and switch.woonkamer_radio

Replace entity_ids and activity names with your own.

switch:
  - platform: template
    switches:
      woonkamer_dvd_beamer:
          friendly_name: DVD Beamer
          value_template: "{{ is_state_attr('remote.logitech_harmony', 'current_activity', 'DVD Beamer') }}"
          turn_on:
          - service: remote.turn_on
            target:
              entity_id: remote.logitech_harmony
            data:
              activity: DVD Beamer
          turn_off:
          - service: remote.turn_off
            target:
              entity_id: remote.logitech_harmony
      woonkamer_radio:
          friendly_name: Radio
          value_template: "{{ is_state_attr('remote.logitech_harmony', 'current_activity', 'Radio') }}"
          turn_on:
          - service: remote.turn_on
            target:
              entity_id: remote.logitech_harmony
            data:
              activity: Radio
          turn_off:
          - service: remote.turn_off
            target:
              entity_id: remote.logitech_harmony

...more activities following same format...

Without having used this (since yeah, too late for me :-D) the only thing I can see that might not work as expected is the off.

Ideal world, if you’re using ‘Radio’ then ‘DVD Beamer’ would be off, but to switch to ‘DVD Beamer’ you’d just turn on the switch ‘DVD Beamer’, which should turn off the switch for ‘Radio’ … unfortunately, the act of making that transition would either result in multiple switches being on or the entire setup turning off when you switch to ‘DVD Beamer’ because the ‘Radio’ switch got turned off when you switched to ‘DVD Beamer’ [because you have a turn off activity for each of these switches, I’d expect that this is what happens]

Hopefully that made sense! This is why it was such a mess to get working, you wanted the switches to control the activities, and to properly reflect the current state, but not to cause everything to go haywire when you switched between them and/or turned off the switches to properly reflect its actual state AND you wanted to be able to turn off the switch for the current activity that’s active and have it actually work but not break things when you switched activities!

That’s not how template switches work. The state is only based on the template. So when one switch turns on, the other switches state will naturally show off because the template executes again. Keep in mind, when the template updates, it will not run the turn on or turn off actions. Those are only called when you interact with the switch in the ui or use a service.

If you follow this post, it will auto create all the switches for harmony and they will behave the exact same way as the removed switches.

Oh! Interesting! I didn’t realize that, I guess it makes sense, but I’ve only ever used template sensors, so didn’t realize that when the template switches change state naturally as part of the state change they don’t actually trigger their actions unless you directly toggle the templated switch … that’s definitely good to know!

Thank You for the clarification and thank you to Michel for providing the alternate solution!

You’re welcome to use Michels suggestion, but if you don’t want to spend time copying/pasting the same config multiple times and altering it, follow the directions I linked above. It will auto create the switches you had with the exact same names as before (if you kept the default names). Then you won’t have to alter anything in your automations.

1 Like

My point was 2 fold:

  1. It’s a bit different when having Windows communicate with hardware devices, which is no different than HA communicating with other devices. It’s always risky keeping auto-updates on when either side (server or client) can change the API on a whim.
  2. Windows (or any OS like Mac, Linux) are a poor choice to make a comparison to because they all have bugs and deprecate things quite frequently. It’s only “invisible” to consumers and home users because they typically aren’t interfacing with separate hardwares.
4 Likes

I’d probably go with yours (reading through that thread you posted now), but that’s a project for another time now that I do have everything working with input_booleans and some Node-Red, but yours would definitely be what I’d switch to the next time I change devices or add new activities rather than modifying my kludge solution, I’d just plan to spend the time to re-vamp the whole thing (or hopefully by then, I won’t be using Google Homes and will instead be using whatever solution Nabu Casa/Home Assistant winds up coming out with for voice instead and I might not need the switches as the in betweens (time will tell on that one … but I can also play with it without buying/building anything just with the text, so I can see how that goes)

I’m not saying to go with one solution or the other, the post highlights the easiest way to get your switches back without “a lot of configuring”. The template switches in that post are identical to Michels. The difference is that you don’t have to do a ton of manual file manipulation.

1 Like

Absolutely, I understand what you’re saying. Thanks again!

@x3style Please double check you have enough free disk space (Purge get stuck deleting events and causes recorder to stop writing to the DB until HA is restarted after previous rebuild failed due to out of disk space · Issue #121909 · home-assistant/core · GitHub), than roll back to 6.4, add the below to configuration.yaml, update again, and open a GitHub issue report with logs from during the update if it doesn’t go well:

# example configuration.yaml entry
logger:
  default: info
  logs:
    sqlalchemy: debug
2 Likes

I restored back to 7.2 lost a few days of data and mostly seems ok until the next day when for some reason the dashboard has sudden negative values, correct ones but negative on things that should not be negative, i checked the variables that make those values up and none of them were negative but the dashboard for some weird reason decided to show them negative anyway.
Normal values.


After one day.

This is why i started restoring stuff to begin with.
And i noticed what i though where the HA created values where the prices are stored show unavailable for some reason and have no history or values in them.
image
image

Restarting HA does not seem to do anything.

Typical open source software does not have the problems, Home Assistant has.

I’ve had my issues with updates in the past and it wasn’t as much of a concern when I had more time and mental energy to put into it. I also find the frequent deprecations/etc to be annoying BUT… can you come up with an alternative development model that works?

The closest open source project I am familiar with is OpenWRT – thousands of router types, many hardware platforms and hundreds of packages. You can build from source, install builds built continually from master or, built from a stable tag that happens several times a year. Note that in this case if you have a newer device that gets added, you may need to wait 6 months to more than a year before it’s supported in a stable branch or… convert to the “bleeding edge” continual builds.

Periodically there are big configuration changes required when moving from one stable version to a newer stable version, which is a year or two between. There are security updates for the stable branches as required.

The most reasonable change I see for HA would be to move to a model like this but it of course has some downsides:

  • the developers now have to maintain code for “stable” releases as well as the main branch, including user pressure to cherry-pick fixes/features from main back to stable
  • the breaking changes you see which happen monthly will be accumulated and when you decide to upgrade after a year or two it may be daunting for some
  • new devices appear constantly, existing ones are updated and if any of these require changes to the main branch you either have to wait for a new stable release or … convert to the main development branch anyway

With the nature of the environment a case can be made that the existing model is a pretty good compromise, no matter how annoying it can be at times.

I can see potentially adding wording to the install FAQ regarding critical installtions, where having a “test” platform running beta builds prior to upgrading your main platform may be recommended.

5 Likes

If you add a unique_id to your configuration you can even change the name, entity_id and icon in the GUI

2 Likes

Does anyone use Rainbird integration? After upgrading HA to 2024.7.2, the sprinklers cannot be enabled, even though the integration itself seems to be loaded correctly.
The same integration has been working fine on 2024.6