Im folgenden wir die Integration ins openHAB beschrieben, sodass ihr die Müll Informationen einfach im SmartHome verarbeiten könnt.
Installiere das HTTP Binding um auf die API zugreifen zu können
Lege ein HTTP Thing an und konfiguriere dies wie folgt (Code)
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
Hinweis: Aktuell gibt es folgende von Müllarten (Label / key): Papiermüll (paper), Biomüll (bio), Restmüll (residualWaste), Wertstoff (reusableMaterials), Weihnachtsbäume (christmasTree), Schadstoffe (toxic), Windeln (diaper) und Heckenschnitt (hedgeTreeTrimming)
Lege Items auf Basis der entsprechenden Channels an.
Du kannst das Datum korrekt formatieren, indem du eine State Description z.B. in Form von "%1$td.%1$tm.%1$tY" anlegst. Bei den relativen Tagen, kann auch diese State Description benutzt werden "%.0f Tag(e)".
Das wars. Bitte reduziere nicht den "delay", da häufige Anfrage nicht nötig sind.