IoT Export
...
IoT Core Data Model
Simple IoT Core

Things

11min
thing data devices always have channels and parameters channels represent individual sensors or actuators of a device the (operating) parameters, on the other hand, are software or hardware based settings that influence the behaviour of the device simpleiotcorethingdto all specialised devices are based on this object it contains all the basic fields that are minimally required for a device field data type description id string unique id of the device in the system type string basic device type name string the assigned name of the device refid string reference id for specifying the device type channels object each field of the object represents a channel for which a value container is stored parameters object each field of the object represents a parameter for which a container value is stored the following values can be in the "type" field type description generic basic device data type for all devices enocean enocean based devices timer virtual timer device code examples simpleiotcorethingdto 1 { "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 extension of the simpleiotcorething with enocean relevant information the following additional fields are available field data type description signalstrength number signal strength of the last received signal in per cent 0 100% acknowledgechannels object each field of the object represents a receive channel the field value is the eurid used for the channel or an empty string if no id is assigned transmissionchannels object each field of the object represents a transmission channel the field value is the transmission id used for one of the available enocean gateways or an empty string if no id is assigned it is possible that there are no fields in the "transmissionchannels" object this means that this device does not support transmission channels code examples 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 extension of the simpleiotcorething with timer specific fields the following additional fields are available field data type description enabled boolean indicates whether the timer is enabled or not visible boolean specifies whether the timer is visible (clients only) mode string operating mode of the timer timertype string type of the timer time number a time specification as a unix timestamp the time stamp is specified for values with a date regardless of the local time zone in utc+0 the time is calculated modulo 86400 the time is calculated modulo 86400 otherwise, the day and month are calculated from the date or value set in the time field for recurring execution offset number time offset to be applied in minutes (+/ ) period number specification of the minutes for the periodic triggering selecteddays array selected days as a string array the following types can be used in the "timertype" field type description once execution of the timer once on a day at a specific time daily daily execution of the timer at a specific time weekly weekly execution of the timer at a specific time monthly monthly execution of the timer on a specific day at a specific time yearly yearly execution of the timer on a specific day at a specific time selected days execution of the timer on specific days of the week periodic periodic execution of the timer after a defined interval the following values are possible in the "mode" field mode description normal normal operating mode sunrise timer triggering refers to the calculated sunrise incl offset sunset timer triggering refers to the calculated sunset incl offset an array with the selected days can be stored in the "selecteddays" field day monday tuesday wednesday thursday friday saturday sunday the following table shows the evaluation of the time field depending on the timer type as an example, timestamp = 1707150600 is selected, this corresponds to tuesday, 05 02 2024 16 30 00 utc+0 type auswertung once tuesday, 05 02 2024 at 16 30 00 daily daily at 16 30 00 weekly tuesdays at 16 30 00 monthly immer am 05 eines monats um 16 30 00 uhr yearly always on 05 02 at 16 30 00 selected days at 16 30 00 on the selected days periodic field is not evaluated code examples 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 field data type description id string unique id of the device in the system code examples simpleiotcorethingdeleteddto { "id" "76dd6b1f 3f6a 4c02 b6d7 3539cd03201c" }