REST-API
Entwicklerdokumentation
Die Entwicklerdokumentation beinhaltet die zur Verfügung stehende REST-API.
Action
Eine Aktion
Attribute
Name | Type | Description |
---|---|---|
key | String | Key |
style | String | Style, (positive, negative, secondary, null) |
type | String | Type (button, slider, color, state, hidden, null) |
subtype | String | Subtype, z.B. bei Mobilgerät Benachrichtigung "text", sonst null. Um den Text in der notification action zu übergeben. (device/123/execute?action=notification&text=123) |
Battery
Eine Batterie für ein Gerät
Attribute
Name | Type | Description |
---|---|---|
count | Int | Anzahl z.b. 1, 2, ... |
name | String | Name der Batterie, z.b. AAA |
Device
Ein Gerät
Attribute
Name | Type | Description |
---|---|---|
id | Int | ID |
name | String | Name |
states | States | Status |
actions | List<Action> | Aktionen |
disabled | Bool | Deaktiviert |
manufacturerid | Int | Hersteller ID |
statedefinitions | List<StateDefinition> | Die Statedefinitions für dieses Gerät. Eine Ein/Aus Entity hat Beispielsweise die Statedefinition (key = general, options = ["on", "off"]) |
productid | Int | Die Produkt ID |
gatewayid | Int | Das zugeordnete Gateway (CloudBox 4.0, EcoTracker, ...), z.b. bei Mobilfunkgeräten null. |
roomid | Int | Der zugeordnete Raum. Null wenn nicht zugeordnet. |
subtype | String | heating, cooling, door, window, sensor, waterdetector, mobile, light, socket, watering, shutter, awning, blind, curtain, speaker, bell, impulse, wakeonlan, httprequest, motiondetector, smokedetector, voicecontrol, lightsensor, ipcamera, gateway, sender, entrancecontrol, electricitymeter, solar, inverter, garagedoor |
properties | List<Property> | Die angezeigten Properties (nur vorhanden wenn ?include="properties" gesetzt ist) |
batteries | List<Battery> | Die Batterien, nur vorhanden wenn Batterien für dieses Produkt eingetragen sind |
homeid | Int | Das Heim das dieses Gerät zugeordnet ist. Bei Mobilgeräten null. |
Group
Eine Gruppe
Attribute
Name | Type | Description |
---|---|---|
id | Int | ID |
name | String | Name |
actions | List<Action> | Aktionen |
Manufacturer
Hersteller
Attribute
Name | Type | Description |
---|---|---|
id | Int | ID |
name | TranslatableName | Name |
Property
Die Property einer Entity
Attribute
Name | Type | Description |
---|---|---|
key | String | Property Key |
type | String | select, text, readonly, state (Wert muss aus entity.states[property.key] genommen werden), timestamp, dip, gateway, presence, energy |
defaultValue | String | Standardwert der Property wenn diese nicht gesetzt ist |
value | String | Wert der Property |
possibilities | List<PropertyPossibility> | Possibilities der Property wenn diese von type select ist. |
PropertyPossibility
Eine Auswahlmöglichkeit einer Property
Attribute
Name | Type | Description |
---|---|---|
key | String | |
value | String |
Room
Ein Raum
Attribute
Name | Type | Description |
---|---|---|
id | Int | ID |
name | String | Name |
actions | List<Action> | Aktionen |
override | RoomTemperatureOverride | Aktuelle Überschreibung |
lastOverride | RoomTemperatureOverride | Letzte Überschreibung |
RoomTemperatureOverride
Raum Temperaturüberschreibung
Attribute
Name | Type | Description |
---|---|---|
temperature | Double | Temperatur in °C |
timestamp | Int | Unix Timestamp wenn die Überschreibung endet. |
type | String | Zeiteinheit der Überschreibung (hour, minute, day, unlimited) |
value | Int | Zeitwert der Überschreibung |
Scene
Eine Szene
Attribute
Name | Type | Description |
---|---|---|
id | Int | ID |
name | String | Name |
actions | List<Action> | Aktionen |
StateDefinition
Die StateDefinition einer Entity
Attribute
Name | Type | Description |
---|---|---|
key | String | Key |
type | String | options, float, color, bool |
options | List<String> | Die möglichen States für entity.states[stateDefinition.key]. Nur vorhanden wenn stateDefinition.type == "options" |
States
States
Attribute
Name | Type | Description |
---|---|---|
general | String | on, off, up, down, in, out |
temperature | Double | Temperatur in °C |
humidity | Int | Luftdruck in % |
rain | Int | Niederschlagsmenge in mm |
wind | Int | Windgeschwindigkeit in km/h |
co2 | Double | CO2 in ppm |
noise | Int | Geräuschpegel in dB |
pressure | Double | Luftdruck in mbar |
batterypercentage | Int | Batteriestand in % |
batteryboolean | String | "battery-ok" oder "battery-low" |
valve | Double | Ventilstellung in % |
luminance | Double | Lichtintensität in Lux |
power | Double | Energieverbrauch in W |
brightness | Double | Helligkeit |
brightness-color | Double | Farbhelligkeit |
brightness-white | Double | Weißhelligkeit |
temperaturetarget | Double | Soll Temperatur |
state | String | open, closed, bright, dark |
TranslatableName
Ein übersetzbarer Name
Attribute
Name | Type | Description |
---|---|---|
de | String | Deutscher Name |
en | String | Englischer Name |
fr | String | Französischer Name |
it | String | Italiänischer Name |
Gerät schalten
(post) /device/$deviceId/execute () : voidEine Aktion für ein Gerät schalten.
HTTP
POST /device/$deviceId/execute
URL Parameter
Name | Type | Description |
---|---|---|
$deviceId | Int | Die ID des Geräts das geschaltet werden soll. |
Body
Name | Type | Description |
---|---|---|
action | String | Key der Aktion die geschaltet werden soll. |
Returns
voidGeräteliste
(get) /device (?include) : List<Device>Die Geräte eines Kontos
HTTP
GET /device
Query Parameter
Name | Type | Description |
---|---|---|
include | List<String> | Erweiterungen der Geräteabfrage. Z.b. ?include="properties" gibt alle Geräte inklusive Properties zurück. |
Returns
List<Device>Gruppe schalten
(post) /group/$groupId/execute () : voidEine Aktion für eine Gruppe schalten.
HTTP
POST /group/$groupId/execute
URL Parameter
Name | Type | Description |
---|---|---|
$groupId | Int | Die ID der Gruppe |
Body
Name | Type | Description |
---|---|---|
action | String | Key der Aktion die geschaltet werden soll. |
Returns
voidGruppenliste
(get) /group () : List<Group>Die Gruppen eines Kontos
HTTP
GET /group
Returns
List<Group>Herstellerliste
(get) /manufacturer () : List<Manufacturer>Die Herstellerliste
HTTP
GET /manufacturer
Returns
List<Manufacturer>Raum Soll Temperatur Überschreibung abbrechen
(post) /room/$roomId/execute () : voidDie Soll Temperatur Überschreibung eines Raumes abbrechen.
HTTP
POST /room/$roomId/execute
URL Parameter
Name | Type | Description |
---|---|---|
$roomId | Int | Die ID des Raums |
Body
Name | Type | Description |
---|---|---|
action | String | "override-cancel" |
override | RoomTemperatureOverride | Optionen (ohne timestamp) |
Returns
voidRaum Soll Temperatur überschreiben
(post) /room/$roomId/execute () : voidDie Soll Temperatur eines Raums überschreiben.
HTTP
POST /room/$roomId/execute
URL Parameter
Name | Type | Description |
---|---|---|
$roomId | Int | Die ID des Raums |
Body
Name | Type | Description |
---|---|---|
action | String | "override-begin" |
Returns
voidRaumliste
(get) /room (?include) : List<Room>Die Raumliste eines Kontos
HTTP
GET /room
Query Parameter
Name | Type | Description |
---|---|---|
include | List<String> | Erweiterungen der Raumabfrage. Z.b. ?include="states.temperature" gibt alle Räume inklusive states.temperature zurück. |
Returns
List<Room>Szene ausführen
(post) /scene/$sceneId/execute () : voidEine Szene ausführen.
HTTP
POST /scene/$sceneId/execute
URL Parameter
Name | Type | Description |
---|---|---|
$sceneId | Int | Die ID der Szene |
Body
Name | Type | Description |
---|---|---|
action | String | "trigger" |
Returns
voidSzene stoppen
(post) /scene/$sceneId/execute () : voidEine Szene stoppen.
HTTP
POST /scene/$sceneId/execute
URL Parameter
Name | Type | Description |
---|---|---|
$sceneId | Int | Die ID der Szene |
Body
Name | Type | Description |
---|---|---|
action | String | "cancel" |
Returns
voidSzenenliste
(get) /scene () : List<Scene>Die Szenenliste eines Kontos
HTTP
GET /scene