Hello everyone,
as many others I also took the christmas vacation to tinker a bit.
Some month ago I bought an ethernet board, with two relays from http://www.robot-electronics.co.uk to automatically switch my garden pump and a water walve.
I found that the relay works very stable, offers webserver access and also has android/ios apps to control, but the disturbing thing was, that I have to use another web-interface or app to control it, which additionally is far from beeing as cool as pimatic is.
As the boards also offer a tcp command interface I thought, this should be an easy thing to do with pimatic. After some testing with the different possibilities I decided that a plugin sending some simple tcp commands should be easy and is maybe a good starting point to begin development with coffeescript and for pimatic.
So, after some development effort I am proud to release my very first pimatic plugin for controlling the ethernet / wifi based boards from robot-electronics.
github: https://github.com/mplessing/pimatic-ethboard
npm: https://www.npmjs.com/package/pimatic-ethboard
There is a full set of boards available from the robot-electronics shop (mostly cheaper than the ebay sellers), which should all be supported out of the box with the EthRelay device my plugin is providing.
The boards provide volt free contact relay outputs with a current rating of up to 16Amp each at 250vac max. The module has to be powered from a 12vdc supply which can be regulated or unregulated. There is also the possibility to set a TCP password and to do pulsed switching for on and/or off state.
There are the following boards available:
ETH002 / WIFI 002 with two relays
ETH008 / WIFI 008 with eight relays
ETH484 / WIFI 484 with four relays, 8 digitial switching I/Os and 4 analog inputs
ETH8020 / WIFI 8020 with twenty relays and 8 analog inputs
For a reference of my test-board have a look here: http://www.robot-electronics.co.uk/htm/eth002tech.htm
Plugin configuration example:
{
"plugin": "ethboard",
"host": "192.168.0.200",
"port": 17498,
"pingInterval": 60,
"password": "",
"debug": false
},
Device config example:
{
"id": "ethrelay01",
"class": "EthRelay",
"name": "Ethernet Relay 01",
"deviceid": 1,
"pulseType": "none",
"pulseTime": 0
},
The digital switching I/Os are of type open collector and have a 10k resistor. Beside their normal I/O functionallity these digital switching I/Os can be configured (not with the plugin, but from the webinterface) to switch remote relays automagically (by tcp).
So you can create a relay network with these relays, all controlled by a single board.
The analog inputs are either from 0-3.3V or from 0-5V (depends on version) and have a resolution of 10 bits.
Unfortunatelly I do not yet support the digital switching I/Os and the analog inputs, because I only had an ETH002 at hand for development. Maybe I will head for a 484-board to implement the rest of the possible features
l also had the idea to create some type of tcp interface for my ESP8266s, which are lying around here … maybe there is also something to come.
Well, feel free to give me hints where I’m doing really stupid things, as I really have zero experience with javascript and coffeescript.
Hopefully some of you may find this plugin useful!
Best regards,
Markus