Evtl. funktioniert auch Folgendes, ohne „Spezial-Node“
Hier ist der komplette Code für eine robuste Hysterese-Logik. Diese nutzt eine Switch-Node für die Logik und eine Filter-Node, damit nicht dauernd Signale an HA gesendet werden:
[
{
"id": "hysterese_switch",
"type": "switch",
"z": "5d5d89d9ce771768",
"name": "Hysterese Logik 40 <> 80",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "lte",
"v": "40",
"vt": "num"
},
{
"t": "gte",
"v": "80",
"vt": "num"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 390,
"y": 5220,
"wires": [
[
"set_on"
],
[
"set_off"
]
]
},
{
"id": "set_on",
"type": "change",
"z": "5d5d89d9ce771768",
"name": "AN",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "on",
"tot": "str"
}
],
"x": 600,
"y": 5200,
"wires": [
[
"filter_rbe"
]
]
},
{
"id": "set_off",
"type": "change",
"z": "5d5d89d9ce771768",
"name": "AUS",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "off",
"tot": "str"
}
],
"x": 600,
"y": 5240,
"wires": [
[
"filter_rbe"
]
]
},
{
"id": "filter_rbe",
"type": "rbe",
"z": "5d5d89d9ce771768",
"name": "Nur bei Änderung",
"func": "rbe",
"gap": "",
"start": "",
"property": "payload",
"x": 800,
"y": 5220,
"wires": [
[
"debug_out"
]
]
},
{
"id": "debug_out",
"type": "debug",
"z": "5d5d89d9ce771768",
"name": "Endergebnis",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 1000,
"y": 5220,
"wires": []
},
{
"id": "bda0ae7476fa14c4",
"type": "poll-state",
"z": "5d5d89d9ce771768",
"name": "Kollektor",
"server": "e5c22e49.d93e4",
"version": 3,
"exposeAsEntityConfig": "",
"updateInterval": "300",
"updateIntervalType": "num",
"updateIntervalUnits": "seconds",
"outputInitially": false,
"outputOnChanged": false,
"entityId": "Kollektor",
"stateType": "str",
"ifState": "",
"ifStateType": "str",
"ifStateOperator": "is",
"outputs": 1,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "string",
"valueType": "entityState"
},
{
"property": "data",
"propertyType": "msg",
"value": "",
"valueType": "entity"
},
{
"property": "topic",
"propertyType": "msg",
"value": "",
"valueType": "triggerId"
}
],
"x": 180,
"y": 5220,
"wires": [
[
"hysterese_switch"
]
]
},
{
"id": "e5c22e49.d93e4",
"type": "server",
"name": "Home Assistant",
"addon": false,
"rejectUnauthorizedCerts": true,
"ha_boolean": "",
"connectionDelay": false,
"cacheJson": false,
"heartbeat": false,
"heartbeatInterval": "",
"areaSelector": "friendlyName",
"deviceSelector": "friendlyName",
"entitySelector": "friendlyName",
"statusSeparator": "",
"enableGlobalContextStore": false
},
{
"id": "c10442088b65022b",
"type": "global-config",
"env": [],
"modules": {
"node-red-contrib-home-assistant-websocket": "0.80.3"
}
}
]