Did anyone get the Securifi SZ-ESW01 outlets to work with Smarthings V2?

Good luck with that, I could never get the energy monitoring with A+, never mind with ST. Even after uncountable firmware updates to my plug. As usual according the Securifi I was the only person in the world with the problem :smiley:

Same issues with A+. I left it as a HA solution. As far as the HEM, I did ALOT of playing around. I actually have two of them in my system. One of them set up just fine with ST. The other one had to be “tweaked” from the configuration section to
zwave.configurationV1.configurationSet(parameterNumber: 1, size: 2, scaledConfigurationValue: 1).format(),
from
zwave.configurationV1.configurationSet(parameterNumber: 1, size: 2, scaledConfigurationValue: 120).format(),

Oddly enough, they all report back some values on power usage - but its only in watts and it is only correct about 1 in very 100 updates. Not consistent. On A+ they have V, A, and W as separate entries, so the device is capable of supplying distinct V and A numbers. I suspect that changing the scalar would make it correct a lot more often. Just interesting is all.

And, yeah, A+ support seems to automatically assume the problem is with you, and you are that one special case.

I know this thread is old, and my work isn’t likely correct, but it is working for me to some extent. I started with the Zigbee Switch Power device and updated it to output Voltage and Wattage.

/**
 *  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.
 *
 * Updated by Ph4r on 2016-12-03
 */

metadata {
    definition (name: "Securifi Walnut", namespace: "smartthings", author: "SmartThings") {
        capability "Actuator"
        capability "Configuration"
        capability "Refresh"
        capability "Power Meter"
        capability "Voltage Measurement"
        capability "Sensor"
        capability "Switch"
        capability "Health Check"

        fingerprint endpointId: "01", profileId: "0104", inClusters: "0000, 0003, 0004, 0005, 0006, 0B04", manufacturer: "Sercomm Corp.", model: "SZ-ESW01", deviceJoinName: "Securifi Walnut"
        //fingerprint profileId: "0104", inClusters: "0702, 000F, 0B04, 0B05", outClusters: "0003, 000A, 0019"
    }

    tiles(scale: 2) {
        multiAttributeTile(name:"switch", type: "lighting", width: 6, height: 4, canChangeIcon: true){
            tileAttribute ("device.switch", key: "PRIMARY_CONTROL") {
                attributeState "on", label:'${name}', action:"switch.off", icon:"st.switches.switch.on", backgroundColor:"#79b821", nextState:"turningOff"
                attributeState "off", label:'${name}', action:"switch.on", icon:"st.switches.switch.off", backgroundColor:"#ffffff", nextState:"turningOn"
                attributeState "turningOn", label:'${name}', action:"switch.off", icon:"st.switches.switch.on", backgroundColor:"#79b821", nextState:"turningOff"
                attributeState "turningOff", label:'${name}', action:"switch.on", icon:"st.switches.switch.off", backgroundColor:"#ffffff", nextState:"turningOn"
            }
            tileAttribute ("power", key: "SECONDARY_CONTROL") {
                attributeState "power", label:'${currentValue} W'
            }
        }
        valueTile("power", "device.power", decoration: "flat", width: 2, height: 2) {
            state "power", label:'${currentValue} Watts', defaultState: true
        }
        valueTile("voltage", "device.voltage", decoration: "flat", width: 2, height: 2) {
            state "voltage", label:'${currentValue} Volts', defaultState: true
        }
        standardTile("refresh", "device.refresh", inactiveLabel: false, decoration: "flat", width: 2, height: 2) {
            state "default", label:"", action:"refresh.refresh", icon:"st.secondary.refresh"
        }
        main "switch"
    }
}

// Parse incoming device messages to generate events
def parse(String description) {
    log.debug "description is $description"
    def map = zigbee.parseDescriptionAsMap(description)
    def event = zigbee.getEvent(description)
    if (map) {
        log.debug "map is ${map.cluster}, ${map.attrId}, ${map.encoding}, ${map.value}"
        if (map.attrId == "0400") {
            def powerValue
            powerValue = Integer.parseInt(map.value,16)/1000
            sendEvent(name: "power", value: powerValue)
        }
        else if (map.attrId == "050b") {
            def voltageValue
            voltageValue = Integer.parseInt(map.value,16)/10
            sendEvent(name: "voltage", value: voltageValue)
        }
        else {
            if (event) {
                sendEvent(event)
            }
        }
    }
    else {
        log.warn "DID NOT PARSE MESSAGE for description : $description"
        log.debug zigbee.parseDescriptionAsMap(description)
    }
}

