events: state Home Assistant State Boolean always false
Describe the bug
input_boolean.* don't work with "entity state as Home Assistant boolean": it is always mapped to false. (not tested for other entity domain)
To Reproduce
- create a node
events: stateusing a configuration generated before < 0.80. using an input_boolean entity id (input_boolean.heatingin this example). - map payload to "entity state as Home Assistant boolean"
- change the value of
input_boolean.heatingusing the home assistant ui (turn it on). - the reported value of the node is
false.
Expected behavior
"on" state should be mapped to true with "entity state as Home Assistant boolean"
Screenshots
config (old configuration, after adding "state boolean"):
debug value should be true
Example Flow
[{"id":"f1fa7690bc78f745","type":"server-state-changed","z":"1465d4a6d07024e9","name":"test","server":"e483dc6d.59eb5","version":6,"outputs":1,"exposeAsEntityConfig":"","entities":{"entity":["input_boolean.heating"],"substring":[],"regex":[]},"outputInitially":false,"stateType":"str","ifState":"","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"ha_boolean","valueType":"entityState"}],"x":1290,"y":660,"wires":[["c3ce41696c2c7d1d"]]},{"id":"c3ce41696c2c7d1d","type":"debug","z":"1465d4a6d07024e9","name":"debug 3","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1470,"y":660,"wires":[]},{"id":"e483dc6d.59eb5","type":"server","name":"Home Assistant","addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":["y","yes","on","true","home","open"],"connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":":","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m:s","enableGlobalContextStore":false},{"id":"fd967a082084899a","type":"global-config","env":[],"modules":{"node-red-contrib-home-assistant-websocket":"0.80.3"}}]
Environment Information
Version: 0.80.3
Home Assistant instances: 2 Server: e483dc6d.59eb5 Home Assistant version: 2025.11.2 Companion version: 4.1.3 Server: 37ccf82afc6cf035 Home Assistant version: 2025.11.2 Companion version: 4.1.3
Node-RED version: 4.1.1 Docker: yes Add-on: no
Node.js version: v20.19.5 x64 linux OS: Linux 6.12.48+deb13-amd64 x64
Additional context
I use an old "home assistant" configuration in Node red (it has been here for multiple version).
If I use a newly "home assistant configuration", it is correctly mapped to true.
Side note: in the old config, I had to add all the default value to "State boolean" (it was empty).
Exported old configuration:
{
"addon": false,
"areaSelector": "friendlyName",
"cacheJson": false,
"connectionDelay": false,
"deviceSelector": "friendlyName",
"enableGlobalContextStore": false,
"entitySelector": "friendlyName",
"ha_boolean": [
"y",
"yes",
"on",
"true",
"home",
"open"
],
"heartbeat": false,
"heartbeatInterval": "",
"id": "e483dc6d.59eb5",
"name": "Home Assistant",
"rejectUnauthorizedCerts": true,
"statusDay": "numeric",
"statusHourCycle": "h23",
"statusMonth": "short",
"statusSeparator": ":",
"statusTimeFormat": "h:m:s",
"statusYear": "hidden",
"type": "server"
}
Exported new configuration:
{
"addon": false,
"areaSelector": "friendlyName",
"cacheJson": true,
"connectionDelay": true,
"deviceSelector": "friendlyName",
"enableGlobalContextStore": false,
"entitySelector": "friendlyName",
"ha_boolean": [
"y",
"yes",
"true",
"on",
"home",
"open"
],
"heartbeat": false,
"heartbeatInterval": 30,
"id": "37ccf82afc6cf035",
"name": "Home Assistant new",
"rejectUnauthorizedCerts": true,
"statusDay": "numeric",
"statusHourCycle": "default",
"statusMonth": "short",
"statusSeparator": ": ",
"statusTimeFormat": "h:m",
"statusYear": "hidden",
"type": "server",
"version": 6
}