Przejdź do treści

Integracja z openHAB

Poniżej opisano integrację z openHAB, abyś mógł łatwo przetwarzać informacje o odpadach w swoim smart home.

Instalacja zależności

Do połączenia potrzebne są dwie rzeczy! Po pierwsze HTTP Binding, a po drugie (do przetwarzania danych) usługa transformacji danych JSONPATH. HTTP Binding (otwiera się w nowej karcie) / JSONPATH Data Transformation (otwiera się w nowej karcie).

openHAB HTTP Binding
Instalacja HTTP Binding w openHAB

Utworzenie Thing

Utwórz HTTP Thing i skonfiguruj je w następujący sposób (kod) – zwróć uwagę, że w nagłówkach nie mogą być przesyłane żadne umlauty/znaki specjalne. Napisz np. „ue" zamiast „ü".

UID: http:url:xxxxxxx
label: Binable
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: false
  baseURL: https://binable.app/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
Konfiguracja Thing wraz z kanałem

Uwaga: obecnie dostępne są następujące rodzaje odpadów (etykieta / klucz): odpady papierowe (paper), bioodpady (bio), odpady zmieszane (residualWaste), surowce wtórne (reusableMaterials), choinki (christmasTree), odpady niebezpieczne (toxic), pieluchy (diaper) oraz przycinka żywopłotów i drzew (hedgeTreeTrimming)

Items

Utwórz items na podstawie odpowiednich kanałów.

Opcjonalnie: format daty

Możesz poprawnie sformatować datę, tworząc State Description np. w formie „%1$td.%1$tm.%1$tY". Dla dni względnych można również użyć takiego State Description: „%.0f dni".

Gotowe!

To wszystko. Nie zmniejszaj „delay", ponieważ częste zapytania nie są konieczne.

← Przegląd integracji