Zigbee or Z-wave relay for 12v car system remote start


(Bryan) #1

Hello.

I have been following the forums for a little while now and my SmartThings - Know Your Home Kit will be here tomorrow so I can get started on my automation journey! I have experience with Z wave lighting and remotes from a few years ago , so that and zigbee I understand and am familiar with. I have all kinds of useful projects I want to work on,but this one really has me stumped. I want to see if it is even possible to install a z-wave or zigbee relay in my my cars 12v system that can operate the extra activation trigger relay on my cars remote start system.

I would need to know A: Would it draw too much current to be on all the time to accept commands from my hub? Wouldn’t want a dead battery.

B: Is there even any devices out that could serve this purpose or be modified to do so?

As far as distance goes my car sits 20 feet or less from the closest Z-wave switch and maybe 25 feet from where the hub will be sitting. I thank anyone that takes the time to read this and can offer advice or help in any way!


(Tim Slagle) #2

Well i think you’re in luck… well idk for your project, but i work on cars quite frequently so i know a thing or two.

The first thing we would need to know is what kind of car you have.

As long as your car doesn’t require a RF/Lazer key to start then we should be good and we could use a STs Shield. The only tricky thing would be power. Although i don’t think it will take much to power it and you could probably wire a couple double A’s to it and power it that way. All your doing is flipping a relay anyways.

Get back to me with your Make and Model and I will tell you if your car will accept this to begin with :smile:


(Convinced ST will never be unbroken…) #3

If all you’re looking for is dry contact closure, there is the Mimolite. It can be powered from 12V, and the recommended supply is 300mA (which I bet usage at idle is a small fraction of). Wire its supply side in line with a kill switch for times when you are on vacation, etc. and you should be golden.


(Tim Slagle) #4

Yep, was thinking more about this last night and you are right the Mimo Light will be abetter choice, assuming his car will allow for remote start without a keybox.


(Convinced ST will never be unbroken…) #5

Oh… and just be sure to power it from somewhere within the starting circuit as most accessory circuits are killed during the cranking sequence.


(Tim Slagle) #6

all accessory circuits are killed during the starting process. Battery needs to be able to provide all the CCA it can muster :stuck_out_tongue:


(Bryan) #7

I appreciate the help and feedback guys. I had looked at a mimolite, I didn’t realize they could be powered by 12v! The car is a 2010 Hyundai Accent, but I actually have an aftermarket Prestige remote start installed. It has a connection you can hook stuff up that can trigger the start relay in it, this is how I want to integrate it.

I will get some more specifics about my remote start and see what I can come up with! Now I would just need someone to help me setup custom device types and smart apps to integrate into my home setup.


(Chrisb) #8

Actually, depending on what sort of action is needed you may not need custom device types at all.

If you need to close the contact for x-number of seconds (kinda like turning a key in a car… you hold it for 2-3 seconds for the engine to catch, then release) then you could just use an on/off type and set an app that turns it off shortly there after.

If it’s a momentary thing (that is, you just push the button and release right away) then just use it as a momentary push button (like with a garage door opener set).

Either way some standard apps would work pretty well. Like: “When I open this door, turn this device on.”


(Tim Slagle) #9

You’ll probably want to stay away from an “app”

A device type will be more reliable as far as timing goes. A few seconds different on a car starter can mean the difference between a working starter and a blown starter motor. :smile:

You can use the momentary device type for the MimoLite and just extend the delay between to 3(ish) seconds instead of the .5 seconds it currently is set at.

Something like this maybe?

    /**
     *  SmartSense Virtual Momentary Contact Switch
     *
     *  Author: SmartThings
     *  Date: 2013-03-07
     */
    metadata {
        // Automatically generated. Make future change here.
        definition (name: "Z-Wave Virtual Momentary Contact Switch", namespace: "smartthings", author: "SmartThings") {
            capability "Actuator"
            capability "Switch"
            capability "Refresh"
            capability "Momentary"
            capability "Sensor"
            capability "Relay Switch"
        }
    
        // 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: '${name}', action: "momentary.push", icon: "st.switches.switch.off", backgroundColor: "#ffffff"
                state "on", label: '${name}', action: "switch.off", icon: "st.switches.switch.on", backgroundColor: "#79b821"
            }
            standardTile("refresh", "device.switch", inactiveLabel: false, decoration: "flat") {
                state "default", label:'', action:"refresh.refresh", icon:"st.secondary.refresh"
            }
    
            main "switch"
            details(["switch","refresh"])
        }
    }
    
    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.commands.manufacturerspecificv2.ManufacturerSpecificReport cmd) {
        if (state.manufacturer != cmd.manufacturerName) {
            updateDataValue("manufacturer", cmd.manufacturerName)
        }
    
        final relays = [
            [manufacturerId:0x0113, productTypeId: 0x5246, productId: 0x3133, productName: "Evolve LFM-20"],
            [manufacturerId:0x5254, productTypeId: 0x8000, productId: 0x0002, productName: "Remotec ZFM-80"]
        ]
    
        def productName  = null
        for (it in relays) {
            if (it.manufacturerId == cmd.manufacturerId && it.productTypeId == cmd.productTypeId && it.productId == cmd.productId) {
                productName = it.productName
                break
            }
        }
    
        if (productName) {
            log.debug "Relay found: $productName"
            updateDataValue("productName", productName)
        }
        [name: "manufacturer", value: cmd.manufacturerName]
    }
    
    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(),
            zwave.switchBinaryV1.switchBinaryGet().format(),
            "delay 3000",
            zwave.basicV1.basicSet(value: 0x00).format(),
            zwave.switchBinaryV1.switchBinaryGet().format()
        ]
    }
    
    def on() {
        push()
    }
    
    def off() {
        [
            zwave.basicV1.basicSet(value: 0x00).format(),
            zwave.switchBinaryV1.switchBinaryGet().format()
        ]
    }
    
    def refresh() {
        delayBetween([
            zwave.switchBinaryV1.switchBinaryGet().format(),
            zwave.manufacturerSpecificV1.manufacturerSpecificGet().format()
        ])
    }

