freedomotic

GCE Electronics IPX800

Description: This plugin enables communication between Freedomotic and Ipx800 boards by gce-electronics.com

Type: Driver - Categories: Automation Protocols

Development status: Beta version

Tested on: All platforms

Developer: Mauro Cicolella

Overview

Configuration

The ipx800-manifest.xml file contains all the plugin configuration parameters. It’s possible to control more than one board setting its parameters into a specific <tuple></tuple> block.

Here an example of configuration file:

<config>
   <properties>
      <property name="description"    value="Communicates with ipx800 board"/>
      <property name="protocol.name"  value="ipx800"/>
      <property name="category"       value="protocol"/>
      <property name="short-name"     value="ipx800"/>
      <property name="address-delimiter" value=":"/>
      <property name="startup-time"   value="on load"/>
      <property name="change-state-relay-url" value="leds.cgi?led="/>
      <property name="send-pulse-relay-url" value="rlyfs.cgi?rlyf="/>
      <property name="get-status-url" value="status.xml"/>
    </properties>
    <tuples>
       <tuple>
          <property name="alias" value="default"/>
          <property name="ip-to-query" value="ip-board"/>
          <property name="port-to-query" value="port-board"/>
          <property name="relay-number" value="8"/>
          <property name="analog-input-number" value="2"/>
          <property name="digital-input-number" value="4"/>
          <property name="starting-relay" value="0"/>
          <property name="led-tag" value="led"/>
          <property name="analog-input-tag" value="analog"/>
          <property name="digital-input-tag" value="btn"/>
        </tuple>
    </tuples>
 </config>

Parameter

Required

Values

Effect

Note

address-delimiter

yes

: or something else

delimiter for address components

change-state-relay-url

yes

leds.cgi?led=

integrated webserver url for relay changing state

send-pulse-relay-url

yes

rlyfs.cgi?rlyf=

integrated webserver url for relay sending pulse

get-status-url

yes

status.xml

integrated webserver url for retrieving state

For each connected board the parameters are the following

Parameter

Required

Values

Effect

Note

alias

yes

string

identifies the board used in the object address

ip-to-query

yes

ip-address

sets the board ip address

port-to-query

yes

any port number e.g. 80

sets the port number

relay-number

yes

number of relays

analog-input-number

yes

number of analog inputs

digital-input-number

yes

number of digital inputs

starting-relay

yes

0 or 1

starting number in status.xml

led-tag

yes

led

status.xml tag for compatibility with previous versions

analog-input-tag

yes

analog or an

status.xml tag for compatibility with previous versions

digital-input-tag

yes

btn

status.xml tag for compatibility with previous versions

How to control an object with this board

With this board you can control the powered behavior of any electric device in your environment, meaning you can turn on/off electric devices.

For this example we use a light thing:

  • Open the file ipx800.xml into freedomotic/plugins/devices/ipx800 folder and set ip-address and port number of your board

  • Right click on the light object in the environment to show its configuration panel

  • Change the property protocol to ipx800

  • Change the property “address” to a string composed of ALIAS:RELAY_NUMBER:led where ALIAS is the string used to identify the board, RELAY_NUMBER is the relay on which your object is connected (from 1 to 8 the maximum number of supported relays) and led is used to retrieve the relay state from status.xml file. An example address can be “default:1:led” this identifies the first relay on a board listening on port 80 of the http URL 192.168.201.10

  • Under turn on (in Actions) select the command called Turn on Relay on Ipx800 board

  • Under turn off (in Actions) select the command called Turn off Relay on Ipx800 board. Now the plugin is able to read any relay status change and update the object one.

  • Under powered (in Data Sources) select the command called IPX800 board reads a state change