I just ordered 5 of these cameras and was disappointed that there isn’t integration on motion to SHM. I am just getting started with SHM so not sure how I am going to use the motion with all the cats in my house but may put a couple cameras in covered locations outside.
In order to get this to work here is what I did.
created a gmail account for the camera (will need to do this for each camera)
created an ifttt account for the camera
created an applet to turn on a switch when email sent on motion
now for the switch. I created a custom ‘simulated motion sensor’ that is also a ‘switch’ when the switch is turned on in turns on motion then immediately turns off the switch and motion. Thus creating a ‘pulse’ of motion.
Since I don’t have full SHM set up yet I used a custom rule to give me a push notification on motion through SHM. I verified that when a clip is stored on the camera due to motion all the dots get connected and the notification fired a few seconds l later.
I think this is usable for my purposes. Here is the device handler for the motion/switch. I would enjoy some feedback if this is useful for others or not.
Jason
/**
*/
metadata {
// Automatically generated. Make future change here.
definition (name: “SmartCam Motion Sensor”, namespace: “smartthings/testing”, author: “Jason”) {
capability "Motion Sensor"
capability "Switch"
capability "Relay Switch"
command "active"
command "inactive"
command "onPhysical"
command “offPhysical”
}
simulator {
status "active": "motion:active"
status "inactive": "motion:inactive"
}
tiles {
standardTile("motion", "device.motion", width: 2, height: 2) {
state("inactive", label:'no motion', icon:"st.motion.motion.inactive", backgroundColor:"#ffffff", action: "active")
state("active", label:'motion', icon:"st.motion.motion.active", backgroundColor:"#53a7c0", action: "inactive")
}
standardTile("on", "device.switch", decoration: "flat") {
state "default", label: 'test motion', action: "onPhysical", backgroundColor: "#ffffff"
}
main "motion"
details (["motion","on"])
}
}
def parse(String description) {
def pair = description.split(":")
createEvent(name: pair[0].trim(), value: pair[1].trim())
}
def active() {
log.trace "active()"
sendEvent(name: “motion”, value: “active”)
}
def inactive() {
log.trace "inactive()"
sendEvent(name: “motion”, value: “inactive”)
}
def on() {
log.trace "$version on()"
sendEvent(name: “motion”, value: “active”)
off()
}
def off() {
log.trace "$version off()"
sendEvent(name: “motion”, value: “inactive”)
}
def onPhysical() {
log.trace "$version onPhysical()"
sendEvent(name: “motion”, value: “active”)
offPhysical()
}
def offPhysical() {
log.trace "$version offPhysical()"
sendEvent(name: “motion”, value: “inactive”)
}