Possible Arlo integration options

I also have submitted a few (and more to come) issues on their github site. Wonder how receptive they would be to improving a few things - like making the parameters for videoCapture command to be set by variables instead of hard entered.

1 Like

Do you know of a good way to pull a HTTP Response header out with Node red. That is where the Guardrails and Rate Limits are kept during activity.

Not offhand. If it is in a message though, like it would be from an http-in node, it can be done with split or a function node.

So is this an alternative to AA if we just wanted to arm/disarm the cameras? Seems like a lot of work to set up :sweat:.

I don't know what AA is.

Depends how you do it...

If you do it via polling, and already have node-red like many of us do, it was about 15 seconds to setup.

If you want to do it the definitely better/faster, but much harder, way with events instead of polling then yes it could be time consuming depending on your infrastructure/skills.

For Arlo devices, polling motion is doable because it holds the motion=active event quite a while, so it shouldn't be missed. BUT there is a delay of your polling frequency though, which may not be OK for some uses.

And obviously, aside from Arlo you could bring ANYTHING that is in SmartThings over - devices, 3rd party integrations, other. Possibilities are intriguing!

2 Likes

Could be or not. Depends on how much you want to put in node red. In theory you could have flows that monitor for all the same events in Hubitat and then create the same action to Smartthings. I haven't spent enough time to test all scenarios out though. At the very least you could probably use this with AA just to pass calls to Smartthings in place of Hub Connect. HUBCONNECT is dependent on the Groovy IDE and will stop working when it is retired. This should work after that happens.

So to be clear the dependencies you have to have to use events are. As followes.

  1. A developer workspace with Samsung
  2. Node red avaliable with SSL connectivity to the internet.

Getting the samsung developer workspace ia about a 5 min setup. And easy to do.

Getting node red on the internet safely with SSL is the tricky part. It also depends allot on what you have to run it. There are many ways to accomplish it with some being very easy and some not so much. Just make sure you dont open up your Node red server to the internet without taking the steps to secure it. Bu default the server is open to anyone on your local network.

Once you have the ability to get a ssl connection to Node red from the internet it is very easy to setup event based flows as well. Maybe a 5 min process to do besides setting up the flows.

I am fortunate i already had a reverse proxy with SSL running for other purposes so adding Node red was a piece of cake.

One problem I am trying to wrap my head around are Smartthings API Guardrails and Rate Limits. Once they are considered polling may end up being the best option still.

1 Like

It's @mavrrick58's arlo app (Arlo Assistant)

Indeed! I have long retired my ST hub, but there must be some things that HE doesn't support or might well be easier to do on ST!

I have retired my hub as well. I was going to leave it running until they forced me to abandon it. Simply put I am a casualty of the recent announcement of the 3 hubs that will be retired in June. The ADT Smartthings panel, the Gen 1 hub and the Smartthings Link are all going to be bricks by June 31st. Some will be gone by June 1st. I finished migrating what I could off and now am hub-less. Pretty much all that is left are the Arlo Cameras I have.

Today I spent some time working on a DTH for the Arlo cameras. I was testing with virtual motion sensors and that seems to be working great once I separated each camera into it's own flow. The key as i see it is that there are certain things that can just be polled and other that if you want the best use case may want endpoints with SAS. I am working on creating the flows that would effectively allow me to shut down hub connect completely.

If all you want to do is arm and disarm via Hubitat all you need to do is use SAS to pass the On/Off command to the cameras when you want to arm and disarm them. Keep in mind unless you use Arlo Cloud Arm and disarm in their traditional sense is different. It can also mean different things like do you want to have the cameras armed to send motion detection, but not actually record. That was part of what Arlo Assistant does. It helps provide conditions to control how the recording is taking place. You could continue to do that with SAS as well in different flows. The other option is continue to use a virtual switch in Smartthings to just tell Smartthings when to record and pass the on command through SAS to Smartthings and continue to let Smartthings trigger the recording.

1 Like

Ok I have taken this a step further now and wanted to post a update about using the "Samsung Automation Studio"

I just created a new Virtual Drivers for Arlo Cameras. It is located at Arlo Virtual Driver on Github.

This driver will allow us to use SAS in Node red to present virtual devices of the Arlo cameras in HE. This virtual device will maintain local states. It externalizes with commands of all of the states so that you can use commands with the Hubitat pallet for Node red to update Hubitat based on polls from Smartthings.

I have also setup endpoints in Node Red with SAS so that I can get immediate updates from smartthings when activity takes place for the cameras. I have some cleanup to do with my apps in Smartthings that were created but it apperas to be fully functional.

A summary of what this gives me is as follows.

  1. I get immediate updates for motion so this fully enables the cameras to be used for motoin detection.
  2. HE will be aware if the cameras go ofline.
  3. HEwill be fully aware of the cameras battery states
  4. HE will be fully aware of the cameras Siren states
  5. HE will trigger the sirens if my alarm goes off on my two siren enabled cameras and disable them if when it is disabled.
  6. HE can trigger the cameras to be turned off.

If Samsung ever adds Sound Detection to their Arlo integration we can easily make HE aware of that with this as well. The commands are already part of the driver.

1 Like

I have Updated the Arlo Virtual Driver above. I made a few changes to make it more usable with the Hubitat pallen for Node red. This will also allow you better options for using it with SAMSUNG Automation Studio.
Here are the flows i have setup with Node Red and Samsung Automation studio.

