Connects pimatic to mochad
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
t
.gitignore
LICENSE
README.md
mochad-config-schema.coffee
mochad-device-schema.coffee
mochad.coffee
package.json

README.md

NPM version

pimatic-mochad

Connects pimatic to mochad (an X10-controller controller)

Description

pimatic-mochad gives you control over your X10-units via RF (433 Mhz), powerline (PL) and pimatic(-mobile-frontend)

Hardware schematic

                                       RF Antenna (433 Mhz)
          
                                       \ /           \ /
           Network                    - o -         - o -
 +---------+     +---------+   USB      |             |   
 | RPi     |-----| RPi [1] |════════╗   |             `-- X10 devices (sensors, remotes, ..)
 | Pimatic |     | Mochad  |        ║   |                         
 +---------+     +---------+       +-----+                        
                                   |     |
          _OR_                     | X10 |
                                   |     |
 +-------------+     USB           |     |
 | RPi Pimatic |═══════════════════|     | X10 controllor (CM15A/CM19A/CM15Pro)
 | and Mochad  |                   +-----+
 +-------------+                     |  
                                     `----- Powerline ------> X10 devices 
                                                              (switches, dimmers, blinds, ..)
                                     
 [1] Or even OpenWrt (, etc) running Mochad                                    

Contemplations

I've choosen mochad over node-x10 because mochad allows us to run pimatic on a different host as the X10 controller is attached to. For example, you can run your mochad instance on OpenWrt, while running pimatic on your Raspberry Pi.

Configuration

Under "plugins" add:

{
  "plugin": "mochad"
}

Under "devices" add (something like):

{
  "id": "CM15Pro",
  "class": "Mochad",
  "name": "CM15Pro",
  "host": "192.168.1.11",
  "port": 1099,
  "units": [
    {
      "id": "light-kitchen",
      "class": "MochadSwitch",
      "name": "Kitchen Light",
      "housecode": "P",
      "unitcode": 1,
      "protocol": "pl"
    },  
    {
      "id": "light-living",
      "class": "MochadSwitch",
      "name": "Living Light",
      "housecode": "P",
      "unitcode": 2,
      "protocol": "rf"
    }
  ]
}   

Some cool rules

if it is 18:00 then turn Kitchen Light on

if button "All lights off" is pressed then tell CM15Pro to send "pl a all_lights_off"

if it is after 23:00 and CM15Pro receives event "rf a all_lights_off" then push title:"Good nigth!" message:"Sleep well, sir!"

if CM15Pro receives event "rf a9 on" then turn Kitchen Light off and turn Living Light on