0.112: Making things faster; Logbook & History

Just good luck I suppose :slight_smile:

After updating from 0.111.4 last night, my Lovelace tabs have all gone:


Restoring from backup to 0.111.4 brought them back. Is there anything I could do to get them back in 0.112 or am I stuck with 0.111 now?

Hmm. Why am I credited with that.

…its the release notes in HA, section “Other Noteworthy Changes”
0.112: Making things faster; Logbook & History - Home Assistant.

I… uh… hope you did some python coding around that time? :slight_smile:

Yup, but not in relation to mqtt :slight_smile:

Using custom header ?

Yes, I am.

That is the problem. Upgrade custom header before upgrading to 0.112.x

1 Like

Thanks, I’ve done it, so far so good. Keeping an eye on it.

Hi all.

I have a problem with Node Red and RFXCom and I’m not sure if its related to the 0.112 update.

I updated to 0.112 a few weeks ago and everything was running fine until I restarted my Intel NUC and now none of my flows run and the log for Node-Red shows:

19 Jul 22:35:24 - [warn] ------------------------------------------------------

19 Jul 22:35:24 - [warn] [node-red-contrib-rfxcom/rfxcom] Error: Cannot find module ‘@serialport/bindings’

Require stack:

  • /opt/node_modules/serialport/lib/index.js
  • /opt/node_modules/rfxcom/lib/rfxcom.js
  • /opt/node_modules/rfxcom/lib/index.js
  • /opt/node_modules/rfxcom/index.js
  • /opt/node_modules/node-red-contrib-rfxcom/rfxcom.js
  • /opt/node_modules/@node-red/registry/lib/loader.js
  • /opt/node_modules/@node-red/registry/lib/index.js
  • /opt/node_modules/@node-red/runtime/lib/nodes/index.js
  • /opt/node_modules/@node-red/runtime/lib/index.js
  • /opt/node_modules/node-red/lib/red.js
  • /opt/node_modules/node-red/red.js
    19 Jul 22:35:24 - [warn] ------------------------------------------------------
    19 Jul 22:35:24 - [info] Settings file : /etc/node-red/config.js
    19 Jul 22:35:24 - [info] Context store : ‘default’ [module=memory]
    19 Jul 22:35:24 - [info] User directory : /config/node-red/
    19 Jul 22:35:24 - [warn] Projects disabled : editorTheme.projects.enabled=false
    19 Jul 22:35:24 - [info] Flows file : /config/node-red/flows.json
    19 Jul 22:35:24 - [info] Server now running at http://127.0.0.1:46836/
    19 Jul 22:35:24 - [info] Waiting for missing types to be registered:
    19 Jul 22:35:24 - [info] - rfxtrx-port
    19 Jul 22:35:24 - [info] - rfx-detector-in
    19 Jul 22:35:24 - [info] - rfx-doorbell-in
    19 Jul 22:35:24 - [info] - rfx-sensor
    19 Jul 22:35:24 - [info] - rfx-lights-in
    19 Jul 22:35:24 - [info] - rfx-blinds-in
    19 Jul 22:35:24 - [info] - rfx-meter

I have posted a question about this here, but not had a reply.

In a related post on GitHub (which I have mentioned in the link above), someone has manually installing some dependencies like “serialport”, “node-rfxcom” and “node-red-contrib-rfxcom”, but they aren’t running Home Assistant, they are running Node Red on Docker and I don’t know how to do the same in HA. I’ve tried in specifying different parameters in the NodeRed config and nothing works so far.

I depend on Node Red for most of my automations, not having it running is significantly degrading my platform.

Before I restore some old snapshots and downgrade to a previous version of Home Assistant, is anybody else getting this issue or have any suggestions on how I can get running again.

I tried restoring just the Node Red Add-on from a Snapshot, but that hasn’t worked which makes me think it’s something in my environment.

Thanks in advance

I’m running HA 0.112.4 supervised install on ubuntu 18.04, odroid N2 hardware. I notice 0.112.5 is out, however it doesn’t show as an update option in the GUI. I tried doing the following at the command prompt:
ha core update --version “0.112.5”