This is a polling flow that will pull the status of the cameras from Samsung and then put the correct state on the Arlo Virtual Driver.

[{"id":"8cc2fea4.c2483","type":"tab","label":"Smartthings Pooling for Hubitat devices","disabled":false,"info":""},{"id":"5cf2a4d9.a17eec","type":"installed-device","z":"8cc2fea4.c2483","name":"Arlo Cameras","alias":"token:9d77ef17","device":{"deviceId":"49c91cd4-76c6-498e-8a0c-c4c0f2e58185","name":"c2c-arlo-pro-3-switch","label":"Back Yard","manufacturerName":"SmartThings","presentationId":"SmartThings-smartthings-c2c_arlo_pro_3","locationId":"6deb2ff0-5ece-4c2c-9709-fc4e2819c574","roomId":"fe89c8a7-7a39-4465-99b5-0db72a4ff4ad","createTime":"2020-12-12T02:37:52.748Z","profile":{"id":"89aefc3a-e210-4678-944c-638d47d296f6"},"viper":{"manufacturerName":"Arlo","modelName":"VMC4040P"},"type":"VIPER","restrictionTier":0,"capabilities":[{"id":"alarm","version":1,"vid":"alarm_v1"},{"id":"battery","version":1,"vid":"battery_v1"},{"id":"healthCheck","version":1,"vid":"healthCheck_v1"},{"id":"motionSensor","version":1,"vid":"motionSensor_v1"},{"id":"refresh","version":1,"vid":"refresh_v1"},{"id":"soundSensor","version":1,"vid":"soundSensor_v1"},{"id":"switch","version":1,"vid":"switch_v1"},{"id":"videoCapture","version":1,"vid":"videoCapture_v1"},{"id":"videoStream","version":1,"vid":"videoStream_v1"}]},"devices":["92edcacd-1f05-4aac-b2a8-1437e4e702bb","7a84818c-fb66-448a-8d5d-ca4125d9d23c","d909bea5-6af5-4b4b-a9c4-86d1f32ab7c3","7288ef28-7dde-4ad8-b8cd-a5b8a1bb9a3d","49c91cd4-76c6-498e-8a0c-c4c0f2e58185","42811632-3af1-42c9-9b2b-0e37925fbc03"],"profileId":"5cf2a4d9.a17eec","x":100,"y":40,"wires":[]},{"id":"c6cc84cf.761938","type":"status-device","z":"8cc2fea4.c2483","name":"Back Yard Camera States","alias":"Back Yard","deviceNodeId":"5cf2a4d9.a17eec","deviceType":"installed-device","deviceId":"49c91cd4-76c6-498e-8a0c-c4c0f2e58185","componentId":"","capabilityId":"healthCheck_v1","attributeId":"DeviceWatch-DeviceStatus","rules":[],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":370,"y":120,"wires":[["11ea2fea.68a03","7a158708.65e3e8","daf8f023.4f117","567ddc21.980d64","8720af53.34cae"]]},{"id":"b539a4d.2810258","type":"debug","z":"8cc2fea4.c2483","name":"Backyard Comands","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1330,"y":120,"wires":[]},{"id":"2ae55ee8.2fd612","type":"hubitat command","z":"8cc2fea4.c2483","deviceLabel":"Backyard Camera","name":"","server":"37a6fe31.441bc2","deviceId":"515","command":"","commandArgs":"","x":1130,"y":120,"wires":[["b539a4d.2810258"]]},{"id":"75c5b60b.39b178","type":"inject","z":"8cc2fea4.c2483","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"60","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":110,"y":480,"wires":[["d22c9149.0f352","c6cc84cf.761938","91428a1e.ec2988","1bd45f24.fe0f71","54cc58a5.8bd8f8","44c5b77a.9ced88"]]},{"id":"d22c9149.0f352","type":"status-device","z":"8cc2fea4.c2483","name":"Front Door Doorbell States","alias":"Front Door Doorbell","deviceNodeId":"5cf2a4d9.a17eec","deviceType":"installed-device","deviceId":"d909bea5-6af5-4b4b-a9c4-86d1f32ab7c3","componentId":"","capabilityId":"healthCheck_v1","attributeId":"DeviceWatch-DeviceStatus","rules":[],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":380,"y":320,"wires":[["1edc128a.7c56ed","cfee088b.c40ef8","a2fe1d0a.48c9f","522abd66.4f5114","fb1fd3cc.c2063"]]},{"id":"883d376c.705e48","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":340,"wires":[["8bca3fdf.8b3b2"]]},{"id":"1edc128a.7c56ed","type":"change","z":"8cc2fea4.c2483","name":"Set device health value","rules":[{"t":"set","p":"command","pt":"msg","to":"healthcheck","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.healthCheck[\"DeviceWatch-DeviceStatus\"].value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":340,"wires":[["883d376c.705e48"]]},{"id":"7a9d9dd9.7f48f4","type":"debug","z":"8cc2fea4.c2483","name":"Front Door Commands","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1340,"y":320,"wires":[]},{"id":"8bca3fdf.8b3b2","type":"hubitat command","z":"8cc2fea4.c2483","deviceLabel":"Front Door Doorbell","name":"","server":"37a6fe31.441bc2","deviceId":"511","command":"","commandArgs":"","x":1130,"y":320,"wires":[["7a9d9dd9.7f48f4"]]},{"id":"522abd66.4f5114","type":"change","z":"8cc2fea4.c2483","name":"Set Battery command","rules":[{"t":"set","p":"command","pt":"msg","to":"battery","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.battery.battery.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":380,"wires":[["b0bfe313.995bd"]]},{"id":"b0bfe313.995bd","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":380,"wires":[["8bca3fdf.8b3b2"]]},{"id":"cfee088b.c40ef8","type":"debug","z":"8cc2fea4.c2483","name":"Front Door Payload research","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":380,"y":280,"wires":[]},{"id":"a2fe1d0a.48c9f","type":"change","z":"8cc2fea4.c2483","name":"Set Alarm Command and parm","rules":[{"t":"set","p":"command","pt":"msg","to":"alarm","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.alarm.alarm.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":730,"y":260,"wires":[["2857e953.5106d6"]]},{"id":"2857e953.5106d6","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":260,"wires":[["8bca3fdf.8b3b2"]]},{"id":"fb1fd3cc.c2063","type":"change","z":"8cc2fea4.c2483","name":"Set Switch command ","rules":[{"t":"set","p":"command","pt":"msg","to":"payload.components.main.switch.switch.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":300,"wires":[["e031c975.f5fde8"]]},{"id":"e031c975.f5fde8","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":300,"wires":[["8bca3fdf.8b3b2"]]},{"id":"9cf24a96.bd8c18","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":140,"wires":[["2ae55ee8.2fd612"]]},{"id":"daf8f023.4f117","type":"change","z":"8cc2fea4.c2483","name":"Set device health value","rules":[{"t":"set","p":"command","pt":"msg","to":"healthcheck","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.healthCheck[\"DeviceWatch-DeviceStatus\"].value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":140,"wires":[["9cf24a96.bd8c18"]]},{"id":"567ddc21.980d64","type":"change","z":"8cc2fea4.c2483","name":"Set Battery command","rules":[{"t":"set","p":"command","pt":"msg","to":"battery","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.battery.battery.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":180,"wires":[["b32ac47f.ac3188"]]},{"id":"b32ac47f.ac3188","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":180,"wires":[["2ae55ee8.2fd612"]]},{"id":"11ea2fea.68a03","type":"change","z":"8cc2fea4.c2483","name":"Set Alarm Command and parm","rules":[{"t":"set","p":"command","pt":"msg","to":"alarm","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.alarm.alarm.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":730,"y":60,"wires":[["e8102895.b91498"]]},{"id":"e8102895.b91498","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":60,"wires":[["2ae55ee8.2fd612"]]},{"id":"7a158708.65e3e8","type":"change","z":"8cc2fea4.c2483","name":"Set Switch command ","rules":[{"t":"set","p":"command","pt":"msg","to":"payload.components.main.switch.switch.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":100,"wires":[["9ac5b38.49cf15"]]},{"id":"9ac5b38.49cf15","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":100,"wires":[["2ae55ee8.2fd612"]]},{"id":"8720af53.34cae","type":"debug","z":"8cc2fea4.c2483","name":"Backyard payload Research","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":380,"y":80,"wires":[]},{"id":"91428a1e.ec2988","type":"status-device","z":"8cc2fea4.c2483","name":"Driveway  States","alias":"Driveway","deviceNodeId":"5cf2a4d9.a17eec","deviceType":"installed-device","deviceId":"7288ef28-7dde-4ad8-b8cd-a5b8a1bb9a3d","componentId":"","capabilityId":"healthCheck_v1","attributeId":"DeviceWatch-DeviceStatus","rules":[],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":340,"y":500,"wires":[["27a2653c.0731da","d5eeac49.abdaa","68313e87.09bd6","e59ee776.a729e8"]]},{"id":"64f11b3d.3fbe74","type":"debug","z":"8cc2fea4.c2483","name":"Driveway Commands","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1340,"y":500,"wires":[]},{"id":"678d838c.78450c","type":"hubitat command","z":"8cc2fea4.c2483","deviceLabel":"Driveway Camera","name":"","server":"37a6fe31.441bc2","deviceId":"516","command":"","commandArgs":"","x":1130,"y":500,"wires":[["64f11b3d.3fbe74"]]},{"id":"36e992ee.c97d2e","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":500,"wires":[["678d838c.78450c"]]},{"id":"68313e87.09bd6","type":"change","z":"8cc2fea4.c2483","name":"Set device health value","rules":[{"t":"set","p":"command","pt":"msg","to":"healthcheck","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.healthCheck[\"DeviceWatch-DeviceStatus\"].value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":500,"wires":[["36e992ee.c97d2e"]]},{"id":"e59ee776.a729e8","type":"change","z":"8cc2fea4.c2483","name":"Set Battery command","rules":[{"t":"set","p":"command","pt":"msg","to":"battery","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.battery.battery.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":540,"wires":[["2270d760.9c1fa8"]]},{"id":"2270d760.9c1fa8","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":540,"wires":[["678d838c.78450c"]]},{"id":"d5eeac49.abdaa","type":"change","z":"8cc2fea4.c2483","name":"Set Switch command ","rules":[{"t":"set","p":"command","pt":"msg","to":"payload.components.main.switch.switch.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":460,"wires":[["2b989dad.223b02"]]},{"id":"2b989dad.223b02","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":460,"wires":[["678d838c.78450c"]]},{"id":"27a2653c.0731da","type":"debug","z":"8cc2fea4.c2483","name":"Driveway Payload Research","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":380,"y":460,"wires":[]},{"id":"1bd45f24.fe0f71","type":"status-device","z":"8cc2fea4.c2483","name":"Breakfast Room States","alias":"Breakfast Room","deviceNodeId":"5cf2a4d9.a17eec","deviceType":"installed-device","deviceId":"42811632-3af1-42c9-9b2b-0e37925fbc03","componentId":"","capabilityId":"healthCheck_v1","attributeId":"DeviceWatch-DeviceStatus","rules":[],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":370,"y":660,"wires":[["fa9ecafa.c8cfe8","c10b1e0a.843db","2a1ddd8b.5c9fc2","30f63793.db1ad8"]]},{"id":"72f3b1bc.936b2","type":"debug","z":"8cc2fea4.c2483","name":"Breakfast Room Commands ","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1400,"y":660,"wires":[]},{"id":"77d4df64.8f623","type":"hubitat command","z":"8cc2fea4.c2483","deviceLabel":"Breakfast Room Camera","name":"","server":"37a6fe31.441bc2","deviceId":"513","command":"","commandArgs":"","x":1150,"y":660,"wires":[["72f3b1bc.936b2"]]},{"id":"d36d9e23.f6e89","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":660,"wires":[["77d4df64.8f623"]]},{"id":"2a1ddd8b.5c9fc2","type":"change","z":"8cc2fea4.c2483","name":"Set device health value","rules":[{"t":"set","p":"command","pt":"msg","to":"healthcheck","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.healthCheck[\"DeviceWatch-DeviceStatus\"].value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":660,"wires":[["d36d9e23.f6e89"]]},{"id":"30f63793.db1ad8","type":"change","z":"8cc2fea4.c2483","name":"Set Battery command","rules":[{"t":"set","p":"command","pt":"msg","to":"battery","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.battery.battery.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":700,"wires":[["f4dfefdc.73318"]]},{"id":"f4dfefdc.73318","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":700,"wires":[["77d4df64.8f623"]]},{"id":"c10b1e0a.843db","type":"change","z":"8cc2fea4.c2483","name":"Set Switch command ","rules":[{"t":"set","p":"command","pt":"msg","to":"payload.components.main.switch.switch.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":620,"wires":[["b84d271b.7b4af8"]]},{"id":"b84d271b.7b4af8","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":620,"wires":[["77d4df64.8f623"]]},{"id":"fa9ecafa.c8cfe8","type":"debug","z":"8cc2fea4.c2483","name":"Breakfast Room Payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":370,"y":620,"wires":[]},{"id":"54cc58a5.8bd8f8","type":"status-device","z":"8cc2fea4.c2483","name":"Great Room Camera States","alias":"Great Room Camera","deviceNodeId":"5cf2a4d9.a17eec","deviceType":"installed-device","deviceId":"92edcacd-1f05-4aac-b2a8-1437e4e702bb","componentId":"","capabilityId":"healthCheck_v1","attributeId":"DeviceWatch-DeviceStatus","rules":[],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":380,"y":800,"wires":[["911391ec.59898","86cdb6ee.1287b8","72bd280e.8caf08"]]},{"id":"82bc4c41.9a9ed","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":820,"wires":[["4e78659e.7a8c1c"]]},{"id":"72bd280e.8caf08","type":"change","z":"8cc2fea4.c2483","name":"Set device health value","rules":[{"t":"set","p":"command","pt":"msg","to":"healthcheck","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.healthCheck[\"DeviceWatch-DeviceStatus\"].value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":820,"wires":[["82bc4c41.9a9ed"]]},{"id":"86cdb6ee.1287b8","type":"change","z":"8cc2fea4.c2483","name":"Set Switch command ","rules":[{"t":"set","p":"command","pt":"msg","to":"payload.components.main.switch.switch.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":780,"wires":[["818630ec.6c21f"]]},{"id":"818630ec.6c21f","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":780,"wires":[["4e78659e.7a8c1c"]]},{"id":"911391ec.59898","type":"debug","z":"8cc2fea4.c2483","name":"Greatroom Payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":350,"y":760,"wires":[]},{"id":"4e78659e.7a8c1c","type":"hubitat command","z":"8cc2fea4.c2483","deviceLabel":"Great Room Camera","name":"","server":"37a6fe31.441bc2","deviceId":"514","command":"","commandArgs":"","x":1140,"y":800,"wires":[["6e45416d.aa65c"]]},{"id":"6e45416d.aa65c","type":"debug","z":"8cc2fea4.c2483","name":"Great Room Commands","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1390,"y":800,"wires":[]},{"id":"44c5b77a.9ced88","type":"status-device","z":"8cc2fea4.c2483","name":"Kitchen Camera States","alias":"Great Room Camera","deviceNodeId":"5cf2a4d9.a17eec","deviceType":"installed-device","deviceId":"92edcacd-1f05-4aac-b2a8-1437e4e702bb","componentId":"","capabilityId":"healthCheck_v1","attributeId":"DeviceWatch-DeviceStatus","rules":[],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":370,"y":920,"wires":[["df606a18.264998","ba91e69d.ea74c8","4deca052.dbd5d"]]},{"id":"203dc463.0f7a0c","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":940,"wires":[["49dfd65.195a528"]]},{"id":"4deca052.dbd5d","type":"change","z":"8cc2fea4.c2483","name":"Set device health value","rules":[{"t":"set","p":"command","pt":"msg","to":"healthcheck","tot":"str"},{"t":"set","p":"arguments","pt":"msg","to":"payload.components.main.healthCheck[\"DeviceWatch-DeviceStatus\"].value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":940,"wires":[["203dc463.0f7a0c"]]},{"id":"ba91e69d.ea74c8","type":"change","z":"8cc2fea4.c2483","name":"Set Switch command ","rules":[{"t":"set","p":"command","pt":"msg","to":"payload.components.main.switch.switch.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":900,"wires":[["69f33028.ec7ca"]]},{"id":"69f33028.ec7ca","type":"rbe","z":"8cc2fea4.c2483","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":950,"y":900,"wires":[["49dfd65.195a528"]]},{"id":"df606a18.264998","type":"debug","z":"8cc2fea4.c2483","name":"Kitchen Payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":340,"y":880,"wires":[]},{"id":"49dfd65.195a528","type":"hubitat command","z":"8cc2fea4.c2483","deviceLabel":"Kitchen Camera","name":"","server":"37a6fe31.441bc2","deviceId":"517","command":"","commandArgs":"","x":1120,"y":920,"wires":[["a2710cf3.777bd"]]},{"id":"a2710cf3.777bd","type":"debug","z":"8cc2fea4.c2483","name":"Kitchen Commands","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1370,"y":920,"wires":[]},{"id":"71802c7e.dc2ed4","type":"comment","z":"8cc2fea4.c2483","name":"Arlo Pro3","info":"","x":320,"y":160,"wires":[]},{"id":"df6db5a3.8d26a8","type":"comment","z":"8cc2fea4.c2483","name":"Arlo Video Door Bell","info":"","x":350,"y":360,"wires":[]},{"id":"161fcf30.286f31","type":"comment","z":"8cc2fea4.c2483","name":"Arlo Pro 2","info":"","x":320,"y":540,"wires":[]},{"id":"36b465ab.1c4ada","type":"comment","z":"8cc2fea4.c2483","name":"Arlo Pro2","info":"","x":320,"y":700,"wires":[]},{"id":"4d925313.4e8edc","type":"comment","z":"8cc2fea4.c2483","name":"Arlo Q Cameras","info":"","x":340,"y":840,"wires":[]},{"id":"7c6d9420.2102dc","type":"comment","z":"8cc2fea4.c2483","name":"Arlo Q Cameras","info":"","x":340,"y":960,"wires":[]},{"id":"37a6fe31.441bc2","type":"hubitat config","name":"Main Hub","usetls":false,"host":"192.168.86.35","port":"80","appId":"563","nodeRedServer":"http://192.168.86.43:1880","webhookPath":"/hubitat/webhook","autoRefresh":true,"useWebsocket":false,"colorEnabled":false,"color":"#ace043"}]

This flow varies a little bit based what camera model is used, but shows how to get the status into Smarthings using a samsung PAT token with the Hubitat node red pallet and the Arlo Virtual Driver. You will need to provide a PAT token for this flow provided by Samsung. The token will be added to the My Device node in the upper left of the flow.

This flow show how to send commands based on changes with the Arlo Virtual Driver back to Smartthings based on changes in Hubitat.

[{"id":"e92dc518.89f428","type":"tab","label":"Hubitat Back To Smartthings","disabled":false,"info":""},{"id":"1f224f56.6598a1","type":"hubitat device","z":"e92dc518.89f428","deviceLabel":"Breakfast Room Camera","name":"","server":"37a6fe31.441bc2","deviceId":"513","attribute":"switch","sendEvent":true,"x":170,"y":80,"wires":[["b5a2cff0.798f6"]]},{"id":"6b40678c.0e8258","type":"command-device","z":"e92dc518.89f428","name":"Breakfast Room on","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"42811632-3af1-42c9-9b2b-0e37925fbc03","capabilityId":"switch_v1","attributeId":"on","rules":[{"capaId":"switch_v1","attrId":"on","args":[]}],"logging":false,"outputs":1,"x":630,"y":60,"wires":[[]]},{"id":"b5a2cff0.798f6","type":"switch","z":"e92dc518.89f428","name":"","property":"payload.value","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":80,"wires":[["6b40678c.0e8258"],["12910b4b.9fe825"]]},{"id":"d4d3cd8a.0abcb","type":"installed-device","z":"e92dc518.89f428","name":"Arlo Cameras","alias":"token:9d77ef17","device":{"deviceId":"42811632-3af1-42c9-9b2b-0e37925fbc03","name":"c2c-arlo-go-switch","label":"Breakfast Room","manufacturerName":"SmartThings","presentationId":"SmartThings-smartthings-c2c_arlo_go","locationId":"6deb2ff0-5ece-4c2c-9709-fc4e2819c574","roomId":"fe89c8a7-7a39-4465-99b5-0db72a4ff4ad","createTime":"2020-12-12T02:37:52.746Z","profile":{"id":"c6adb5c6-6fc1-49bc-9580-88ff9c6d9e10"},"viper":{"manufacturerName":"Arlo","modelName":"VMC4030P"},"type":"VIPER","restrictionTier":0,"capabilities":[{"id":"battery","version":1,"vid":"battery_v1"},{"id":"healthCheck","version":1,"vid":"healthCheck_v1"},{"id":"motionSensor","version":1,"vid":"motionSensor_v1"},{"id":"refresh","version":1,"vid":"refresh_v1"},{"id":"soundSensor","version":1,"vid":"soundSensor_v1"},{"id":"switch","version":1,"vid":"switch_v1"},{"id":"videoCapture","version":1,"vid":"videoCapture_v1"},{"id":"videoStream","version":1,"vid":"videoStream_v1"}]},"devices":["92edcacd-1f05-4aac-b2a8-1437e4e702bb","7a84818c-fb66-448a-8d5d-ca4125d9d23c","d909bea5-6af5-4b4b-a9c4-86d1f32ab7c3","7288ef28-7dde-4ad8-b8cd-a5b8a1bb9a3d","49c91cd4-76c6-498e-8a0c-c4c0f2e58185","42811632-3af1-42c9-9b2b-0e37925fbc03"],"profileId":"d4d3cd8a.0abcb","x":110,"y":40,"wires":[]},{"id":"12910b4b.9fe825","type":"command-device","z":"e92dc518.89f428","name":"Breakfast Room Off","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"42811632-3af1-42c9-9b2b-0e37925fbc03","capabilityId":"switch_v1","attributeId":"off","rules":[{"capaId":"switch_v1","attrId":"off","args":[]}],"logging":false,"outputs":1,"x":630,"y":100,"wires":[[]]},{"id":"c87ab6c0.f485b8","type":"hubitat device","z":"e92dc518.89f428","deviceLabel":"Kitchen Camera","name":"","server":"37a6fe31.441bc2","deviceId":"517","attribute":"switch","sendEvent":true,"x":140,"y":180,"wires":[["c1dbfca.d3fed"]]},{"id":"c1dbfca.d3fed","type":"switch","z":"e92dc518.89f428","name":"","property":"payload.value","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":180,"wires":[["ea78455f.b96878"],["932d5dca.263b3"]]},{"id":"ea78455f.b96878","type":"command-device","z":"e92dc518.89f428","name":"Kitchen on","alias":"on","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"7a84818c-fb66-448a-8d5d-ca4125d9d23c","componentId":"","capabilityId":"switch_v1","attributeId":"on","rules":[{"capaId":"switch_v1","attrId":"on","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":610,"y":160,"wires":[[]]},{"id":"932d5dca.263b3","type":"command-device","z":"e92dc518.89f428","name":"Kitchen off","alias":"off","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"7a84818c-fb66-448a-8d5d-ca4125d9d23c","componentId":"","capabilityId":"switch_v1","attributeId":"off","rules":[{"capaId":"switch_v1","attrId":"off","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":610,"y":200,"wires":[[]]},{"id":"9da3a67c.451dc8","type":"hubitat device","z":"e92dc518.89f428","deviceLabel":"Great Room Camera","name":"","server":"37a6fe31.441bc2","deviceId":"514","attribute":"switch","sendEvent":true,"x":160,"y":280,"wires":[["c02c153.a5a93e8"]]},{"id":"c02c153.a5a93e8","type":"switch","z":"e92dc518.89f428","name":"","property":"payload.value","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":280,"wires":[["2fb51ba1.bc28a4"],["302a5828.0afba8"]]},{"id":"2fb51ba1.bc28a4","type":"command-device","z":"e92dc518.89f428","name":"Great Room Camera on","alias":"on","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"92edcacd-1f05-4aac-b2a8-1437e4e702bb","componentId":"","capabilityId":"switch_v1","attributeId":"on","rules":[{"capaId":"switch_v1","attrId":"on","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":650,"y":260,"wires":[[]]},{"id":"302a5828.0afba8","type":"command-device","z":"e92dc518.89f428","name":"Great Room Camera off","alias":"off","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"92edcacd-1f05-4aac-b2a8-1437e4e702bb","componentId":"","capabilityId":"switch_v1","attributeId":"off","rules":[{"capaId":"switch_v1","attrId":"off","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":650,"y":300,"wires":[[]]},{"id":"59c2a217.b2084c","type":"hubitat device","z":"e92dc518.89f428","deviceLabel":"Driveway Camera","name":"","server":"37a6fe31.441bc2","deviceId":"516","attribute":"switch","sendEvent":true,"x":150,"y":380,"wires":[["44de228e.73cacc"]]},{"id":"44de228e.73cacc","type":"switch","z":"e92dc518.89f428","name":"","property":"payload.value","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":380,"wires":[["eda3a28.7e8e06"],["6300b052.a61b4"]]},{"id":"eda3a28.7e8e06","type":"command-device","z":"e92dc518.89f428","name":"Driveway Camera on","alias":"on","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"7288ef28-7dde-4ad8-b8cd-a5b8a1bb9a3d","componentId":"","capabilityId":"switch_v1","attributeId":"on","rules":[{"capaId":"switch_v1","attrId":"on","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":640,"y":360,"wires":[[]]},{"id":"6300b052.a61b4","type":"command-device","z":"e92dc518.89f428","name":"Driveway Camera off","alias":"off","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"7288ef28-7dde-4ad8-b8cd-a5b8a1bb9a3d","componentId":"","capabilityId":"switch_v1","attributeId":"off","rules":[{"capaId":"switch_v1","attrId":"off","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":640,"y":400,"wires":[[]]},{"id":"82c35db3.b3714","type":"hubitat device","z":"e92dc518.89f428","deviceLabel":"Backyard Camera","name":"","server":"37a6fe31.441bc2","deviceId":"515","attribute":"switch","sendEvent":true,"x":150,"y":480,"wires":[["fc93d203.ede05"]]},{"id":"fc93d203.ede05","type":"switch","z":"e92dc518.89f428","name":"","property":"payload.value","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":480,"wires":[["2a067946.521436"],["39e1b9df.af11f6"]]},{"id":"2a067946.521436","type":"command-device","z":"e92dc518.89f428","name":"Backyard Camera on","alias":"on","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"49c91cd4-76c6-498e-8a0c-c4c0f2e58185","componentId":"","capabilityId":"switch_v1","attributeId":"on","rules":[{"capaId":"switch_v1","attrId":"on","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":640,"y":460,"wires":[[]]},{"id":"39e1b9df.af11f6","type":"command-device","z":"e92dc518.89f428","name":"Backyard Camera off","alias":"off","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"49c91cd4-76c6-498e-8a0c-c4c0f2e58185","componentId":"","capabilityId":"switch_v1","attributeId":"off","rules":[{"capaId":"switch_v1","attrId":"off","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":640,"y":500,"wires":[[]]},{"id":"d2940e7c.b38ff","type":"hubitat device","z":"e92dc518.89f428","deviceLabel":"House Siren","name":"","server":"37a6fe31.441bc2","deviceId":"338","attribute":"alarm","sendEvent":true,"x":130,"y":680,"wires":[["a5c4b60d.95f3b8"]]},{"id":"a5c4b60d.95f3b8","type":"switch","z":"e92dc518.89f428","name":"","property":"payload.value","propertyType":"msg","rules":[{"t":"eq","v":"off","vt":"str"},{"t":"eq","v":"both","vt":"str"},{"t":"eq","v":"siren","vt":"str"},{"t":"eq","v":"strobe","vt":"str"}],"checkall":"true","repair":false,"outputs":4,"x":290,"y":680,"wires":[["809fa5a0.d76e78","4199e9ae.1e9c58"],["976a571d.3e65d8","2d6fe9a0.7d09e6"],["63b3a118.07209","44ad7d2f.adbd24"],["7aa6d6bb.f58b58","e9a221af.69882"]]},{"id":"809fa5a0.d76e78","type":"command-device","z":"e92dc518.89f428","name":"Backyard Siren (off)","alias":"off","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"49c91cd4-76c6-498e-8a0c-c4c0f2e58185","componentId":"","capabilityId":"alarm_v1","attributeId":"off","rules":[{"capaId":"alarm_v1","attrId":"off","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":630,"y":540,"wires":[[]]},{"id":"4199e9ae.1e9c58","type":"command-device","z":"e92dc518.89f428","name":"Front Door Doorbell Siren (off)","alias":"off","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"d909bea5-6af5-4b4b-a9c4-86d1f32ab7c3","componentId":"","capabilityId":"alarm_v1","attributeId":"off","rules":[{"capaId":"alarm_v1","attrId":"off","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":670,"y":580,"wires":[[]]},{"id":"976a571d.3e65d8","type":"command-device","z":"e92dc518.89f428","name":"Backyard Siren (both)","alias":"both","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"49c91cd4-76c6-498e-8a0c-c4c0f2e58185","componentId":"","capabilityId":"alarm_v1","attributeId":"both","rules":[{"capaId":"alarm_v1","attrId":"both","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":640,"y":620,"wires":[[]]},{"id":"2d6fe9a0.7d09e6","type":"command-device","z":"e92dc518.89f428","name":"Front Door Doorbell Siren (both)","alias":"both","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"d909bea5-6af5-4b4b-a9c4-86d1f32ab7c3","componentId":"","capabilityId":"alarm_v1","attributeId":"both","rules":[{"capaId":"alarm_v1","attrId":"both","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":670,"y":660,"wires":[[]]},{"id":"63b3a118.07209","type":"command-device","z":"e92dc518.89f428","name":"Backyard Siren (siren)","alias":"siren","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"49c91cd4-76c6-498e-8a0c-c4c0f2e58185","componentId":"","capabilityId":"alarm_v1","attributeId":"siren","rules":[{"capaId":"alarm_v1","attrId":"siren","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":640,"y":700,"wires":[[]]},{"id":"44ad7d2f.adbd24","type":"command-device","z":"e92dc518.89f428","name":"Front Door Doorbell Siren (siren)","alias":"siren","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"d909bea5-6af5-4b4b-a9c4-86d1f32ab7c3","componentId":"","capabilityId":"alarm_v1","attributeId":"siren","rules":[{"capaId":"alarm_v1","attrId":"siren","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":670,"y":740,"wires":[[]]},{"id":"7aa6d6bb.f58b58","type":"command-device","z":"e92dc518.89f428","name":"Backyard Siren (strobe)","alias":"strobe","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"49c91cd4-76c6-498e-8a0c-c4c0f2e58185","componentId":"","capabilityId":"alarm_v1","attributeId":"strobe","rules":[{"capaId":"alarm_v1","attrId":"strobe","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":650,"y":780,"wires":[[]]},{"id":"e9a221af.69882","type":"command-device","z":"e92dc518.89f428","name":"Front Door Doorbell Siren (strobe)","alias":"strobe","deviceNodeId":"d4d3cd8a.0abcb","deviceType":"installed-device","deviceId":"d909bea5-6af5-4b4b-a9c4-86d1f32ab7c3","componentId":"","capabilityId":"alarm_v1","attributeId":"strobe","rules":[{"capaId":"alarm_v1","attrId":"strobe","args":[]}],"logging":false,"loggingEditor":false,"loggingConsole":false,"outputs":1,"x":680,"y":820,"wires":[[]]},{"id":"37a6fe31.441bc2","type":"hubitat config","name":"Main Hub","usetls":false,"host":"192.168.86.35","port":"80","appId":"563","nodeRedServer":"http://192.168.86.43:1880","webhookPath":"/hubitat/webhook","autoRefresh":true,"useWebsocket":false,"colorEnabled":false,"color":"#ace043"}]

This flow shows that not only can we poll the state of the cameras in Smartthings, but we can also send commands to devices as well The examples here show that we can turn the cameras on and off and even activate the Alarm state in the newer cameras that support it. This will also require the PAT toke in the "My Devices" node in the upper left corner

This flow is a example of a Endpoint flow with Samsung Automation Studio. This flow allows Node-Red to receive motion events from Smartthings for the cameras.

[{"id":"46f36378.f8b8bc","type":"tab","label":"Smartthing Arlo Camera Frontdoor endpoint","disabled":false,"info":""},{"id":"47326a59.108f24","type":"device-profile","z":"46f36378.f8b8bc","name":"Front Door Doorbell Camera","capabilityId":"motionSensor_v1","profileId":"47326a59.108f24","cpType":"standard","x":140,"y":60,"wires":[]},{"id":"741b5b46.46af14","type":"automation","z":"46f36378.f8b8bc","name":"Front Door Doorbell Endpoint","method":"post","url":"/arloFrontDoorDoorbell","urlDate":1617046329754,"eqtype":"","loggingEditor":true,"loggingConsole":false,"x":140,"y":140,"wires":[["4a20ff87.2b483"]]},{"id":"4a20ff87.2b483","type":"event-device","z":"46f36378.f8b8bc","name":"Camera Motion","deviceNodeId":"47326a59.108f24","deviceType":"device-profile","deviceId":"47326a59.108f24","capabilityId":"motionSensor_v1","attributeId":"motion","rules":[{"capaId":"motionSensor_v1","attrId":"motion","operator":"eq","valueType":"string","value":"active"},{"capaId":"motionSensor_v1","attrId":"motion","operator":"eq","valueType":"string","value":"inactive"}],"logging":false,"outputs":2,"x":360,"y":140,"wires":[["1b508113.9c1fff"],["1b508113.9c1fff"]]},{"id":"cb91cf86.5615","type":"hubitat command","z":"46f36378.f8b8bc","deviceLabel":"Front Door Doorbell","name":"","server":"37a6fe31.441bc2","deviceId":"511","command":"motion","commandArgs":"","x":750,"y":140,"wires":[[]]},{"id":"1b508113.9c1fff","type":"change","z":"46f36378.f8b8bc","name":"Setup Command","rules":[{"t":"set","p":"command","pt":"msg","to":"payload.attribute","tot":"msg"},{"t":"set","p":"arguments","pt":"msg","to":"payload.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":550,"y":140,"wires":[["cb91cf86.5615"]]},{"id":"37a6fe31.441bc2","type":"hubitat config","name":"Main Hub","usetls":false,"host":"192.168.86.35","port":"80","appId":"563","nodeRedServer":"http://192.168.86.43:1880","webhookPath":"/hubitat/webhook","autoRefresh":true,"useWebsocket":false,"colorEnabled":false,"color":"#ace043"}]

This simple flow allows the creation of a simple smartapp for Smartthing to send events to when motion occurs. Through testing I found that it is better to only have one endpoint per flow. Something seems to go wrong on the Smartthings side when including more then one endpoint in a flow when doing the app install.

With the endpoint created you do need to go into Smartthings Developer work space and register the endpoint. This means giving them the URL to the endpoint and a name to the app in Smartthings. This does mean the endpoint needs to be available on the internet and secured with TLS.

2 Likes

All this because Hubitat can't get around to writing an Arlo integration. It's so irritating.

For what it’s worth, and I may be duplicating effort, I created a quick Arlo Camera device to use with the SmartThings and Hubitat nodes:

Arlo Camera Device

and a 6 camera sample flow to support (using polling):
SmartThings - Hubitat Arlo Flow

I have the clip capture working from end to end, but haven’t found a way to pull it back into HE yet. (Pulling back the Clip object from ST, but it is worthless).

This is in some way some duplication, but I haven't done anything with looking at the video capture functionality. My driver is also very simplistic compared to yours. Just different ways of doing things I guess. But i am interested in knowing more about your Video record routine. I am not sure about bringing the video back to Hubitat, but at least triggering a recording may be nice to have from Hubitat.

The capture command takes 3 timestamp parameters (as near as I can tell: command start, capture start, and capture end), but after I coded for that I discovered they don’t seem to be used by the ST node. Capture is 60 seconds long, no matter what you send it (timestamps can actually be in the past and it still works).

1 Like

That is actually a change that took place with the new Smarthings arlo integration that was deployed late last year. Prior to that you could specify values and determine the record time. That is cool to hear that it doesn't matter though so then submitting the command should be easy.

I will try it out myself.

I wonder if at some point Samsung starts charging for their dev service. Might be careful committing fully to this option lest another IFTTT debacle hits...

So i have tried a few different things, and so far any time i submit the record command from Node Red I get. "[error] 424, null"

It really stinks how they setup the pallet for SAS because allot of the information that would help make it easy to share gets lost on the flow. What version of the pallet are you running?

Looks like node-red-contrib-samsung-automation-studio-nodes 1.1.0 & node-red-contrib-hubitat 1.6.2

I just updated the first post in this thread. It should give anyone that isn't familiar with running server software at home a good place to start to load Node Red and other needed things.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.