I have the following workflow to download Ring videos locally. It works but I am having a “minor” issue: I get three notifications on my devices and at this moment not sure what could be happening. Can I get some more eyes on this since apparently, I am missing something?
[
{
"id": "3ebcf253d4f27a57",
"type": "tab",
"label": "DownloadRingVideos",
"disabled": false,
"info": "Downloading recorded videos using the Event Stream",
"env": []
},
{
"id": "9f7c0ff7f44a56e7",
"type": "trigger-state",
"z": "3ebcf253d4f27a57",
"name": "",
"server": "e593dd3.052432",
"version": 2,
"exposeToHomeAssistant": false,
"haConfig": [
{
"property": "name",
"value": ""
},
{
"property": "icon",
"value": ""
}
],
"entityid": "binary_sensor.front_door_motion",
"entityidfiltertype": "exact",
"debugenabled": false,
"constraints": [
{
"targetType": "this_entity",
"targetValue": "",
"propertyType": "current_state",
"propertyValue": "new_state.state",
"comparatorType": "is",
"comparatorValueDatatype": "str",
"comparatorValue": "on"
}
],
"inputs": 0,
"outputs": 2,
"customoutputs": [],
"outputinitially": false,
"state_type": "str",
"enableInput": false,
"x": 210,
"y": 340,
"wires": [
[
"9964c08828a20f13",
"84051780c9597d07"
],
[]
]
},
{
"id": "db10e81e4a1d16e1",
"type": "api-call-service",
"z": "3ebcf253d4f27a57",
"name": "",
"server": "e593dd3.052432",
"version": 5,
"debugenabled": false,
"domain": "downloader",
"service": "download_file",
"areaId": [],
"deviceId": [],
"entityId": [],
"data": "",
"dataType": "json",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 1090,
"y": 260,
"wires": [
[
"5bdd0871ed01ae3e"
]
]
},
{
"id": "95966fd3b2cdada1",
"type": "api-call-service",
"z": "3ebcf253d4f27a57",
"name": "",
"server": "e593dd3.052432",
"version": 5,
"debugenabled": true,
"domain": "notify",
"service": "notify",
"areaId": [],
"deviceId": [],
"entityId": [],
"data": "{\"title\":\"New Ring Video available\",\"message\":\"A new video Ring motion video is available\",\"data\":{\"group\":\"HomeAssistantNotifications\",\"timeout\":30,\"push\":{\"interruption-level\":\"passive\"}}}",
"dataType": "json",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 1750,
"y": 240,
"wires": [
[]
]
},
{
"id": "9964c08828a20f13",
"type": "time-range-switch",
"z": "3ebcf253d4f27a57",
"name": "",
"lat": "28.496890",
"lon": "-82.553900",
"startTime": "dusk",
"endTime": "sunrise",
"startOffset": 0,
"endOffset": 0,
"x": 540,
"y": 420,
"wires": [
[
"72efb4d4a74e46d2"
],
[]
]
},
{
"id": "72efb4d4a74e46d2",
"type": "api-call-service",
"z": "3ebcf253d4f27a57",
"name": "",
"server": "e593dd3.052432",
"version": 5,
"debugenabled": false,
"domain": "light",
"service": "turn_on",
"areaId": [],
"deviceId": [
"7a4e4fccc561e5856ac00bd8ad22733a"
],
"entityId": [],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 770,
"y": 380,
"wires": [
[
"d95d8d3b22fafb80"
]
]
},
{
"id": "d95d8d3b22fafb80",
"type": "delay",
"z": "3ebcf253d4f27a57",
"name": "",
"pauseType": "delay",
"timeout": "2",
"timeoutUnits": "minutes",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 940,
"y": 440,
"wires": [
[
"3f5da9d4313922f9"
]
]
},
{
"id": "3f5da9d4313922f9",
"type": "api-call-service",
"z": "3ebcf253d4f27a57",
"name": "",
"server": "e593dd3.052432",
"version": 5,
"debugenabled": false,
"domain": "light",
"service": "turn_off",
"areaId": [],
"deviceId": [
"7a4e4fccc561e5856ac00bd8ad22733a"
],
"entityId": [],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 1110,
"y": 440,
"wires": [
[]
]
},
{
"id": "84051780c9597d07",
"type": "delay",
"z": "3ebcf253d4f27a57",
"name": "",
"pauseType": "delay",
"timeout": "1",
"timeoutUnits": "minutes",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 500,
"y": 260,
"wires": [
[
"46aa0c028d011a6d"
]
]
},
{
"id": "46aa0c028d011a6d",
"type": "api-render-template",
"z": "3ebcf253d4f27a57",
"name": "Downloader Template",
"server": "8a3231e1.3f0e1",
"version": 0,
"template": "{\n \"data\":\n {\n \"subdir\": \"downloads\",\n \"url\": \"{{ state_attr(\"camera.front_door\", \"video_url\") }}\",\n \"filename\": \"{{now().year}}-{{now().month}}.{{now().day}}-motion.mp4\",\n \"overwrite\": true\n }\n}\n",
"resultsLocation": "payload",
"resultsLocationType": "msg",
"templateLocation": "",
"templateLocationType": "none",
"x": 700,
"y": 260,
"wires": [
[
"87b69522ad66f6e0"
]
]
},
{
"id": "87b69522ad66f6e0",
"type": "json",
"z": "3ebcf253d4f27a57",
"name": "",
"property": "payload",
"action": "",
"pretty": false,
"x": 890,
"y": 260,
"wires": [
[
"db10e81e4a1d16e1"
]
]
},
{
"id": "5bdd0871ed01ae3e",
"type": "change",
"z": "3ebcf253d4f27a57",
"name": "",
"rules": [
{
"t": "delete",
"p": "payload",
"pt": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1350,
"y": 260,
"wires": [
[
"c251b9b82304898b"
]
]
},
{
"id": "c251b9b82304898b",
"type": "time-range-switch",
"z": "3ebcf253d4f27a57",
"name": "",
"lat": "28.496890",
"lon": "-82.553900",
"startTime": "08:00",
"endTime": "22:00",
"startOffset": 0,
"endOffset": 0,
"x": 1550,
"y": 260,
"wires": [
[
"95966fd3b2cdada1"
],
[]
]
},
{
"id": "e593dd3.052432",
"type": "server",
"name": "Home Assistant",
"addon": true
},
{
"id": "8a3231e1.3f0e1",
"type": "server",
"name": "Hassio",
"version": 5,
"addon": true,
"rejectUnauthorizedCerts": true,
"ha_boolean": "y|yes|true|on|home|open",
"connectionDelay": false,
"cacheJson": true,
"heartbeat": false,
"heartbeatInterval": 30,
"areaSelector": "friendlyName",
"deviceSelector": "friendlyName",
"entitySelector": "friendlyName",
"statusSeparator": "at: ",
"statusYear": "hidden",
"statusMonth": "short",
"statusDay": "numeric",
"statusHourCycle": "h23",
"statusTimeFormat": "h:m",
"enableGlobalContextStore": true
}
]
this is what I get on my phone each time: