senseBox Binding

The senseBox binding integrates environment data from the senseBox Citizen Science Toolkit.

Prerequisites

The API server uses Letsencrypt certificates. Therefore, one needs to either import the Letsencrypt root certificates into the local keystore (see the description in the Netatmo Binding). Another way would be to simply update the JDK to at least JDK 1.8.0_111

Supported Things

This binding supports a generic "senseBox" API endpoint which is a representation of the physical box.

Discovery

This binding provides no discovery. The desired senseBox must be configured manually or via a things file.

Binding configuration

The binding has no configuration options itself, all configuration is done at 'Things' level.

Thing configuration

The senseBox thing requires the box Id (which can be obtained on the map) and an interval in seconds for the API polling. The senseBox support team wrote in an email that polling even every five minutes is still o.k., therefore the minimum is hardcoded to be 300 seconds.

Thing sensebox:box:home [ senseBoxId = "foothesmurfingbar", refreshInterval = 600 ]

Channels

In the table is shown more detailed information about each Channel type. The binding introduces the following channels:

Channel IDChannel DescriptionSupported item typeAdvanced
descriptors#locationLocation of the boxPointFalse
measurements#uvIntensityIntensity of Ultraviolet radiationNumberFalse
measurements#luminanceIlluminanceNumberFalse
measurements#pressureAir pressureNumberFalse
measurements#humidityHumidityNumberFalse
measurements#temperatureTemperatureNumberFalse
measurements#particulateMatter2dot5Particulate Matter 2.5 µm in diameterNumberFalse
measurements#particulateMatter10Temperature Matter 10 µm in diameterNumberFalse
lastReported#uvIntensityLastReportedThe timestamp when uv radiation intensity was last reportedDateTimeTrue
lastReported#luminanceLastReportedThe timestamp when illuminance was last reportedDateTimeTrue
lastReported#pressureLastReportedThe timestamp when pressure was last reportedDateTimeTrue
lastReported#humidityLastReportedThe timestamp when humidity was last reportedDateTimeTrue
lastReported#temperatureLastReportedThe timestamp when temperature was last reportedDateTimeTrue
lastReported#particulateMatter2dot5LastReportedThe timestamp when particulate matter 2.5 was last reportedDateTimeTrue
lastReported#particulateMatter10LastReportedThe timestamp when particulate matter 10 was last reportedDateTimeTrue

Channels starting with "descriptors" are defined on the API server.

Example

sensebox.things:

Thing sensebox:box:zugspitze [ senseBoxId = "578cf2ccccff9d1000bd9198", refreshInterval = 900 ]

sensebox.items:

Location Zugspitze_Location                                                               (Zugspitze)                { channel="sensebox:box:zugspitze:descriptors#location" }

Number  Zugspitze_Humidity         "Zugspitze Humidity [%.1f %%]"         <humidity>      (Zugspitze, Weather)       { channel="sensebox:box:zugspitze:measurements#humidity" }
Number  Zugspitze_Luminance        "Zugspitze Light Level [%.1f lx]"      <light>         (Zugspitze, Weather)       { channel="sensebox:box:zugspitze:measurements#luminance" }
Number  Zugspitze_Pressure         "Zugspitze Pressure [%.1f hPa]"        <pressure>      (Zugspitze, Weather)       { channel="sensebox:box:zugspitze:measurements#pressure" }
Number  Zugspitze_Temperature      "Zugspitze Temperature [%.1f °C]"      <temperature>   (Zugspitze, Weather)       { channel="sensebox:box:zugspitze:measurements#temperature" }
Number  Zugspitze_UVIntensity      "Zugspitze UvIntensity [%.1f μW/cm²]"  <light>         (Zugspitze, Weather)       { channel="sensebox:box:zugspitze:measurements#uvIntensity" }
Number  Zugspitze_PM2dot5          "Zugspitze PM2.5 [%.1f µg/m³]"                         (Zugspitze, Weather)       { channel="sensebox:box:zugspitze:measurements#particulateMatter2dot5" }
Number  Zugspitze_PM10             "Zugspitze PM10 [%.1f µg/m³]"                          (Zugspitze, Weather)       { channel="sensebox:box:zugspitze:measurements#particulateMatter10" }

sensebox.sitemap:

sitemap sensebox label="SenseBox Zugspitze" {
	Text item=Zugspitze_Temperature
	Text item=Zugspitze_Pressure
	Text item=Zugspitze_Humidity
	Text item=Zugspitze_Luminance
	Text item=Zugspitze_UVIntensity
	Text item=Zugspitze_PM2dot5
	Text item=Zugspitze_PM10
	Mapview item=Zugspitze_Location height=10
}

senseBox API