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

Category

Eine Kategorie innerhalb der Kompatibilitätsliste.

Attribute

NameTypeDescription
idIntID
nameTranslatableNameName
slugTranslatableNameDer Text der für die URL verwendet wird.
orderIntDie Order Zahl die für die Sortierung verwendet wird. (Aufsteigend)
columnIntDie Spalte innerhalb des Menüs inder die Kategorie angezeigt wird.
parentIntDie Oberkategorie oder 0.

Device

Ein Gerät innerhalb eines Kudnenkontos.

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. Die Image-URL ist über https://everhome.cloud/thumbnail/manufacturer2/${manufacturerID}.transparent?width=128 erreichbar.

Attribute

NameTypeDescription
idIntID
nameTranslatableNameName
insertmodesList<String>Die Modi mit denen ein Gerät für dieses Hersteller angelegt wird. (product, inbox, receive, http, oauth2inbox).
protocolsList<String>Alle Protokolle die von diesem Hersteller verwendet werden.
showinaddgridBoolIn der Add Liste anzeigen.
showincompatibilitylistBoolIn der Kompatibilitätsliste anzeigen.
slugTranslatableNameDer Text der für die URL verwendet wird.

Product

Ein Product spezifiziert die Eigenschaften eines Endgeräts, das sich in everHome einbinden lässt.

Attribute

NameTypeDescription
idIntDie eindeutige ID.
imageStringDie vollständige Image-URL des Produkts.
addableBoolWenn TRUE, darf das Produkt in der App ein Gerät hinzufügen.
addresssourceStringSpezifiziert die erforderlichen Address Daten für das Erstellen des Gerätes.
approvedBoolWenn TRUE, wird das Produkt in der Kompatibilitätsliste angezeigt.
manufactureridIntHersteller des Produkts.
nameStringName des Produkts.
protocolStringDas Protokoll, das für die Implementierung verwendet wird.
defaulttypeStringDer Gerätetyp des Produkts.
gatewaysList<ProductGateway>Gateways Produkt ID Liste die dieses Produkt steuern können.
requiredAttributesList<ProductRequiredAttribute>Die Attribute die erforderlich sind für die Erstellung des Geräts.
inboxParametersList<ProductRequiredAttribute>Die Attribute, die erforderlich sind für das Finden von Geräten über eine Inbox.
categoriesList<Int>Die Kategorien innerhalb der Kompatibilitätsliste.

ProductGateway

Enthällt die Produkt ID des Gateways. Das Gateway muss teil des Kundenkontos sein um das durch das Produkt erstellte Gerät steuern zu können.

Attribute

NameTypeDescription
idIntProdukt ID des Gateways.

ProductRequiredAttribute

Attribut, das zum Erstellen eines Gerätes erforderlich ist.

Attribute

NameTypeDescription
typeStringArt des Attributs.
keyStringAttribut Key.
helpStringOptionaler Hilfe Key für das Attribut.
defaultStringOptionaler Standardwert für das Attribut.

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
itStringItalienischer 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>

Kategorieliste

(get) /category () : List<Category>

Die Liste aller Kategorien

HTTP

GET /category

Returns

List<Category>

Produktliste

(get) /product () : List<Product>

Der Methodenaufruf gibt die Liste aller hinterlegten Produkte zurück.

HTTP

GET /product

Returns

List<Product>

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>