Blink snapshot not displayed in web interface

I have an automation in Node Red to trigger a snapshot on both my blink cameras last thing at night after they arm and then again in the morning after they disarm. The automation is working and the snapshots are updated in the blink mobile app but only one of them displays in the HA front end. If I restart HA then the second snapshot will be visible on the web page. It is always the same camera that is affected, i.e. the snapshot from camera 1 will always show with no problems, camera 2’s snapshot is always broken.

image

Can anyone help please?

1 Like

What is your exact automation flow? What services do you call when you take snapshots/what delays do you have/etc?

1 Like

I have set up automations to arm the blink cameras between 22:30 and 22:40 dependent on the state of two lights (as a basic presence indicator) and then between 6 and 9 minutes after that take one snapshot from one camera and then after another 6 -9 minutes take a snapshot from the second camera.

Then, between 07:00 and 07:20 a snapshot is taken on one of the cameras with the second snapshot on the second camera between 4 and 7 minutes after that. The whole system then disarms at 07:30 as long as there is someone at home.

I have included the random time intervals to avoid having everything fire at once and hammer the blink API as I know there can be problems with throttling and/or account locking. The snapshots are taken using the blink domain trigger_camera service.

These are the Node Red flows:

[{"id":"87bab67d.f9eaf8","type":"schedex","z":"910de724.9d2f28","name":"between 22:30 and 22:40","passthroughunhandled":false,"suspended":false,"lat":"","lon":"","ontime":"22:30","ontopic":"","onpayload":"","onoffset":"10","onrandomoffset":true,"offtime":"","offtopic":"","offpayload":"","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":150,"y":540,"wires":[["f40f79b.7930788"]]},{"id":"c9adff78.5d7a8","type":"comment","z":"910de724.9d2f28","name":"Disarm blink cameras at 07:30","info":"","x":160,"y":880,"wires":[]},{"id":"a5fbca1d.3768c8","type":"schedex","z":"910de724.9d2f28","name":"at 07:30","passthroughunhandled":false,"suspended":false,"lat":"","lon":"","ontime":"07:30","ontopic":"","onpayload":"","onoffset":0,"onrandomoffset":0,"offtime":"","offtopic":"","offpayload":"","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":100,"y":960,"wires":[["be1d791e.2b0dc8"]]},{"id":"be1d791e.2b0dc8","type":"api-current-state","z":"910de724.9d2f28","name":"anyone at home?","server":"5a2e6e11.51fca8","version":1,"outputs":2,"halt_if":"home","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"group.family","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":290,"y":960,"wires":[["9c287bf9.008ea8"],[]]},{"id":"9c287bf9.008ea8","type":"api-call-service","z":"910de724.9d2f28","name":"disarm blink","server":"5a2e6e11.51fca8","version":1,"debugenabled":true,"service_domain":"alarm_control_panel","service":"alarm_disarm","entityId":"alarm_control_panel.blink_home","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":490,"y":960,"wires":[["3ed71a30.fa2086"]]},{"id":"48220c24.791fa4","type":"api-current-state","z":"910de724.9d2f28","name":"check blink is disarmed","server":"5a2e6e11.51fca8","version":1,"outputs":2,"halt_if":"disarmed","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"alarm_control_panel.blink_home","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":570,"y":1040,"wires":[["3bd940e8.804dd"],["9c287bf9.008ea8"]]},{"id":"3bd940e8.804dd","type":"api-call-service","z":"910de724.9d2f28","name":"mobile notification","server":"5a2e6e11.51fca8","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_sm_g960f","entityId":"","data":"{\"title\":\"Blink Cameras\",\"message\":\"The system is disarmed\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":810,"y":1040,"wires":[[]]},{"id":"ee888b87.a910a8","type":"delay","z":"910de724.9d2f28","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":940,"y":640,"wires":[["def1b45b.a96478"]]},{"id":"24ffb93a.bcdc66","type":"stoptimer","z":"910de724.9d2f28","duration":"10","units":"Minute","payloadtype":"num","payloadval":"0","name":"","x":800,"y":580,"wires":[["f40f79b.7930788"],[]]},{"id":"f40f79b.7930788","type":"api-current-state","z":"910de724.9d2f28","name":"pub light state","server":"5a2e6e11.51fca8","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.pub_light","state_type":"str","state_location":"pub","override_payload":"msg","entity_location":"","override_data":"none","blockInputOverrides":false,"x":380,"y":540,"wires":[["b3c71f3f.273fd"]]},{"id":"b3c71f3f.273fd","type":"api-current-state","z":"910de724.9d2f28","name":"garden light state","server":"5a2e6e11.51fca8","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.garden_light","state_type":"str","state_location":"garden","override_payload":"msg","entity_location":"","override_data":"none","blockInputOverrides":false,"x":390,"y":620,"wires":[["a4535c32.05829"]]},{"id":"a4535c32.05829","type":"switch","z":"910de724.9d2f28","name":"are both off?","property":"payload","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"pub = \"on\" and garden = \"on\"","vt":"jsonata"},{"t":"jsonata_exp","v":"pub = \"on\" and garden = \"off\"","vt":"jsonata"},{"t":"jsonata_exp","v":"pub = \"off\" and garden = \"on\"","vt":"jsonata"},{"t":"jsonata_exp","v":"pub = \"off\" and garden = \"off\"","vt":"jsonata"}],"checkall":"true","repair":false,"outputs":4,"x":590,"y":580,"wires":[["24ffb93a.bcdc66"],["24ffb93a.bcdc66"],["24ffb93a.bcdc66"],["f865a9e5.0c7e68"]]},{"id":"eb7171f9.df00b","type":"api-call-service","z":"910de724.9d2f28","name":"mobile notification","server":"5a2e6e11.51fca8","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_sm_g960f","entityId":"","data":"{\"title\":\"Blink Cameras\",\"message\":\"The system is armed\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1090,"y":700,"wires":[[]]},{"id":"f865a9e5.0c7e68","type":"api-call-service","z":"910de724.9d2f28","name":"arm blink","server":"5a2e6e11.51fca8","version":1,"debugenabled":false,"service_domain":"alarm_control_panel","service":"alarm_arm_away","entityId":"alarm_control_panel.blink_home","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":780,"y":640,"wires":[["ee888b87.a910a8"]]},{"id":"def1b45b.a96478","type":"api-current-state","z":"910de724.9d2f28","name":"check blink is armed","server":"5a2e6e11.51fca8","version":1,"outputs":2,"halt_if":"armed_away","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"alarm_control_panel.blink_home","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":840,"y":700,"wires":[["eb7171f9.df00b","a95defb9.1e3e9"],["f865a9e5.0c7e68"]]},{"id":"3ed71a30.fa2086","type":"delay","z":"910de724.9d2f28","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":660,"y":960,"wires":[["48220c24.791fa4"]]},{"id":"908453f5.ff24d","type":"api-call-service","z":"910de724.9d2f28","name":"deck blink snapshot","server":"5a2e6e11.51fca8","version":1,"debugenabled":false,"service_domain":"blink","service":"trigger_camera","entityId":"camera.blink_deck_camera","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":400,"y":1180,"wires":[[]]},{"id":"892a4653.a1c038","type":"schedex","z":"910de724.9d2f28","name":"between 07:00 and 07:20","passthroughunhandled":false,"suspended":false,"lat":"","lon":"","ontime":"07:20","ontopic":"","onpayload":"","onoffset":"-20","onrandomoffset":true,"offtime":"","offtopic":"","offpayload":"","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":150,"y":1180,"wires":[["908453f5.ff24d","9b67b250.b8251"]]},{"id":"913bea68.dc6d78","type":"comment","z":"910de724.9d2f28","name":"blink camera snapshots before disarming","info":"","x":200,"y":1120,"wires":[]},{"id":"a95defb9.1e3e9","type":"delay","z":"910de724.9d2f28","name":"","pauseType":"random","timeout":"9","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"6","randomLast":"9","randomUnits":"minutes","drop":false,"x":800,"y":760,"wires":[["a22dc48f.9be8f8","ca82e43b.e1f668"]]},{"id":"a22dc48f.9be8f8","type":"api-call-service","z":"910de724.9d2f28","name":"deck blink snapshot","server":"5a2e6e11.51fca8","version":1,"debugenabled":false,"service_domain":"blink","service":"trigger_camera","entityId":"camera.blink_deck_camera","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":990,"y":760,"wires":[[]]},{"id":"68e8c8e3.5f8768","type":"api-call-service","z":"910de724.9d2f28","name":"pub blink snapshot","server":"5a2e6e11.51fca8","version":1,"debugenabled":false,"service_domain":"blink","service":"trigger_camera","entityId":"camera.blink_pub_camera_2","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":990,"y":820,"wires":[[]]},{"id":"ca82e43b.e1f668","type":"delay","z":"910de724.9d2f28","name":"","pauseType":"random","timeout":"9","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"6","randomLast":"9","randomUnits":"minutes","drop":false,"x":800,"y":820,"wires":[["68e8c8e3.5f8768"]]},{"id":"9b67b250.b8251","type":"delay","z":"910de724.9d2f28","name":"","pauseType":"random","timeout":"8","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"4","randomLast":"7","randomUnits":"minutes","drop":false,"x":360,"y":1240,"wires":[["9a3bbc9.da5564"]]},{"id":"9a3bbc9.da5564","type":"api-call-service","z":"910de724.9d2f28","name":"pub blink snapshot","server":"5a2e6e11.51fca8","version":1,"debugenabled":false,"service_domain":"blink","service":"trigger_camera","entityId":"camera.blink_pub_camera_2","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":550,"y":1240,"wires":[[]]},{"id":"5a2e6e11.51fca8","type":"server","z":"","name":"Home Assistant","legacy":false,"addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Thanks

Do you call the blink.blink_update service after taking a picture?

No, I don’t have that in the automation. Should I run that 5 minutes or so after both snapshots have been taken?

Typically the flow I recommend is take snapshot -> wait 10s -> refresh. You could also just wait until the last camera takes a picture and then just do one refresh for the whole system. Manually calling the service forces the library to fetch a new image (by default it only fetches if it thinks there was an update to the thumbnail, which can be flaky if there’s a lot of activity)

2 Likes

Thanks very much for that, I’ve had a play around and that seems to do the trick nicely. Is the blink.blink_update call purely local to HA so I don’t need to worry about the speed of calls to the blink API?

Glad that worked for you!

That service DOES make a few API calls so you still have to worry about the speed. With that said, I know that the blink sync modules call the API every ~1min so if you’re slower than that you should be fine. The place where Blink seems to notice increased activity is with excessive calls to the arm/disarm functions (although, that information is purely anecdotal). At one point I had been taking pictures every ten minutes with my two cameras (so roughly the same interval as you) and was fine. Ran it for a few month with zero issues. Again, though, anecdotal and your mileage may vary, yada yada :smile:

Unfortunately I had the same problem again this morning, even with the refresh :frowning: I have tweaked the delay between the snapshot and the refresh to see if that works and I will check again tomorrow.

Any updates here? I am facing the same issue.

I think a combination of fixes to the Blink integration along with inserting random delays into my Blink automations has settled this down as it has been very stable for a long time now (I hope I haven’t spoken too soon). My automations are in Node Red but this is the export of the Blink camera arming and disarming automations in case they are of use to you:

[{"id":"9068b2b4.49b3a","type":"comment","z":"e292122c.49041","name":"Arm blink cameras at 23:00 or when pub lights have been switched off and then take snapshots","info":"","x":370,"y":2120,"wires":[]},{"id":"740577a5.2eff18","type":"schedex","z":"e292122c.49041","name":"between 23:00 and 23:10","passthroughunhandled":false,"suspended":false,"lat":"","lon":"","ontime":"23:10","ontopic":"","onpayload":"","onoffset":"-10","onrandomoffset":true,"offtime":"","offtopic":"","offpayload":"","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":150,"y":2180,"wires":[["ad23a03.f2ee76"]]},{"id":"a7005a87.34db18","type":"comment","z":"e292122c.49041","name":"Disarm blink cameras in the morning","info":"","x":180,"y":2540,"wires":[]},{"id":"e7a04269.626d8","type":"schedex","z":"e292122c.49041","name":"weekdays between 06:50 and 07:00","passthroughunhandled":false,"suspended":false,"lat":"","lon":"","ontime":"07:00","ontopic":"","onpayload":"","onoffset":"-10","onrandomoffset":true,"offtime":"","offtopic":"","offpayload":"","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":false,"sun":false,"x":190,"y":2600,"wires":[["44a2ba08.c06254"]]},{"id":"44a2ba08.c06254","type":"api-current-state","z":"e292122c.49041","name":"anyone at home?","server":"","version":1,"outputs":2,"halt_if":"home","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"group.family","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":470,"y":2600,"wires":[["ea688692.e9f638"],[]]},{"id":"ea688692.e9f638","type":"api-call-service","z":"e292122c.49041","name":"disarm blink","server":"","version":1,"debugenabled":false,"service_domain":"alarm_control_panel","service":"alarm_disarm","entityId":"alarm_control_panel.blink_home","data":"","dataType":"json","mergecontext":"","output_location":"payload","output_location_type":"none","mustacheAltTags":false,"x":670,"y":2600,"wires":[["3a83fd80.59d122"]]},{"id":"7c48a7a5.895018","type":"api-current-state","z":"e292122c.49041","name":"check blink is disarmed","server":"","version":1,"outputs":2,"halt_if":"disarmed","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"alarm_control_panel.blink_home","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":750,"y":2680,"wires":[["6f1b13f3.07d87c","a20a6e6d.1ccc5"],["ea688692.e9f638"]]},{"id":"6f1b13f3.07d87c","type":"api-call-service","z":"e292122c.49041","name":"mobile notification","server":"","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_guy_s21","entityId":"","data":"{\"title\":\"Blink Cameras\",\"message\":\"The system is disarmed\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":990,"y":2680,"wires":[[]]},{"id":"a6d7536b.6305c","type":"delay","z":"e292122c.49041","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":940,"y":2280,"wires":[["2692cf11.dff4d"]]},{"id":"ad7b8cc9.c1d5a","type":"stoptimer","z":"e292122c.49041","duration":"10","units":"Minute","payloadtype":"num","payloadval":"0","name":"","x":800,"y":2220,"wires":[["ad23a03.f2ee76"],[]]},{"id":"ad23a03.f2ee76","type":"api-current-state","z":"e292122c.49041","name":"pub light state","server":"","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.pub_light","state_type":"str","state_location":"pub","override_payload":"msg","entity_location":"","override_data":"none","blockInputOverrides":false,"x":380,"y":2180,"wires":[["52f1edeb.5d1ff4"]]},{"id":"52f1edeb.5d1ff4","type":"api-current-state","z":"e292122c.49041","name":"garden light state","server":"","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.garden_light","state_type":"str","state_location":"garden","override_payload":"msg","entity_location":"","override_data":"none","blockInputOverrides":false,"x":390,"y":2240,"wires":[["84e355b9.fc7948"]]},{"id":"84e355b9.fc7948","type":"switch","z":"e292122c.49041","name":"are both off?","property":"payload","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"pub = \"on\" and garden = \"on\"","vt":"jsonata"},{"t":"jsonata_exp","v":"pub = \"on\" and garden = \"off\"","vt":"jsonata"},{"t":"jsonata_exp","v":"pub = \"off\" and garden = \"on\"","vt":"jsonata"},{"t":"jsonata_exp","v":"pub = \"off\" and garden = \"off\"","vt":"jsonata"}],"checkall":"true","repair":false,"outputs":4,"x":590,"y":2220,"wires":[["ad7b8cc9.c1d5a"],["ad7b8cc9.c1d5a"],["ad7b8cc9.c1d5a"],["a3db5a56.41ba38"]]},{"id":"dca81b8.a2db0e8","type":"api-call-service","z":"e292122c.49041","name":"mobile notification","server":"","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_guy_s21","entityId":"","data":"{\"title\":\"Blink Cameras\",\"message\":\"The system is armed\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1090,"y":2340,"wires":[[]]},{"id":"a3db5a56.41ba38","type":"api-call-service","z":"e292122c.49041","name":"arm blink","server":"","version":1,"debugenabled":false,"service_domain":"alarm_control_panel","service":"alarm_arm_away","entityId":"alarm_control_panel.blink_home","data":"","dataType":"json","mergecontext":"","output_location":"payload","output_location_type":"none","mustacheAltTags":false,"x":780,"y":2280,"wires":[["a6d7536b.6305c"]]},{"id":"2692cf11.dff4d","type":"api-current-state","z":"e292122c.49041","name":"check blink is armed","server":"","version":1,"outputs":2,"halt_if":"armed_away","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"alarm_control_panel.blink_home","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":820,"y":2340,"wires":[["dca81b8.a2db0e8","4890f0a9.bb089"],["a3db5a56.41ba38"]]},{"id":"3a83fd80.59d122","type":"delay","z":"e292122c.49041","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":840,"y":2600,"wires":[["7c48a7a5.895018"]]},{"id":"4890f0a9.bb089","type":"delay","z":"e292122c.49041","name":"","pauseType":"random","timeout":"9","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"6","randomLast":"9","randomUnits":"minutes","drop":false,"outputs":1,"x":780,"y":2400,"wires":[["90eeffc6.6aa71","98fc5f1a.d29ce"]]},{"id":"90eeffc6.6aa71","type":"api-call-service","z":"e292122c.49041","name":"deck blink snapshot","server":"","version":1,"debugenabled":false,"service_domain":"blink","service":"trigger_camera","entityId":"camera.blink_deck_camera","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":980,"y":2400,"wires":[[]]},{"id":"852766bb.2ce428","type":"api-call-service","z":"e292122c.49041","name":"pub blink snapshot","server":"","version":1,"debugenabled":false,"service_domain":"blink","service":"trigger_camera","entityId":"camera.blink_pub_camera","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":970,"y":2460,"wires":[["80942f3b.1d9c7"]]},{"id":"98fc5f1a.d29ce","type":"delay","z":"e292122c.49041","name":"","pauseType":"random","timeout":"9","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"6","randomLast":"9","randomUnits":"minutes","drop":false,"outputs":1,"x":780,"y":2460,"wires":[["852766bb.2ce428"]]},{"id":"80942f3b.1d9c7","type":"delay","z":"e292122c.49041","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":1160,"y":2460,"wires":[["14c1601a.3d76f"]]},{"id":"14c1601a.3d76f","type":"api-call-service","z":"e292122c.49041","name":"blink update","server":"","version":1,"debugenabled":false,"service_domain":"blink","service":"blink_update","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1330,"y":2460,"wires":[[]]},{"id":"a20a6e6d.1ccc5","type":"delay","z":"e292122c.49041","name":"","pauseType":"random","timeout":"9","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"6","randomLast":"9","randomUnits":"minutes","drop":false,"outputs":1,"x":700,"y":2740,"wires":[["d87c8df2.3f931","7241a189.a3a7c"]]},{"id":"7241a189.a3a7c","type":"api-call-service","z":"e292122c.49041","name":"pub blink snapshot","server":"","version":1,"debugenabled":false,"service_domain":"blink","service":"trigger_camera","entityId":"camera.blink_pub_camera","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":890,"y":2740,"wires":[[]]},{"id":"53313b07.a20874","type":"schedex","z":"e292122c.49041","name":"weekend between 07:50 and 08:00","passthroughunhandled":false,"suspended":false,"lat":"","lon":"","ontime":"08:00","ontopic":"","onpayload":"","onoffset":"-10","onrandomoffset":true,"offtime":"","offtopic":"","offpayload":"","offoffset":0,"offrandomoffset":0,"mon":false,"tue":false,"wed":false,"thu":false,"fri":false,"sat":true,"sun":true,"x":180,"y":2660,"wires":[["44a2ba08.c06254"]]},{"id":"d87c8df2.3f931","type":"delay","z":"e292122c.49041","name":"","pauseType":"random","timeout":"9","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"6","randomLast":"9","randomUnits":"minutes","drop":false,"outputs":1,"x":700,"y":2800,"wires":[["e2ab60d3.ea7c"]]},{"id":"e2ab60d3.ea7c","type":"api-call-service","z":"e292122c.49041","name":"deck blink snapshot","server":"","version":1,"debugenabled":false,"service_domain":"blink","service":"trigger_camera","entityId":"camera.blink_deck_camera","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":890,"y":2800,"wires":[["6d0a54b0.4e3f5c"]]},{"id":"6d0a54b0.4e3f5c","type":"delay","z":"e292122c.49041","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":1080,"y":2800,"wires":[["5a4563ac.6ddacc"]]},{"id":"5a4563ac.6ddacc","type":"api-call-service","z":"e292122c.49041","name":"blink update","server":"","version":1,"debugenabled":false,"service_domain":"blink","service":"blink_update","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1250,"y":2800,"wires":[[]]},{"id":"9978195c.d4f3b8","type":"api-call-service","z":"e292122c.49041","name":"blink update","server":"","version":1,"debugenabled":false,"service_domain":"blink","service":"blink_update","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":630,"y":2920,"wires":[[]]},{"id":"e553ee4c.f8961","type":"delay","z":"e292122c.49041","name":"","pauseType":"random","timeout":"8","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"4","randomLast":"16","randomUnits":"minutes","drop":false,"outputs":1,"x":460,"y":2920,"wires":[["9978195c.d4f3b8"]]},{"id":"f3c27b1f.dfa1c8","type":"inject","z":"e292122c.49041","name":"every 60 mins between 08:00 and 22:00","props":[{"p":"payload"}],"repeat":"","crontab":"0 8-21 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":200,"y":2920,"wires":[["e553ee4c.f8961"]]},{"id":"c2e81fa9.301af","type":"comment","z":"e292122c.49041","name":"blink camera update every 60 mins between 08:00 and 22:00","info":"","x":260,"y":2860,"wires":[]}]

I have also created an automation with a link on the dashboard page next to the camera images to take a new snapshot. Again using Node Red and this is the automation:

[{"id":"e8575db1.0385b","type":"api-call-service","z":"910de724.9d2f28","name":"deck blink snapshot","server":"","version":1,"debugenabled":false,"service_domain":"blink","service":"trigger_camera","entityId":"camera.blink_deck_camera","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":350,"y":1340,"wires":[[]]},{"id":"fde29d36.cf403","type":"api-call-service","z":"910de724.9d2f28","name":"pub blink snapshot","server":"","version":1,"debugenabled":false,"service_domain":"blink","service":"trigger_camera","entityId":"camera.blink_pub_camera","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":350,"y":1400,"wires":[["c0e38767.e39f68"]]},{"id":"c0e38767.e39f68","type":"delay","z":"910de724.9d2f28","name":"","pauseType":"delay","timeout":"30","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":540,"y":1400,"wires":[["947dc69.8469338"]]},{"id":"947dc69.8469338","type":"api-call-service","z":"910de724.9d2f28","name":"blink update","server":"","version":1,"debugenabled":false,"service_domain":"blink","service":"blink_update","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":710,"y":1400,"wires":[[]]},{"id":"f75d2a7d.face18","type":"comment","z":"910de724.9d2f28","name":"Take camera snapshot","info":"","x":140,"y":1280,"wires":[]},{"id":"65b1c6cc.a003a8","type":"server-state-changed","z":"910de724.9d2f28","name":"camera snapshots","server":"","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_button.camera_snapshots","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":130,"y":1340,"wires":[["e8575db1.0385b","fde29d36.cf403"]]}]