# DeviceX / FunctionX

DeviceX (enheter) och FunctionX (funktioner) är huvudrepresentationen av IoT enheter kopplade mot plattformen. Data-modellen för båda är lika. En del av denna data-modell är ett arbiträrt object med nyckel-värde lagring. Detta kallas för meta-data och olika system kan lägga till eller utnyttja datan på olika sätt.

# Huvudmodell

Huvudmodellen innehåller väldigt få parametrar.

Namn Beskrivning
ID Identifierare i API och databas
Installation ID Identifierare för vilken installation objektet hör till
Type För enheter är detta ofta vilket system som enheten kommer ifrån, för funktioner hur den representeras i ett UI
Meta Nyckel-värde för ytterligare parametrar

# Metadata

Metadata är en lista på ospecificerade andra parametrar och kan innehålla vad som helst. Vissa system sätter parametrar som bara används av det systemet. Oftast med en nyckel som innehåller systemets namn följt av en punkt och sen nyckel (eg. systemA.nyckelA). Viss data kan vara delat mellan flera applikationer och sätts då med gemensamma nycklar.

Det finns inga krav på metadata, så alla system behöver ta hänsyn till om det saknas data och behöver kontrollera detta innan användning.

# Standard-typer och meta-nycklar

Denna lista innehåller information om funktionstyper och metadata som är relevanta för dem.

# Ytterligare topic-lagring

Vissa funkktioner kan kräva flera olika MQTT topics för att fungera korrekt. Vanligast är att man sätter topic_read samt topic_write för huvudfunktionen.

Tabellen nedan visar nycklar för topics i en RGB+Dimmer funktion.

Nyckel Värde
topic_read Huvud-topic, dimmer
topic_read_red Topic för röd kanal
topic_read_green Topic för grön kanal
topic_read_blue Topic för blå kanal