Increase websocket message size limit for node red

Make this a setting or large enough number to accommodate power users please.

23-05-20 07:48:46 INFO (MainThread) [supervisor.api.proxy] Home Assistant WebSocket API connection is closed
23-05-20 07:48:48 INFO (MainThread) [supervisor.api.proxy] Home Assistant WebSocket API request initialize
23-05-20 07:48:48 INFO (MainThread) [supervisor.api.proxy] WebSocket access from a0d7b954_nodered
23-05-20 07:48:48 INFO (MainThread) [supervisor.api.proxy] Home Assistant WebSocket API request running
23-05-20 07:48:48 INFO (MainThread) [supervisor.api.proxy] Home Assistant WebSocket API error: Received message 258:WebSocketError(<WSCloseCode.MESSAGE_TOO_BIG: 1009>, ‘Message size 4983115 exceeds limit 4194304’) is not str

My HA system has grown large enough that I am battling this one fairly often. Voted.

I also have this issue stopping NodeRed from working in my large HA environment.

What is the contents of the payload that is getting it to hit the limit?

Appears to be the state of every entity, sent every second, rather than the ones that have changed or something more efficient. To be clear it is every field of every entity. So if you have multiple homes, and say 50 ring cameras, it’s 50 active tokens and a ton of other information that node red doesn’t need or use as well.

There is a “newer” subscribe_entities call that could be used that only sends the initial compressed entity state and than diffs of the state as long as the subscription is held. That should be one or two orders of magnitude smaller. It’s something the node red connector would need to adopt

Yeah not only would that allow power users to scale today, it would be a much better approach long term as more devices connect to HA, IMO. I guess the other option would be to shake the tree on the entities and only pass the fields node red cares about. In a perfect world, both would be implemented together.

Same issue here, the bug is also referenced here: Connection closed to http://supervisor/core · Issue #796 · zachowj/node-red-contrib-home-assistant-websocket · GitHub

Nodered is completely unusable

Is this already submitted to “the right people” managing the node red connector, or should I report it somewhere else?

They have been made aware a few months ago. I think someone will have to step up and do the work to make it happen. The support for the more efficient entity stream has been in Home Assistant for nearly a year now so there really isn’t anything to do on the Home Assistant side for this feature request at this time

Who are the right people? Is this issue caused by node-red-contrib-home-assistant-websocket plugin not supporting new HASS api calls?

edit: this is the project’s github GitHub - zachowj/node-red-contrib-home-assistant-websocket: Node-RED integration with Home Assistant Core

There seems to be a bug reported but no traction.

I think I have tracked this down to the supervisor proxy is not enable coalesce_messages.

https://github.com/home-assistant/supervisor/issues/4392#issuecomment-1637294018

1 Like

If you don’t need the full entity registry and can get away with subscribeEntityRegistryDisplay it should decrease the payload size (quite a bit)