[
{
"id": "698d2faa.f6be2",
"type": "inject",
"z": "54ed691d.6adf68",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 450,
"y": 180,
"wires": [
[
"bbd8f90d.b56928"
]
]
},
{
"id": "bbd8f90d.b56928",
"type": "function",
"z": "54ed691d.6adf68",
"name": "",
"func": "const attributes = global.get(\"homee.attributes\");\nconst name = global.get(\"homee.nodes\");\nvar type = 5\nvar date = Date.now();\nattributes.forEach(function(test){\n if(test.type == type){ \n var name2 = name.find(name2 => name2.id == test.node_id);\n var zeit = Math.round((Math.round((date/1000)-test.last_changed))/60);\n if( zeit > 120){\n node.send({\n payload: zeit + \" Min seit letzte Änderung \" + decodeURIComponent(name2.name)\n })\n }\n }\n});\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 750,
"y": 180,
"wires": [
[
"a4cccf2b.7f1e4"
]
]
},
{
"id": "a4cccf2b.7f1e4",
"type": "debug",
"z": "54ed691d.6adf68",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 960,
"y": 180,
"wires": []
}
]
Hier ist die Funktion mit der du die Geräte Filtern kannst die seit 120 Minuten keinen Wert gesendet haben.
Beim Type musst du die Type ID einsetzen auf die du filtern magst( im Beispiel ist es die 5 = Temperatur ).
musst nur schauen was du damit dann wie anfangen magst.
Wichtig ist das der API Node alle Werte in der globalen speichert.
Viel Spaß und Erfolg damit.