I get the following error message in the logs:

20-07-20 00:22:42 ERROR (SyncWorker_1) [supervisor.docker.interface] Can’t install homeassistant/odroid-n2-homeassistant:0.112.5 -> 404 Client Error: Not Found (“manifest for homeassistant/odroid-n2-homeassistant:0.112.5 not found: manifest unknown: manifest unknown”)

Any thoughts on why this release isn’t available for my install?

It was withdrawn as posted everywhere…

Just for the records: It seemed to be some obscure problem with the database. I deleted the database - and the problem until now didn’t occur again.

I actually wrote those rules in the help. I was trying to clarify how it worked but I guess it still needs some tuning.

That being said, I may have changed the documentation but the behavior you are describing isn’t new in 0.112. When you list a domain to include in recorder then the recorder switches its filtering mode to “include mode” so to speak. It assumes that you are now specifically listing the things you want to include and everything else should be excluded. It has done this for some time, I didn’t add this and there were already tests in places validating that it behaved this way. Also all of the following integrations have identical behavior in this regard:

Prior to my work adding GLOB filtering support I actually thought as soon as you listed anything in the include it switches to “include mode” since that was what the documentation said for most of these. I didn’t realize until I started digging into the implementation that there was special handling for when you listed a domain to exclude but only entity IDs to include. In that special circumstance it remains in “exclude mode” and uses the include list as a filter on the excluded domains. But that only applies when you don’t list a domain to include, as soon as you do that then its in full-on include mode where everything not specifically included is ignored.

I made GLOB filtering work just like domain filtering. If you list a GLOB to include then its in include mode. If you list a GLOB to exclude and include only has IDs then it remains in exclude mode and uses that list as a filter. I see not everyone will find that intuitive but I had to make a choice, I could either make it act like a domain filter or an id filter. Since a GLOB filters multiple entities it seemed more sensible to me to make it work like a domain filter.

I would also note that there are at least two notable omissions from this list of integrations, InfluxDB and History. InfluxDB has very different logic for filtering, it does not share the common code the rest of these do. Instead it switches to include mode as soon as anything is in the include, it doesn’t have that special “filter on exclude” option when there’s an exclude domain but no include domain. I updated InfluxDB to bring it inline with these others for 0.113 so it is consistent.

History is unfortunately quite different since it is filtering what to show in the UI. I had put that one aside during dev to come back to it but bdraco told me that due to its implementation its unlikely it will be able to share filtering logic with the rest of them or have GLOB filtering capability added. So I passed on that one and am not totally sure how it works. If you’re saying it is completely inconsistent with these others though in how it handles include and exclude domains then I’d recommend submitting an issue. Even if it can’t have GLOB filtering capability it should at least be consistent with the features it does provide.

2 Likes

For reference, here’s the filtering rules prior to my change:

    Filters are applied as follows:

    No includes or excludes - pass all entities
    Includes, no excludes - only include specified entities
    Excludes, no includes - only exclude specified entities
    Both includes and excludes:
        Include domain specified
            if domain is included, and entity not excluded, pass
            if domain is not included, and entity not included, fail
        Exclude domain specified
            if domain is excluded, and entity not included, fail
            if domain is not excluded, and entity not excluded, pass
            if both include and exclude domains specified, the exclude domains are ignored
        Neither include or exclude domain specified
            if entity is included, pass (as #2 above)
            if entity include and exclude, the entity exclude is ignored

These rules applied to all the integrations I listed above although they were only specifically written out in the documentation for Homekit and Alexa Smart Home. I updated them for the GLOB filtering changes and added the same rules section to all integrations where they applied.

I’m running in Docker, and the last time I checked (Saturday?) it wasn’t available for me either. I just gave up and will wait until the next release.

Thanks. I didn’t see any information indicating it was withdrawn. It’s to bad they don’t update the release page to make it easy to find.

Yes, I do.
Did you get fix it?

I did. It was removing the base_url from my configuration file that caused it. Once I out that back in my play stream and casting to Google home devices worked again

1 Like

Thanks.
It worked for me too.