Oct 272014

Xipiter has a great write-up on how they hacked the MiCasaVerde Vera quickly and easily:

The device has embedded SSH private keys on THE IMMUTABLE sections of the firmware image so we know that all these devices have the same embedded ssh key. It uses that key to access the manufacturers backend and set up ssh port forwards… While this a simple little device, the ability to attack it on the local network and potentially reach it THROUGH the manufacturers own servers as a beachhead to other computers on your home network is a reminder of why devices like this need to be understood better

This is a good illustration how the funky remote access methods for Vera got them into trouble. They would be better served with the API keys & calls other IoT hubs have been focused on. If you are running a Vera, it may be worth investigating offline mode until there is some confirmation that the remote access is possible or not.

Jun 072014

I’ve been using Vera and Z-wave for a number of years as my home automation solution. As I previously posted, Home Automation: Motion sensors and lights with VERA scenes (micasaverde z-wave), sometimes the Vera system requires some workarounds with smart switches or timers in order to accomplish logic tasks for scenes. This can get quickly convoluted when you have complex logic involved or multiple schedules.

For Vera you typically need to learn to write Lua code for more complex actions, however there is a plugin which makes it easy to do in a mostly point and click operation – Program Logic Event Generator (PLEG) from RTS Services. This plugin is free for use up to 30 days, and a full license is a very reasonable $5.50.


The first step is to install the PLEG plugin in your Vera system. In this case there are actually two plugins which need to be installed, the Program Logic Event Generator Plugin and the Program Logic Core Plugin. After installing the plugins, refresh your browser window. By default, PLEG will install a new device named “Program Logic Event Generator”. Edit that device to start using an instance of the plugin (multiple instances can be added for different tasks).

Program logic event generator

PLEG first allows users to set the Inputs for a system. The inputs could be a trigger, schedule, or some element of device properties (e.g. dimmer level). One of the powerful things about PLEG is that it lets you configure a window of time for a scheduled, start and stop values. This sounds simple, but this functionality is not easily available in the default Vera interface. In my example, I have two triggers, one is a schedule from 11 PM until 30 minutes before sunrise, and the other is a tripped motion sensor which has been armed. One thing to note about names – Logic used in the next step uses the names previously saved for triggers, schedules, or properties in free text (no point and click), so it helps to use descriptive names.

PLEG triggers

PLEG schedules

After inputs come Conditions. Conditions are the logic lines which need to be followed for a specific action. Each line must evaluate to true in order to fire the Condition Name (also the Action). In my example, the LightsOn action will trigger only if ArmedSensorTripped and From2300toDawn are both true. For LightsOff, the action will fire when 20 minutes has passed since the LightsOn condition was fired. My example only has two different states, but several can be used here.

PLEG conditions

After Conditions have been defined, Actions can be associated to each. The UI behavoir here takes a little getting used to – when the Edit button is selected for a Condition, the PLEG interface will go away, and will be replaced with a devices list. After selecting the device actions (in my case turning two lights on or off) select the FINISHED button at the top of the screen to go back to the plugin.

PLEG action

PLEG actions

Once finished with Actions the new plugin logic is ready to go, after saving the settings in Vera. My example is quite simple, but there are many other ways to make use of this powerful plugin. There are some good examples on the RTS page here: PLEG Usage and a message board here with some examples & troubleshooting posts: MiCasaVerde Program Logic Plugins.

Oct 272013

When we purchased our house a couple of years back I took the time to put in Z-wave switches around the house. I’ve dabbled in a few forms of home automation during that time (I’ll write more on that at some point), but the one I’ve stuck with is MiCasaVerde’s VERA system. It is awkward and occasionally very frustrating, but it is also one of the most powerful and cost effective systems on the market with a lot of community support.

VERA motion sensor scene needs

One of the more frustrating aspects of building scenes I’ve found over the years is when multiple points of automation are touching the same switches or sensors. Take the following example:

  • An outdoor z-wave motion sensor used which can’t detect light levels (Everspring SP103)
  • Z-wave light switch is already used for some scenes (turn on at dusk, off at 10:30 PM)
  • After 10:30 PM, motion sensor should turn light on for 5 minutes on motion trigger
  • Light should not trigger during the day

With the above example it is relatively easy to create a scene to turn the light on if motion is detected – the tricky bit is turning it off after certain periods of inactivity, but only between specific hours of the day.  Thankfully the community has found a workflow option – the VERA Countdown Timer.  Per the app description: “Make custom timers and control them with scenes. Timers can be started and cancelled on an event; timers generate their own event when they expire, and can trigger any other action.”

VERA Device configuration

Using the VERA Countdown timer plugin, create a countdown and set it for the idle time to turn off the light:

vera 5 minute motion timer

VERA Scenes


This scene is scheduled at sunset, and turns the light on, regardless of motion.
vera motion start light

10:30 PM

This scene turns the light off, then arms the motion sensor.

vera timer light off scene 1 vera arm motion sensor

Motion activated light

This scene will start the 5 minute motion timer, and activate the light on any motion – but only when the sensor is armed:

vera motion start light vera motion start timer

Motion sensor tripped while device is armed

Turn off motion activated light

This scene will turn the motion activated light off once the timer has completed (no motion for 5 minutes in this case):

vera timer light off scene 1

timer completes while not muted


This scene will be scheduled for sunrise and will disarm (bypass in VERA terminology) the motion sensor:

vera bypass motion sensor

The arm/disarm functionality of the motion sensor allows for layers of control which are not available on many z-wave devices.  The addition of the timer allows setting further runtimes for events when it isn’t supported within the scene or device itself.  As I said earlier the VERA system can be very frustrating with awkward sequences and Rube Goldberg-like logic flows, but the benefit of the system is that there is usually a way to get what you want in the end.