Just Upgraded to NodeRED Add-on v14.5.0, all sorts of errors I've never seen before in the add-on log and debug log

UPDATE (9/14/23): For the sake of your own sanity, roll back to the previous version of NodeRED temporarily. That got me back up and running sufficiently.

When I restarted NodeRED after updating the add-on a few minutes ago, I was met with a repeating error in the Add-On startup log and every one or two seconds, the entire error whips through the debug sidebar log, rendering that feature useless. I don’t know how to fix this, nor what is causing it, but here’s the error:

13 Sep 19:18:03 - [warn] Deprecated API warning: Calls to RED.util.evaluateJSONataExpression must include a callback. This will not be optional in Node-RED 4.0. Please identify the node from the following stack and check for an update on npm. If none is available, please notify the node author.
13 Sep 19:18:03 - [warn] Error: 
    at Object.evaluateJSONataExpression (/opt/node_modules/@node-red/util/lib/util.js:775:18)
    at JSONataService.evaluate (/config/node-red/node_modules/node-red-contrib-home-assistant-websocket/dist/common/services/JSONataService.js:58:39)
    at TypedInputService.getValue (/config/node-red/node_modules/node-red-contrib-home-assistant-websocket/dist/common/services/TypedInputService.js:58:85)
    at EventsAll.getTypedInputValue (/config/node-red/node_modules/node-red-contrib-home-assistant-websocket/dist/nodes/BaseNode.js:134:39)
    at /config/node-red/node_modules/node-red-contrib-home-assistant-websocket/dist/nodes/BaseNode.js:138:32
    at Array.forEach (<anonymous>)
    at EventsAll.setCustomOutputs (/config/node-red/node_modules/node-red-contrib-home-assistant-websocket/dist/nodes/BaseNode.js:137:20)
    at EventsAll.onHaEventsAll (/config/node-red/node_modules/node-red-contrib-home-assistant-websocket/dist/nodes/events-all/controller.js:57:18)
    at EventEmitter.<anonymous> (/config/node-red/node_modules/node-red-contrib-home-assistant-websocket/dist/nodes/EventsNode.js:39:17)
    at EventEmitter.emit (node:events:526:35)

What changed and how in the world do I address it. This is a bit of spaghetti talk for my brain.

5 Likes

https://github.com/zachowj/node-red-contrib-home-assistant-websocket/issues/898

But the first time this was reported was on March 2022!!! and this error have just happened after updating to the latest addon version

hey im trying to get the workaround going but im missing something obvious maybe
ran
docker ps --format '{{.Names}}' | grep nodered
to get the name, since
docker exec -it nodered bash
gave me an error. Am in the container now, but dont see /usr/src/node-red/node_modules/@node-red/util/lib/util.js in there?

Same here let’s hope Kermit has time soon :heart_eyes:

same here after update

Same here… :frowning:

Thank you for that @Kermit ! Very helpful. Although, the work-around that I found in that thread doesn’t match my setup. It suggests editing a file beneath a sub-folder called @node-red which my system doesn’t have.

I simply opted to restore the previous version for the time-being. In my case, I had used the Palette Manager in NodeRED to update the latest websocket for HA, not knowing that there was a NodeRED update which would do it, so my restored NodeRED has the upgraded nodes. I don’t know if that will be problematic, but at the very least, I can once again debug while building flows.

Since latest update my logs are also being flooded with these errors.

Error: 
    at Object.evaluateJSONataExpression (/opt/node_modules/@node-red/util/lib/util.js:775:18)
    at JSONataService.evaluate (/opt/node_modules/node-red-contrib-home-assistant-websocket/dist/common/services/JSONataService.js:58:39)
    at TypedInputService.getValue (/opt/node_modules/node-red-contrib-home-assistant-websocket/dist/common/services/TypedInputService.js:58:85)
    at EventsAll.getTypedInputValue (/opt/node_modules/node-red-contrib-home-assistant-websocket/dist/nodes/BaseNode.js:134:39)
    at /opt/node_modules/node-red-contrib-home-assistant-websocket/dist/nodes/BaseNode.js:138:32
    at Array.forEach (<anonymous>)
    at EventsAll.setCustomOutputs (/opt/node_modules/node-red-contrib-home-assistant-websocket/dist/nodes/BaseNode.js:137:20)
    at EventsAll.onHaEventsAll (/opt/node_modules/node-red-contrib-home-assistant-websocket/dist/nodes/events-all/controller.js:57:18)
    at EventEmitter.<anonymous> (/opt/node_modules/node-red-contrib-home-assistant-websocket/di...
1 Like

figured this out, but i guess im only editing the file in memory here /opt/node_modules/\@node-red/util/lib/util.js since a restart wipes out the changes, just going to let the logging errors be for now since its not breaking anything per se

1 Like

same here. I was told to contact the author. I think I did. I asked in my post if he was the author here

+1 same error here after upgrading my home assistant addon to v14.5

same here right after the update…

same here :S

+1
Same for me. :pensive:

Same here. Obviously wide spread issue.

+1
Same for me

+1 got my debug flooded with it

oh my goodness, why wasnt this picked up in beta testing!?
another breaking change.¨
people runs their homes on this and its breaking change after breaking change.

1 Like

For future reference, a ‘breaking change’ is a planned deviation from a past practice. In other words, the developer intentionally makes a feature work in a new way that requires the user to make adaptations.

Based on the responses posted here, by the developer of the Home Assistant WebSocket node, it’s clear this issue was unintentional; it’s a bug, not a breaking change.

Breaking changes have been part of Home Assistant’s evolution throughout its ten years of existence. So have bugs; it’s the reality of this open-source software project.

Refer to the linked post for ways to mitigate the bug.

1 Like