MIMOLite Dry Contact Implementation

I’ve picked up a MIMOLite to zwave a doorbell. Based on the product documents, a dry contact can be used in the SIG block, but I’m apparently not getting the device setup properly as there is no zwave activity when I short that block. I should be able to see an ON when the short occurs which I can process in a rule. It does periodically report this every 30 seconds (parameter 9 is set to 3):

16:06:33.135 [INFO ] [openhab.event.ItemStateEvent         ] - Item 'ZWaveNode043MIMOliteDigitalorAnalogVoltageinputandorDryContactRelay_Sensorgeneral' updated to 2630
16:06:33.135 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'ZWaveNode043MIMOliteDigitalorAnalogVoltageinputandorDryContactRelay_Sensorgeneral' changed from 2631 to 2630

But that just appears to be the voltage at the SIG block. Is anyone using one of these who can share the setup parameters being used?

So I figured this out. Here is my implementation.

  1. Do not jump the P5 jumper. Note that if this jumper is added or removed, you have to remove the MIMOlite from the zwave network and re-add it.

  2. After adding the MIMOlite Thing, it will have 4 channels. For this, I am just using the switch_binary. I added to that channel an Item “MIMOlite_Switch”.

  3. Add your dry contact to the Signal Input Terminal Block of the MIMOlite. The switch should be of the type where the normal state is a CLOSED circuit.

  4. Modify the configuration of the MIMOlite using the OH3 API Explorer/things and PUT > /things/{thingUID}/config. I didn’t have much luck trying to do this in the OH3 Thing page for the device.

  5. For the parameters use this:


[UID in the format: zwave:device:bf73e5e5dc:node44]
...

{
  "config_2_1": 0,
  "config_3_1": 1,
  "config_4_1": 1,
  "config_5_1": 171,
  "config_6_1": 255,
  "config_7_1": 254,
  "config_8_1": 1,
  "config_9_1": 0,
  "config_11_1":1
}

Now when the switch is pushed and the circuit opened, the OH3 log will show a stream of OFFs, so those have to managed to allow for a push without multiple triggers occurring.

  1. Create two items in a .items file:
Switch Doorbell_Switch "Doorbell"
Switch Doorbell_Timer {expire="2s,command=OFF"}
  1. Create a few rules something like this:
rule "Doorbell Triggered"
    when
        Item MIMOlite_Switch received update OFF
    then
        logInfo(logName, "MIMOlite_Switch state: " + MIMOlite_Switch.state)
        if (MIMOlite_Switch.state === OFF){
            logInfo(logName, "Trigger doorbell action ...")
            Doorbell_Switch.sendCommand(ON)
            Doorbell_Timer.sendCommand(ON)
        }
end

rule "Doorbell"
    when
        Item Doorbell_Switch changed from OFF to ON
    then
        playSound("barking.mp3")
end

rule "Doorbell Timer Expired"
    when 
        Item Doorbell_Timer received command OFF
    then
        logInfo(logName, "Timer expired ...")
        Doorbell_Switch.sendCommand(OFF)
end

This should reset the Doorbell_Switch after 2 seconds.