openHAB Integration
The following describes the integration into openHAB so you can easily process waste information in your smart home.
Install dependencies
Two things are needed for the connection! Firstly the HTTP Binding and secondly (for data processing) the JSONPATH Data Transformation Service. HTTP Binding (opens in new tab) / JSONPATH Data Transformation (opens in new tab).
Create Thing
Create an HTTP Thing and configure it as follows (code) – Please note that no umlauts/special characters may be transmitted in headers. Please write e.g. "ue" instead of "ü".
UID: http:url:xxxxxxx
label: Müll.io
thingTypeUID: http:url
configuration:
authMode: BASIC
ignoreSSLErrors: false
baseURL: https://müll.io/api/fetch
delay: 0
stateMethod: POST
refresh: 21600
commandMethod: POST
contentType: text/plain
timeout: 6000
bufferSize: 2048
headers:
- "X-Address-Street=XXX"
- "X-Address-HouseNumber=XXX"
- "X-Address-Zip=XXX"
- "X-Address-City=XXXX"
- "X-Address-Country=DE"
channels:
- id: residual_waste_last
channelTypeUID: http:datetime
label: Restmüll (letzte)
description: ""
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.residualWaste.last
- id: residual_waste_next
channelTypeUID: http:datetime
label: Restmüll (nächste)
description: null
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.residualWaste.next
- id: residual_waste_next_days
channelTypeUID: http:number
label: Restmüll (nächste) relative
description: null
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.residualWaste.nextDays
- id: paper_last
channelTypeUID: http:datetime
label: Papier (letzte)
description: null
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.paper.last
- id: paper_next
channelTypeUID: http:datetime
label: Papier (nächste)
description: null
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.paper.next
- id: paper_next_days
channelTypeUID: http:number
label: Papier (nächste) relative
description: null
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.paper.nextDays
- id: reusable_materials_last
channelTypeUID: http:datetime
label: Wertstoffe (letzte)
description: null
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.reusableMaterials.last
- id: reusable_materials_next
channelTypeUID: http:datetime
label: Wertstoffe (nächste)
description: null
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.reusableMaterials.next
- id: reusable_materials_next_days
channelTypeUID: http:number
label: Wertstoffe (nächste) relative
description: null
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.reusableMaterials.nextDays
- id: bio_last
channelTypeUID: http:datetime
label: Bio (letzte)
description: null
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.bio.last
- id: bio_next
channelTypeUID: http:datetime
label: Bio (nächste)
description: null
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.bio.next
- id: bio_next_days
channelTypeUID: http:number
label: Bio (nächste) relative
description: null
configuration:
mode: READONLY
stateTransformation: JSONPATH:$.bio.nextDays
# - id: christmas_tree_last
# channelTypeUID: http:datetime
# label: Weihnachtsbaum (letzte)
# description: null
# configuration:
# mode: READONLY
# stateTransformation: JSONPATH:$.christmasTree.last
# - id: christmas_tree_next
# channelTypeUID: http:datetime
# label: Weihnachtsbaum (nächste)
# description: null
# configuration:
# mode: READONLY
# stateTransformation: JSONPATH:$.christmasTree.next
# - id: christmas_tree_next_days
# channelTypeUID: http:number
# label: Weihnachtsbaum (nächste) relative
# description: null
# configuration:
# mode: READONLY
# stateTransformation: JSONPATH:$.christmasTree.nextDays
Note: Currently the following waste types are available (label / key): Paper waste (paper), organic waste (bio), residual waste (residualWaste), recyclables (reusableMaterials), Christmas trees (christmasTree), hazardous waste (toxic), diapers (diaper) and hedge trimming (hedgeTreeTrimming)
Items
Create items based on the corresponding channels.
Optional: Date format
You can correctly format the date by creating a State Description e.g. in the form "%1$td.%1$tm.%1$tY". For relative days, this State Description can also be used: "%.0f day(s)".
Done!
That's it. Please do not reduce the "delay", as frequent requests are not necessary.