Another MIMOlite installed and working

It took longer to figure out where to zip-tie the little device than it did to get it working, and it works real nice. It’s working along side a Multi acting as a open/close sensor mounted on the side of the door.

The MIMOlite is on the ceiling up with the opener, the magnet part of the Multi is on the door itself held in place by the magnet, and the main part of the Multi is mounted to the vertical rail.

I created my own device type using the “SmartSense Virtual Momentary Contact Switch” device type to change the text in the tile from on/off to “push”, and the tile color to a nice blue when pushed.

Here’s a pic of the final Garage “project” in ST (Android):

@johnconstantelos what did you have to change in the tile description to make it say “push”?

Hi huntb,

I created my own device type exactly like the “SmartSense Virtual Momentary Contact Switch”. Here’s my code:

 *  SmartSense Virtual Momentary Contact Switch, Better Momentary
 *  Author: SmartThings,
 *  Date: 2013-03-07,2014-02-03
metadata {
	// simulator metadata
	simulator {
		status "on":  "command: 2003, payload: FF"
		status "off": "command: 2003, payload: 00"

		// reply messages
		reply "2001FF,2502,delay 2000,200100,2502": "command: 2503, payload: FF"
		reply "200100,2502": "command: 2503, payload: 00"

	// tile definitions
	tiles {
		standardTile("switch", "device.switch", width: 2, height: 2, canChangeIcon: true) {
			state "off", label: 'Push', action: "momentary.push", icon: "st.unknown.thing.thing-circle", backgroundColor: "#ffffff"
			state "on", label: 'Push', action: "", icon: "st.unknown.thing.thing-circle", backgroundColor: "#53a7c0"
		standardTile("refresh", "device.switch", inactiveLabel: false, decoration: "flat") {
			state "default", label:'', action:"refresh.refresh", icon:"st.secondary.refresh"

		main "switch"

def parse(String description) {
	def result = null
	def cmd = zwave.parse(description, [0x20: 1])
	if (cmd) {
		result = createEvent(zwaveEvent(cmd))
	log.debug "Parse returned ${result?.descriptionText}"
	return result

def zwaveEvent(physicalgraph.zwave.commands.basicv1.BasicReport cmd) {
	[name: "switch", value: cmd.value ? "on" : "off", type: "physical"]

def zwaveEvent(physicalgraph.zwave.commands.switchbinaryv1.SwitchBinaryReport cmd) {
	[name: "switch", value: cmd.value ? "on" : "off", type: "digital"]

def zwaveEvent(physicalgraph.zwave.Command cmd) {
	// Handles all Z-Wave commands we aren't interested in

def push() {
	def cmds = [
		zwave.basicV1.basicSet(value: 0xFF).format(),
		"delay 2000",
		zwave.basicV1.basicSet(value: 0x00).format(),

def on() {

def off() {
		zwave.basicV1.basicSet(value: 0x00).format(),

def poll() {

def refresh() {

I only changed the standardTile element for the text “Push”, icon, and color. Saved it, published it for myself, and changed the device type in the IDE to what I created above.

If you already changed the icon via the phone app to anything other than the default, you’ll need to exclude the MIMOlite and rejoin the hub for the icon you called for in that element to take effect. I learned that the hard way.

Here’s how everything turned out:

Overhead light Switch, Opener Button, and SmartSense Multi indicating open/close status:

@johnconstantelos thanks! I’ve had some experience with making my own device types, I just didn’t know where you actually put in the ‘push’ text.

What did you do with the jumper 5? Did you leave it in place or remove it?



@King, I removed the jumper.


BTW. I was playing with your device code. But then I found if I set the garage door setting in the Dashboard (ios) not in the things, you can set a switch for opening and closing. This trigged a change on the backend, and changed the ‘garage tile’ to a ‘SmartSense Garage Door Sensor Button’.

It’s one tile for both the smart mutlisense and the mimo lite, with opening and closing icon changes. So I can just tap the garage icon now.


I saw that as well just recently. I’ll have to give that device type a try too.

The new forum totally butchered your code formatting. Could you resubmit?

Fixed the code. Now.

I want to report I have my MIMOlite working beautifully. Heres to hoping ST officially supports it soon!