Ik dacht, misschien is het leuk om mensen ideeën te geven.
Zo kun je met Node-red je unifi-controller besturen.
Het installeren van Node-red gaat veel te ver voor een tips-topic. Zoek op internet op hoe dat gaat. Ik geef er de voorkeur aan om het op een Raspberry pi te draaien.
In Node-red moet je in elk geval de 'unifi-contrib' installeren. Je moet die ook configureren, dat wijst zich vanzelf.
En dan kun je bijvoorbeeld een bedtijd-flow maken.
De tijden stel je in de roze 'bedtijd' node in.
De adressen die op tijd geblokkeerd moeten worden komen in de groene 'mac adres' nodes; één per device.
Dit werkt op basis van het block-commando. De devices hebben dus totaal geen netwerkverbinding, ook niet lokaal.
Als ze ge-unblocked worden kan het een paar minuten duren voor ze dat doorhebben.
Hier staat de code. Copy die, en in Node Red zit een knopje 'import'. Daar paste je de code en je hebt het bovenstaande.
Dan moet je de unifi-node instellen op je eigen unifi-controller, en de macadressen van je eigen apparatuur invoeren.
Zo kun je met Node-red je unifi-controller besturen.
Het installeren van Node-red gaat veel te ver voor een tips-topic. Zoek op internet op hoe dat gaat. Ik geef er de voorkeur aan om het op een Raspberry pi te draaien.
In Node-red moet je in elk geval de 'unifi-contrib' installeren. Je moet die ook configureren, dat wijst zich vanzelf.
En dan kun je bijvoorbeeld een bedtijd-flow maken.
De tijden stel je in de roze 'bedtijd' node in.
De adressen die op tijd geblokkeerd moeten worden komen in de groene 'mac adres' nodes; één per device.
Dit werkt op basis van het block-commando. De devices hebben dus totaal geen netwerkverbinding, ook niet lokaal.
Als ze ge-unblocked worden kan het een paar minuten duren voor ze dat doorhebben.
Hier staat de code. Copy die, en in Node Red zit een knopje 'import'. Daar paste je de code en je hebt het bovenstaande.
Dan moet je de unifi-node instellen op je eigen unifi-controller, en de macadressen van je eigen apparatuur invoeren.
JSON:
[
{
"id": "08970203024d22d1",
"type": "group",
"z": "26e3101e.d5bb6",
"name": "Bedtime on a Unifi controller",
"style": {
"label": true,
"fill": "#bfdbef",
"stroke": "#0070c0",
"label-position": "n",
"color": "#0070c0"
},
"nodes": [
"cfd8ed7cc524b6e3",
"3a190fe0182416a7",
"4f6fcc7cc7db12e0",
"0dd39ce68371840d",
"798b175760e25376",
"72b013e072d6cb8d",
"8c6f26db88d8689c",
"33beb9cd53e3379d",
"2a2a6f4ddacbc1e4"
],
"x": 174,
"y": 599,
"w": 912,
"h": 342
},
{
"id": "cfd8ed7cc524b6e3",
"type": "Unifi",
"z": "26e3101e.d5bb6",
"g": "08970203024d22d1",
"name": "unifi",
"server": "c95efa04fa274429",
"command": "20",
"x": 890,
"y": 680,
"wires": [
[
"3a190fe0182416a7"
]
]
},
{
"id": "3a190fe0182416a7",
"type": "debug",
"z": "26e3101e.d5bb6",
"g": "08970203024d22d1",
"name": "BlockUnblock debug",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 940,
"y": 760,
"wires": []
},
{
"id": "4f6fcc7cc7db12e0",
"type": "comment",
"z": "26e3101e.d5bb6",
"g": "08970203024d22d1",
"name": "Copy-paste for each device",
"info": "ff",
"x": 550,
"y": 640,
"wires": []
},
{
"id": "0dd39ce68371840d",
"type": "light-scheduler",
"z": "26e3101e.d5bb6",
"g": "08970203024d22d1",
"settings": "2bef03f5.565e5c",
"events": "[{\"start\":{\"dow\":6,\"mod\":600},\"end\":{\"dow\":6,\"mod\":1200}},{\"start\":{\"dow\":0,\"mod\":600},\"end\":{\"dow\":0,\"mod\":1140}},{\"start\":{\"dow\":5,\"mod\":655},\"end\":{\"dow\":5,\"mod\":1200}},{\"start\":{\"dow\":4,\"mod\":660},\"end\":{\"dow\":4,\"mod\":1140}},{\"start\":{\"dow\":3,\"mod\":900},\"end\":{\"dow\":3,\"mod\":1140}},{\"start\":{\"dow\":1,\"mod\":900},\"end\":{\"dow\":1,\"mod\":1140}},{\"start\":{\"dow\":2,\"mod\":815},\"end\":{\"dow\":2,\"mod\":1165}}]",
"topic": "",
"name": "Bedtijd",
"onPayload": "{\"command\":\"unblockClient\"}",
"onPayloadType": "json",
"offPayload": "{\"command\":\"blockClient\"}",
"offPayloadType": "json",
"onlyWhenDark": false,
"scheduleRndMax": 0,
"sunElevationThreshold": 6,
"sunShowElevationInStatus": false,
"outputfreq": "output.statechange.startup",
"x": 250,
"y": 680,
"wires": [
[
"798b175760e25376",
"72b013e072d6cb8d"
]
],
"outputLabels": [
"Unify command, must add payload.mac=<mac address> "
]
},
{
"id": "798b175760e25376",
"type": "change",
"z": "26e3101e.d5bb6",
"g": "08970203024d22d1",
"name": "Mac adres telefoon 1",
"rules": [
{
"t": "set",
"p": "payload.mac",
"pt": "msg",
"to": "12:34:56:1a:1b:1c",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 540,
"y": 680,
"wires": [
[
"cfd8ed7cc524b6e3",
"3a190fe0182416a7"
]
]
},
{
"id": "72b013e072d6cb8d",
"type": "change",
"z": "26e3101e.d5bb6",
"g": "08970203024d22d1",
"name": "Mac adres telefoon 2",
"rules": [
{
"t": "set",
"p": "payload.mac",
"pt": "msg",
"to": "1a:2a:3a:4a:5a:6a",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 540,
"y": 720,
"wires": [
[
"cfd8ed7cc524b6e3"
]
]
},
{
"id": "8c6f26db88d8689c",
"type": "inject",
"z": "26e3101e.d5bb6",
"g": "08970203024d22d1",
"name": "block",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "{\"command\": \"blockClient\"}",
"payloadType": "json",
"x": 270,
"y": 860,
"wires": [
[
"798b175760e25376",
"72b013e072d6cb8d"
]
]
},
{
"id": "33beb9cd53e3379d",
"type": "inject",
"z": "26e3101e.d5bb6",
"g": "08970203024d22d1",
"name": "unblockClient",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "{\"command\": \"unblock\"}",
"payloadType": "json",
"x": 290,
"y": 900,
"wires": [
[
"798b175760e25376",
"72b013e072d6cb8d"
]
]
},
{
"id": "2a2a6f4ddacbc1e4",
"type": "comment",
"z": "26e3101e.d5bb6",
"g": "08970203024d22d1",
"name": "Manual control",
"info": "",
"x": 280,
"y": 820,
"wires": []
},
{
"id": "c95efa04fa274429",
"type": "unificonfig",
"name": "unifiController",
"ip": "yourunifi-controller-address",
"port": "8443",
"site": "default",
"unifios": false,
"ssl": false
},
{
"id": "2bef03f5.565e5c",
"type": "light-scheduler-settings",
"name": "Arnhem",
"latitude": "51.979729",
"longitude": "5.912400"
}
]