def on() {
	push()
}

def off() {
	[
		zwave.basicV1.basicSet(value: 0x00).format(),
		zwave.switchBinaryV1.switchBinaryGet().format()
	]
}

def poll() {
	zwave.switchBinaryV1.switchBinaryGet().format()
}

def refresh() {
	zwave.switchBinaryV1.switchBinaryGet().format()
}

(Bryan) #10

Thank you very much! I have little to no experience with coding but am more then intelligent enough to find and alter the time in this example. I got my hub today from amazon and it said open box when I bought it, not that it had been used and I need a new welcome code. I am still waiting for support to get back to me with my new code(unsure of their operating hours). Once I get that all set up tomorrow night I will begin buying more Things and hopefully will get a mimolite fairly soon to test this project out. Until then I shall study the setup of my remote start and make sure I know and understand all the important functions and what I need to do to connect the mimolite properly. If people are interested I will take video of the project if I get it going and hopefully will inspire others to new ideas!


(Edward Pope) #11

@TattooedNerd33 I am certainly interested. Even if I do not have a purpose for your project, I am sure that someone here will at some point. Also, as you figure things out, it will perhaps give rise to other ideas in the community.


(Tim Slagle) #12

Please do! We would all love to hear about your progress!


(Bryan) #13

Well as of now this project is basically dead in the water. The place that installed my remote start told me it had an auxiliary input that is there so stuff like aftermarket alarms could trigger the remote start. Well they got their info wrong, I researched the make and model and found out it absolutely does NOT have this input. This car is too new for me to go messing with ignition wiring and the like.

I am going to pry open the spare remote and see if I could solder wire to the contacts and use a relay to control that. My fine soldering skills are mediocre on my best days so this most likely isn’t an option. If am able to get it soldered I would need help with code. The remote has to be pushed twice in succession in under 2 seconds to trigger the start. Any feedback or suggestions are appreciated!


(Tim Slagle) #14

Let us know!!! :smiley:


(Elijah) #15

Prestige has DBI ports on all the items on their web page, perhaps thats the input your system/app need. I did see some folks in (nissan) forums using iDatalinks to their DBI port, and Idatalink supports Weblink Mobile. I did get the impression you would have to purchase more (a maybe redundant) modules for your system.


(Bryan) #16

I really don’t know a ton about remote starts and ignition wiring, car audio and home electronics are more my area of expertise. Could you maybe elaborate on the dbi port?


(Elijah) #17

it would appear Audiovox has a DBI serial port on the Prestige Remote start modules (at least the ones I clicked on their website), that it is used for updating/expansion. looking into the spec of the port just now for you, I found Audiovox uses it for expansion to their Car Link product, http://www.audiovoxproducts.com/carlink/.
I would look at the Audiovox site for your specific RS Unit # to see if it is included.
Not sure how you might implement this with SmartThings, perhaps Tasker to manipulate the Carlink app?


(Bryan) #18

I really appreciate you trying to help out on this. I just looked into the car link and at $200 a pop with a $30 yearly fee it is not worth it to me to even try to experiment with it. I will continue to research the dbi port and possibilities involving that though, thank you for the heads up!


(Jim) #19

I was thinking about doing this exact thing with a spare remote.

Did you get anywhere??


(Bryan) #20

Sorry, I haven’t been on here in quite a while. I actually hit a dead end with my idea but it is very doable for someone with a different remote start. The MimoLite works on 12v, and people have made device types. If you had a remote start that either has a trigger input to turn it on or some sort of add on module that does it you would be in business. Also if you had a remote with switch contacts big enough to solder some wires onto something like the mimolite and a 12v power supply could be built and placed by an outlet close enough to the car to trigger the start. I was just unlucky with my remote, it’s got micro soldered contacts, it would take a robot to solder a wire to something that tiny, so this is just a no go for me. I would be interested to hear about any experimentation or devices you build for this, thanks!