Skip to main

REST-API

Entwicklerdokumentation

Die Entwicklerdokumentation beinhaltet die zur Verfügung stehende REST-API.

Action

Eine Aktion

Attribute

NameTypeDescription
keyStringKey
styleStringStyle, (positive, negative, secondary, null)
typeStringType (button, slider, color, state, hidden, null)
subtypeStringSubtype, 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

NameTypeDescription
countIntAnzahl z.b. 1, 2, ...
nameStringName der Batterie, z.b. AAA

Device

Ein Gerät

Attribute

NameTypeDescription
idIntID
nameStringName
statesStatesStatus
actionsList<Action>Aktionen
disabledBoolDeaktiviert
manufactureridIntHersteller ID
statedefinitionsList<StateDefinition>Die Statedefinitions für dieses Gerät. Eine Ein/Aus Entity hat Beispielsweise die Statedefinition (key = general, options = ["on", "off"])
productidIntDie Produkt ID
gatewayidIntDas zugeordnete Gateway (CloudBox 4.0, EcoTracker, ...), z.b. bei Mobilfunkgeräten null.
roomidIntDer zugeordnete Raum. Null wenn nicht zugeordnet.
subtypeStringheating, 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
propertiesList<Property>Die angezeigten Properties (nur vorhanden wenn ?include="properties" gesetzt ist)
batteriesList<Battery>Die Batterien, nur vorhanden wenn Batterien für dieses Produkt eingetragen sind
homeidIntDas Heim das dieses Gerät zugeordnet ist. Bei Mobilgeräten null.

Group

Eine Gruppe

Attribute

NameTypeDescription
idIntID
nameStringName
actionsList<Action>Aktionen

Manufacturer

Hersteller

Attribute

NameTypeDescription
idIntID
nameTranslatableNameName

Property

Die Property einer Entity

Attribute

NameTypeDescription
keyStringProperty Key
typeStringselect, text, readonly, state (Wert muss aus entity.states[property.key] genommen werden), timestamp, dip, gateway, presence, energy
defaultValueStringStandardwert der Property wenn diese nicht gesetzt ist
valueStringWert der Property
possibilitiesList<PropertyPossibility>Possibilities der Property wenn diese von type select ist.

PropertyPossibility

Eine Auswahlmöglichkeit einer Property

Attribute

NameTypeDescription
keyString
valueString

Room

Ein Raum

Attribute

NameTypeDescription
idIntID
nameStringName
actionsList<Action>Aktionen
overrideRoomTemperatureOverrideAktuelle Überschreibung
lastOverrideRoomTemperatureOverrideLetzte Überschreibung

RoomTemperatureOverride

Raum Temperaturüberschreibung

Attribute

NameTypeDescription
temperatureDoubleTemperatur in °C
timestampIntUnix Timestamp wenn die Überschreibung endet.
typeStringZeiteinheit der Überschreibung (hour, minute, day, unlimited)
valueIntZeitwert der Überschreibung

Scene

Eine Szene

Attribute

NameTypeDescription
idIntID
nameStringName
actionsList<Action>Aktionen

StateDefinition

Die StateDefinition einer Entity

Attribute

NameTypeDescription
keyStringKey
typeStringoptions, float, color, bool
optionsList<String>Die möglichen States für entity.states[stateDefinition.key]. Nur vorhanden wenn stateDefinition.type == "options"

States

States

Attribute

NameTypeDescription
generalStringon, off, up, down, in, out
temperatureDoubleTemperatur in °C
humidityIntLuftdruck in %
rainIntNiederschlagsmenge in mm
windIntWindgeschwindigkeit in km/h
co2DoubleCO2 in ppm
noiseIntGeräuschpegel in dB
pressureDoubleLuftdruck in mbar
batterypercentageIntBatteriestand in %
batterybooleanString"battery-ok" oder "battery-low"
valveDoubleVentilstellung in %
luminanceDoubleLichtintensität in Lux
powerDoubleEnergieverbrauch in W
brightnessDoubleHelligkeit
brightness-colorDoubleFarbhelligkeit
brightness-whiteDoubleWeißhelligkeit
temperaturetargetDoubleSoll Temperatur
stateStringopen, closed, bright, dark

TranslatableName

Ein übersetzbarer Name

Attribute

NameTypeDescription
deStringDeutscher Name
enStringEnglischer Name
frStringFranzösischer Name
itStringItaliänischer Name

Gerät schalten

(post) /device/$deviceId/execute () : void

Eine Aktion für ein Gerät schalten.

HTTP

POST /device/$deviceId/execute

URL Parameter

NameTypeDescription
$deviceIdIntDie ID des Geräts das geschaltet werden soll.

Body

NameTypeDescription
actionStringKey der Aktion die geschaltet werden soll.

Returns

void

Geräteliste

(get) /device (?include) : List<Device>

Die Geräte eines Kontos

HTTP

GET /device

Query Parameter

NameTypeDescription
includeList<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 () : void

Eine Aktion für eine Gruppe schalten.

HTTP

POST /group/$groupId/execute

URL Parameter

NameTypeDescription
$groupIdIntDie ID der Gruppe

Body

NameTypeDescription
actionStringKey der Aktion die geschaltet werden soll.

Returns

void

Gruppenliste

(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 () : void

Die Soll Temperatur Überschreibung eines Raumes abbrechen.

HTTP

POST /room/$roomId/execute

URL Parameter

NameTypeDescription
$roomIdIntDie ID des Raums

Body

NameTypeDescription
actionString"override-cancel"
overrideRoomTemperatureOverrideOptionen (ohne timestamp)

Returns

void

Raum Soll Temperatur überschreiben

(post) /room/$roomId/execute () : void

Die Soll Temperatur eines Raums überschreiben.

HTTP

POST /room/$roomId/execute

URL Parameter

NameTypeDescription
$roomIdIntDie ID des Raums

Body

NameTypeDescription
actionString"override-begin"

Returns

void

Raumliste

(get) /room (?include) : List<Room>

Die Raumliste eines Kontos

HTTP

GET /room

Query Parameter

NameTypeDescription
includeList<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 () : void

Eine Szene ausführen.

HTTP

POST /scene/$sceneId/execute

URL Parameter

NameTypeDescription
$sceneIdIntDie ID der Szene

Body

NameTypeDescription
actionString"trigger"

Returns

void

Szene stoppen

(post) /scene/$sceneId/execute () : void

Eine Szene stoppen.

HTTP

POST /scene/$sceneId/execute

URL Parameter

NameTypeDescription
$sceneIdIntDie ID der Szene

Body

NameTypeDescription
actionString"cancel"

Returns

void

Szenenliste

(get) /scene () : List<Scene>

Die Szenenliste eines Kontos

HTTP

GET /scene

Returns

List<Scene>