Pimatic Plugin for the UniPi board based on the Evok UniPi API.
If you like this plugin, please consider ★ starring the project on github. Contributions to the project are welcome. You can simply fork the project and create a pull request with your contribution to start with.
To be able to use the plugin you need to install Evok on the Raspberry Pi mounted on the UniPi board. Pimatic can either be installed on the same board on another host on the local network.
You can load the plugin by editing your config.json
to include the following
in the plugins
section. You need to provide the URL of the Evok Web Server.
{
"plugin": "unipi-evok",
"url": "http://unipi.fritz.box"
}
The plugin has the following configuration properties:
Property | Default | Type | Description |
---|---|---|---|
url | - | String | URL of the Evok Web Server |
debug | false | Boolean | Provide additional debug output if true |
timeout | 10 | Number | Timeout in seconds for HTTP REST Requests |
As of pimatic version 0.9, devices can be added easily using the discovery function of the pimatic frontend. However, if you wish to add devices directly to the config file instead, snippets are provided for all device types.
The Relay Device is based on the PowerSwitch device class. You need to provide the circuit id as shown by Evok.
{
"id": "unipiRelay-1",
"class": "UniPiRelay",
"name": "Relay 1",
"circuit": "1"
}
The Relay Device has the following configuration properties:
Property | Default | Type | Description |
---|---|---|---|
circuit | "1" | String | Circuit id as shown by Evok |
The Relay Device exhibits the following attributes:
Property | Unit | Type | Acronym | Description |
---|---|---|---|---|
state | - | Boolean | - | Switch State, true is on, false is off |
The following predicates and actions are supported:
- {device} is turned on|off
- switch {device} on|off
- toggle {device}
The Digital Input Device is based on the ContactSensor device class. You need to provide the circuit id as shown by Evok.
{
"id": "unipiDigitalInput-1",
"class": "UniPiDigitalInput",
"name": "Digital Input"
"circuit": "1"
}
The Digital Input Device has the following configuration properties:
Property | Default | Type | Description |
---|---|---|---|
circuit | "1" | String | Circuit id as shown by Evok |
The following predicates are supported:
- {device} is opened|closed
The Analog Input Device is based on the Sensor Device device class. You need to provide the circuit id as shown by Evok.
{
"id": "unipiAnalogInput-1",
"class": "UniPiAnalogInput",
"name": "Analog Input",
"circuit": "2"
}
The Analog Input Device has the following configuration properties:
Property | Default | Type | Description |
---|---|---|---|
circuit | "1" | String | Circuit id as shown by Evok |
The Analog Input Device exhibits the following attributes:
Property | Unit | Type | Acronym | Description |
---|---|---|---|---|
inputVoltage | V | Number | U | Input Voltage |
The following predicates are supported:
- inputVoltage of {device} is equal to | is less than | is greater than {value}, more comparison operators are supported
The Analog Output Device is based on the DimmerActuator device class.
{
"id": "unipiAnalogOutput-1",
"class": "UniPiAnalogOutput",
"name": "Analog Output",
"circuit": "1"
}
The Analog Output Device has the following configuration properties:
Property | Default | Type | Description |
---|---|---|---|
circuit | "1" | String | Circuit id as shown by Evok |
The Analog Output Device exhibits the following attributes:
Property | Unit | Type | Acronym | Description |
---|---|---|---|---|
outputVoltage | V | Number | U | Output Voltage |
dimlevel | - | Number | - | 0-100% (Output Voltage Control) |
The following predicates and actions are supported:
- outputVoltage of {device} is equal to | is less than | is greater than {value}, more comparison operators are supported
- dim {device} to {Value}, where {Value} is 0-100
The Temperature Device is based on the TemperatureSensor device class.
{
"id": "unipiTemperature-1",
"class": "UniPiTemperature",
"name": "Temperature",
"circuit": "2832ECD906000025"
}
The Temperature Device has the following configuration properties:
Property | Default | Type | Description |
---|---|---|---|
circuit | "1" | String | Circuit id as shown by Evok |
The Temperature Device exhibits the following attributes:
Property | Unit | Type | Acronym | Description |
---|---|---|---|---|
temperature | °C | Number | T | Temperature |
The following predicates are supported:
- temperature of {device} is equal to | is less than | is greater than {value}, more comparison operators are supported
I would like to thank UniPi.technology for providing me with a board for development. In particular, I would like to thank Tomáš Hora for his excellent support!
Copyright (c) 2016, Marcus Wittig and contributors
All rights reserved.