Blink XT2, ST hub and Echo

Hi all.
I’m planning to buy a Blink XT2 pair of cameras for external use but I have a couple of questions.
I understand that we need a sync module, but it seems like there is also the option of replacing sync module with an echo.
As I have a ST hub and an echo already do I need the sync module to link to Smart things?
I suppose I could use IFTTT but I wanted a more direct link.

@lee_ness, how did it go with the XT2? Any wisdom or experiences to share?

I just bought a 5-pack, and so far I am very happy with the functionality, other than it is obviously not designed for Smart homes. I found a deprecated interface to it in this community, but no way to enable Smart Home features now that this interface is no longer available.

Blink stops the open-source API as they moved to Amazon. So, it’s not possible to paire the devices with Smartthings and it has never been possible to pair it directly with the Smartthings Hub because it is a Zigbee and Z-Wave Hub. But I take IFTTT and a self-coded Virtual Switch DTH to make these possible.

/**
 *  Copyright 2015 SmartThings
 *
 *  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 *  in compliance with the License. You may obtain a copy of the License at:
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
 *  on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
 *  for the specific language governing permissions and limitations under the License.
 *
 */
metadata {

    definition (name: "Virtual Camera", namespace: "2adventure", author: "2adventure", mnmn:"SmartThings", vid: "generic-camera", ocfDeviceType: "oic.d.camera") {
        capability "Switch" 
        capability "Actuator"
    }
    tiles {
        standardTile("camera", "device.camera", width: 2, height: 2, canChangeIcon: true) {
            state "off", label: '${currentValue}', action: "switch.on", icon: "st.camera.camera", backgroundColor: "#ffffff"
            state "on", label: '${currentValue}', action: "switch.off", icon: "st.camera.camera", backgroundColor: "#00A0DC"
        }
        main "switch"
        details(["switch"])
    }
}

def parse(description) {
}

def on() {
    sendEvent(name: "switch", value: "on")
}

def off() {
    sendEvent(name: "switch", value: "off")
}

But these is only for arm/disarm a System… The DTH for Motion detection is here:

/**
 *  Copyright 2015 SmartThings
 *
 *  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 *  in compliance with the License. You may obtain a copy of the License at:
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
 *  on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
 *  for the specific language governing permissions and limitations under the License.
 *
 */
metadata {

    definition (name: "Virtual Motion Sensor", namespace: "2adventure", author: "2adventure", mnmn:"SmartThings", vid: "generic-motion-2", ocfDeviceType: "x.com.st.d.sensor.motion") {
        capability "Switch" 
        capability "Actuator"
    }
    tiles {
        standardTile("switch", "device.switch", width: 2, height: 2, canChangeIcon: true) {
            state "off", label: '${currentValue}', action: "switch.on", icon: "st.motion.motion.active", backgroundColor: "#ffffff"
            state "on", label: '${currentValue}', action: "switch.off", icon: "st.motion.motion.inactive", backgroundColor: "#00A0DC"
        }
        main "switch"
        details(["switch"])
    }
}

def parse(description) {
}

def on() {
    sendEvent(name: "switch", value: "on")
}

def off() {
    sendEvent(name: "switch", value: "off")
}