IoT Export
...
IoT Core Datenmodell
Simple IoT Core
Geräte
10min
gerätedaten geräte verfügen grundsätzlich über kanäle und parameter kanäle repräsentieren hierbei einzelne sensoren oder aktoren eines gerätes die (betriebs)parameter hingegen sind soft oder hardwarebasierte einstellungen, welche das verhalten des gerätes beeinflussen simpleiotcorethingdto alle spezialisierten geräte bauen auf diesem objekt auf es enthält alle grundlegenden felder welche für ein gerät minimal notwendig sind feld datentype beschreibung id string eindeutige id des gerätes im system type string basisgerätetyp name string der zugewiesene name des gerätes refid string referenz id zu angabe des gerätetypes channels object jedes feld des objektes repräsentiert einen kanal für welchen ein wertcontainer hinterlegt ist parameters object jedes feld des objektes repräsentiert einen parameter für welchen ein wertcontainer hinterlegt ist folgende werte können im feld "type" stehen type beschreibung generic basisgerätedatentyp für alle geräte enocean enocean basierte geräte timer virtuelles timergerät codebeispiele simpleiotcorethingdto { "id" "78e29422 75d3 48a2 b51e aa57cffb67a6", "name" "executor1", "refid" "generic actor container", "type" "generic", "channels" { "executorcollection" { "type" "state", "descriptionid" "0f2e23cc08fa7a6677c8b34147134f5d", "changeable"\ true, "value" "stopped" } } } simpleiotcorethingdto 2 { "id" "5e79f680 2a96 49c8 8224 b35ee9d637c8", "name" "heater control 0", "refid" "unknown", "type" "generic", "channels" { "operatingmode" { "type" "state", "descriptionid" "dfa38dfedc00c9242f78c77f595aa455", "changeable"\ true, "value" "normal mode" }, "temperature" { "type" "number double", "descriptionid" "951d86219ebea29cafefedb8340619de", "changeable"\ true, "value" 0 }, "setpoint" { "type" "number double", "descriptionid" "afa6ab10c4bc33f920b67e4261ab3410", "changeable"\ true, "value" 8 }, "heating" { "type" "state", "descriptionid" "1276dcdd634f711efd017c013be819b8", "changeable"\ false, "value" "unknown" }, "priority" { "type" "state", "descriptionid" "7ff06ab573e6fa5bff463dc19f0983e0", "changeable"\ true, "value" "off" } }, "parameters" { "general settings trigger only if changed" { "type" "state", "descriptionid" "6fc32a753246132013ff3a6b38d42d18", "changeable"\ true, "value" "true" }, "device settings priority" { "type" "state", "descriptionid" "6fc32a753246132013ff3a6b38d42d18", "changeable"\ true, "value" "false" }, "device settings time base" { "type" "number double", "descriptionid" "71415bb9e79cc237f9d183c84f337022", "changeable"\ true, "value" 15 }, "device settings control mode" { "type" "state", "descriptionid" "84ccb9e475ec2664aebd86397e92260f", "changeable"\ true, "value" "pwm" }, "device settings hysteresis" { "type" "number double", "descriptionid" "d7a4d9a8da15ab2dfaed6e6b51c8a9eb", "changeable"\ true, "value" 4 } } } simpleiotcoreenoceandto erweiterung des simpleiotcorething um enocean relevante informationen folgende zusätzliche felder sind vorhanden feld datentype beschreibung signalstrength number signalstärke des letzten empfangenen signals in prozent 0 100% acknowledgechannels object jedes feld des objektes repräsentiert einen empfangskanal der feldwert ist die verwendete eurid des kanals oder ein leerer string falls keine id zugewiesen ist transmissionchannels object jedes feld des objektes repräsentiert einen sendekanal der feldwert ist die verwendete sende id eines der verfügbaren enocean gateways oder ein leerer string falls keine id zugewiesen ist es ist möglich das es im "transmissionchannels" objekt keine felder gibt dies bedeutet das dieses gerät keine sendekanäle unterstützt codebeispiele simpleiotcoreenoceandto 1 { "id" "d5da720e 2ad6 4c86 88c0 f84390f76570", "name" "fenstergriff", "refid" "enocean hoppe windowhandle", "type" "enocean", "channels" { "windowhandle" { "type" "state", "descriptionid" "7f5679889e7910087244ae399db8ceca", "changeable"\ false, "value" "closed" } }, "signalstrength" 93, "assignableacknowledgenames" \[ "default" ], "possibletransmissionnames" \[ ], "acknowledgechannels" { "default" "1104311" }, "transmissionchannels" { } } simpleiotcoreenoceandto 2 { "id" "dec83c14 1fdc 439b 844c 1f01d4f58194", "name" "fsr14 2x", "refid" "enocean eltako fsr14 2x", "type" "enocean", "channels" { "switch" { "type" "state", "descriptionid" "7ff06ab573e6fa5bff463dc19f0983e0", "changeable"\ true, "value" "off" }, "priority" { "type" "state", "descriptionid" "7ff06ab573e6fa5bff463dc19f0983e0", "changeable"\ true, "value" "off" } }, "parameters" { "device settings priority" { "type" "state", "descriptionid" "6fc32a753246132013ff3a6b38d42d18", "changeable"\ true, "value" "false" } }, "signalstrength" 0, "assignableacknowledgenames" \[ "default" ], "possibletransmissionnames" \[ "default" ], "acknowledgechannels" { }, "transmissionchannels" { "default" "4291825664" } } simpleiotcoretimerdto erweiterung des simpleiotcorething um timerspezifische felder folgende zusätzliche felder sind vorhanden feld datentype beschreibung enabled boolean gibt an ob der timer aktiviert ist oder nicht visible boolean gibt an ob der timer sichtbar ist (nur clients) mode string betriebsmodus des timers timertype string type des timers time number eine zeitangabe als unix timestamp die angabe des zeistempels erfolgt dabei für werte mit datum für unabhängig von der lokalen zeitzone in utc+0 die uhrzeit wird modulo 86400 gerechnet ansonsten berechnet sich der tag und monat bei wiederkehrender ausführung aus dem eingestellten datum bzw wert im feld time offset number anzuwendende zeitverschiebung in minuten (+/ ) period number angabe der minuten für die periodische auslösung selecteddays array ausgewählte tage als string array folgende typen können im feld "timertype" verwendet werden type beschreibung once einmalige ausführung des timers an einem tag zu einer bestimmten uhrzeit daily tägliche ausführung des timers um eine bestimmte uhrzeit weekly wöchentliche ausführung des timers um eine bestimmte uhrzeit monthly monatliche ausführung des timers an einem bestimmten tag, um eine bestimmte uhrzeit yearly jährliche ausführung des timers an einem bestimmten tag, um eine bestimmte uhrzeit selected days ausführung des timers zu bestimmten wochentagen periodic periodische ausführung des timer nach einem festgelegten intervall im feld "mode" sind folgende werte möglich mode beschreibung normal normaler betriebsmodus sunrise timer auslösung bezieht sich auf den berechneten sonnenaufgang inkl offset sunset timer auslösung bezieht sich auf den berechneten sonnenuntergang inkl offset im feld "selecteddays" kann ein array mit den ausgewählten tagen hinterlegt werden tag monday tuesday wednesday thursday friday saturday sunday die folgende tabelle zeigt dies auswertung des feldes time in abhängigkeit des timertyps als beispiel wird timestamp = 1707150600 gewählt, dies entspricht dienstag, 05 02 2024 16 30 00 uhr utc+0 type auswertung once dienstag, 05 02 2024 16 30 00 uhr daily täglich um 16 30 00 uhr weekly dientags um 16 30 00 uhr monthly i mmer am 05 eines monats um 16 30 00 uhr yearly i mmer am 05 02 um 16 30 00 uhr selected days u m 16 30 00 uhr an den ausgewählten tagen periodic feld wird nicht ausgewertet codebeispiele simpleiotcoretimerdto 1 { "id" "83b42f35 bd4d 460a 953b 38e2e22deebc", "name" "timer once", "refid" "generic virtual timer", "type" "timer", "channels" { "timeron" { "type" "state", "descriptionid" "7ff06ab573e6fa5bff463dc19f0983e0", "changeable"\ true, "value" "on" }, "trigger" { "type" "state", "descriptionid" "02595be69384636622e81f8ad7978d70", "changeable"\ false, "value" "not triggered" } }, "parameters" {}, "enabled"\ true, "visible"\ true, "mode" "normal", "time" 1706094480, "offset" 0, "timertype" "once", "period" 0, "selecteddays" \[] } simpleiotcoretimerdto 2 { "id" "6daa1851 aacc 4b80 97dc 89053622d67a", "name" "timer periodic", "refid" "generic virtual timer", "type" "timer", "channels" { "timeron" { "type" "state", "descriptionid" "7ff06ab573e6fa5bff463dc19f0983e0", "changeable"\ true, "value" "on" }, "trigger" { "type" "state", "descriptionid" "02595be69384636622e81f8ad7978d70", "changeable"\ false, "value" "not triggered" } }, "parameters" { }, "enabled"\ true, "visible"\ true, "mode" "normal", "time" 1705316940, "offset" 0, "timertype" "periodic", "period" 180, "selecteddays" \[ ] } simpleiotcoretimerdto 3 { "id" "e9bb116f 033b 493a a615 09712d84996e", "name" "timer sunrise", "refid" "generic virtual timer", "type" "timer", "channels" { "timeron" { "type" "state", "descriptionid" "7ff06ab573e6fa5bff463dc19f0983e0", "changeable"\ true, "value" "on" }, "trigger" { "type" "state", "descriptionid" "02595be69384636622e81f8ad7978d70", "changeable"\ false, "value" "not triggered" } }, "parameters" { }, "enabled"\ true, "visible"\ true, "mode" "sunrise", "time" 1705317000, "offset" 5, "timertype" "selected days", "period" 0, "selecteddays" \[ "saturday", "sunday" ] } simpleiotcorethingdeleteddto feld datentype beschreibung id string eindeutige id des gerätes im system codebeispiele simpleiotcorethingdeleteddto { "id" "76dd6b1f 3f6a 4c02 b6d7 3539cd03201c" }