def off() {
    zigbee.off()
}

def on() {
    zigbee.on()
}

def refresh() {
    Integer reportIntervalMinutes = 5
    zigbee.onOffRefresh() + zigbee.simpleMeteringPowerRefresh() + zigbee.electricMeasurementPowerRefresh() + zigbee.onOffConfig(0,reportIntervalMinutes * 60) + zigbee.simpleMeteringPowerConfig() + zigbee.electricMeasurementPowerConfig()
}

def configure() {
    log.debug "in configure()"
    return configureHealthCheck()
}

def configureHealthCheck() {
    Integer hcIntervalMinutes = 12
    sendEvent(name: "checkInterval", value: hcIntervalMinutes * 60, displayed: false, data: [protocol: "zigbee", hubHardwareId: device.hub.hardwareID])
    return refresh()
}

def updated() {
    log.debug "in updated()"
    // updated() doesn't have it's return value processed as hub commands, so we have to send them explicitly
    def cmds = configureHealthCheck()
    cmds.each{ sendHubCommand(new physicalgraph.device.HubAction(it)) }
}

def ping() {
    return zigbee.onOffRefresh()
}

I’m new to ST and I have one of these switches and mine doesn’t pair. I’ve held down the right button until the light flashes and I’ve held down both buttons until it alternates colors.

I had to hold down the right button for 10 seconds to reset the device pairing. Then I tapped the left button and then tapped the right button and it paired. I think tapping the left button was extraneous, but that process worked consistently for me.

Thanks, that got it working for me.

1 Like

I have never been able to get down the sequence of which button to press, hold, tap, plug in. PIA because I have 3 of them & these have got to be the devices that give me the most problems ( outside of Gardenspots ) when it comes to dropping off, not being able to reconnect them. I keep buying Iris warts to replace them, and then finding new spots for the Irises .

Glad I could help if it is working for you now. Mine has been very stable so far. It sure generates a lot of traffic with its power updates, perhaps it was flooding your network, or since the power updates weren’t being handled it made the hub cranky?

Thank you for the driver. I still get nothing but

5f001e0c-1965-4a32-8909-42e636d2b32b  11:50:51 PM: debug map is 0B04, 050b, 29, 0000
5f001e0c-1965-4a32-8909-42e636d2b32b  11:50:51 PM: debug description is read attr - raw: 8832010B040A0B05290000, dni: 8832, endpoint: 01, cluster: 0B04, size: 0A, attrId: 050b, encoding: 29, value: 0000

in my logs with no change for Watts or Voltage. (They stay at 0)

Any Suggestions?

That looks like it is sending a value of 0 from the device. Have you confirmed that the device is ON and there is a connected load?

Yes, I connected a fan, plenty of load. Turned switch on and off via app, (worked) while on, cycled fan power. (about a minute or two between local switching.)

I’m sorry, if it is reporting a value of 0 like your log excerpt shows, I don’t have anything to parse.

I was afraid of that. I was hoping that there was another query that could be put to it.
Oh well. At least they switch the load for a decent price.

Hi all, I have 2 of the SZ-ESW01 but they are branded from Sercomm (came as a bundle from Rogers Smart Home Monitoring). I’m not sure if it is the same as the Securifi but it sounds like it.

I tried the method outlined above (going to graph.api.smartthings.com) but got lost after instruction #5. I assume that step is no longer valid since that was posted in 2015.

Can anyone point me in the right direction to get these paired? Basic on/off functionality is all i’m looking for, and if the power consumption feature works, then great! Thanks in advance.

Step 5 tells you to select a device called “thing”. It’s the name of the U known device when you try to add the plug into smartthings during discovery mode. Maybe you name it something else?
The steps above are still valid as of now. Funny enough I do have a “thing” and here are some pics.



Hey Navat604, thanks for helping. It wasn’t showing anything under devices, hubs, location for some reason until i clicked on the other tabs a few times and then everything showed up. Now the rest of the instructions make sense.

Unfortunately when i put the sz-esw01 in pairing mode, it still doesn’t show up as a “thing” under devices.

I reset the unit by holding the “join/leave” button while plugging into receptacle for 4 seconds and let go, then green led blinks twice. I also have the “hub” for Rogers Smart Home Monitoring searching for devices and it sees the smart plug, but it doesn’t show up in smartthings.com devices page. Anything else I should try?

Got it paired now using the device handler code from ph4r. Thanks.

1 Like

I tried the dth above, is anyone getting power report from this peanut plug? I don’t really need it but I can use the info if it does :slight_smile:

Thanks!

No luck here either.

1 Like