Switch#
Every entity in picoides.io has it related state object. It s a representation of device state describing basic and more specific properties of a device.
Example
switch device state object
{
"attributes": {
"active_total_energy_kwh": "2469.72",
...
"assumed_state": true,
...
"friendly_name": "picoides_gw_4_2",
"last_update": "2018-12-13T13:08:07.128504+00:00",
"latitude": "52.1737",
"longitude": "20.81292",
...
"reactive_total_energy_varh": "454365.75",
"time_from_01_01_2000_in_seconds": "598123584.00",
...
"voltage_between_line_1_and_line_2": "401.60",
"voltage_between_line_2_and_line_3": "400.87",
"voltage_between_line_3_and_line_1": "399.72",
"voltage_line_1": "231.26",
"voltage_line_2": "231.14",
"voltage_line_3": "230.47"
},
"entity_id": "switch.picoides_gw_4_2",
"last_changed": "2018-12-13T13:08:07.122457+00:00",
"last_updated": "2018-12-13T13:08:07.129167+00:00",
"state": "off"
}
Note
entity_id - links state object to entity
States#
state param#
the state param of state object describes the most basic status of device if it's on or off...
Example
state property of state object
{
...
"state": "on"
...
}
picoides.io devices of switch domain can take states values listed below:
on- device relay is on *off- device relay is off *unknown- state was not set *problem- state is or should be known to the system but device reports errorsunavailable- device is registered in system but not yet connected
Note
state of switch may equal to real on or off or to last_set_state
state attributes#
state attributes describe additional device parameters
Example
state attributes of switch
{
...
"attributes": {
"assumed_state": true,
"area": "",
"current_power_w": 100,
"friendly_name": "dev no 3",
"latitude": 0,
"longitude": 0,
"today_energy_kwh": 15
},
...
}
Extra features attributes#
Some switch devices are installed with extra module like power meter.
Parameters monitored by additional equipment extend state attribute object.
Details may vary on implementation on equipment used and it setup.
Supported features are described by supported_features filed. It is a 16-bit bitfield value.
Id bit is set device supports feature
| bit | feature | description |
|---|---|---|
| 0 | ||
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | ||
| 8 | ||
| 9 | ||
| 10 | ||
| 11 | ||
| 12 | ||
| 13 | ||
| 14 | ||
| 15 | POWERMETER | can return power supply related information |
Example
state attributes of switch with assigned powermeter
{
"active_power_line_1_watt": "551.66",
"active_power_line_2_watt": "421.49",
"active_power_line_3_watt": "689.57",
"active_total_energy_kwh": "2469.72",
"active_total_energy_wh": "2469717.75",
"apparent_power_line_1_va": "566.23",
"apparent_power_line_2_va": "422.99",
"apparent_power_line_3_va": "704.82",
"apparent_total_energy_vah": "2511166.00",
"combined_active_power_line_123": "1665.49",
"combined_apparent_power_line_123": "1766.38",
"combined_power_factor_for_line_123": "0.97",
"combined_power_factor_for_line_123_l_c": "0.98",
"combined_reactive_power_line_123": "280.56",
"current_in_line_1": "2.46",
"current_in_line_2": "2.04",
"current_in_line_3": "2.85",
"current_neutral_line": "0.74",
"date_time_win_format": "6922.00",
"frequency_line_1_hrz": "50.01",
"frequency_line_2_hrz": "50.01",
"frequency_line_3_hrz": "50.03",
"power_factor_line_1_l_c": "0.97",
"power_factor_line_1_pf": "0.97",
"power_factor_line_2_l_c": "0.99",
"power_factor_line_2_pf": "1.00",
"power_factor_line_3_l_c": "0.98",
"power_factor_line_3_pf": "0.96",
"reactive_power_line_1_var": "127.54",
"reactive_power_line_2_var": "39.69",
"reactive_power_line_3_var": "178.53",
"reactive_total_energy_varh": "454365.75",
"time_from_01_01_2000_in_seconds": "598123584.00",
"voltage_between_line_1_and_line_2": "401.60",
"voltage_between_line_2_and_line_3": "400.87",
"voltage_between_line_3_and_line_1": "399.72",
"voltage_line_1": "231.26",
"voltage_line_2": "231.14",
"voltage_line_3": "230.47"
}
Services#
turn_on#
Example
$ curl -X POST -u "testuser:YOUR_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"entity_id": ["switch.dev_unique_name_2"], "brightness": 105}' \
http://localhost:8123/api/services/switch/turn_on
turn_off#
Example
$ curl -X POST -u "testuser:YOUR_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"entity_id": ["switch.dev_unique_name_2"]}' \
http://localhost:8123/api/services/switch/turn_off
toggle#
Example
$ curl -X POST -u "testuser:YOUR_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"entity_id": ["switch.dev_unique_name_1", "switch.dev_unique_name_2"]}' \
http://localhost:8123/api/services/switch/toggle
poll#
Will poll state of switch (relay) and assigned powermeter sensor (if any)
Example
poll state of switch
$ curl -X POST -u "testuser:YOUR_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"entity_id": ["switch.dev_unique_name_2"]}' \
http://localhost:8123/api/services/switch/picoides_poll