Seite 2 von 2

Re: Feinstaubsensor

Verfasst: 7. Okt 2019 05:04
von udo1toni
Na ja, openHAB hat eine REST API, das sollte also gehen. Man müsste halt etwas experimentieren.

Was musst Du dazu tun:
  1. Du legst ein String Item an, z.B. luftDatenJSON.
  2. Du gehst in die REST API Documentation und suchst dort unter Items->PUT->das Item heraus (Du musst dort die UID eingeben, das ist der Itemname)
  3. Du kopierst den Pfad, den Dir die Doku ausgibt und trägst ihn im Pfad ein.
    Den DN musst Du natürlich als feste IP im Server-Feld eintragen (falls Du einen internen DNS betreibst, könnte es auch mit dem DN gehen).
    Der Port ist 8080, oder mit https (Haken oben) 8443.
    Eventuell muss noch der Haken Eigene API gesetzt werden, vielleicht bringt der auch noch zusätzliche Optionen zum Vorschein?
    Benutzer und Passwort können hingegen ziemlich sicher leer bleiben.
  4. Du drückst die Daumen ;) und schaust ins Log, ob nach einiger Zeit etwas im Item ankommt.
    Sollte das der Fall sein, kannst Du mit einer Rule die Daten in die verschiedenen Items verteilen, wobei die Rule dann
    auf Item luftDatenJSON changed triggern kann.
    Das Format ist mit ziemlicher Sicherheit ebenfalls JSON, so dass das Zerlegen genauso funktioniert wie vorher, nur musst Du nun den Transformation Service aus der Rule heraus verwenden.
Dieses Verfahren ist klar zu bevorzugen, sollte es klappen. :) openHAB ist darauf ausgelegt, eventbasiert zu arbeiten.

Re: Feinstaubsensor

Verfasst: 9. Okt 2019 12:14
von Dibbler42
Gute Idee, ich war immer bei etwas besonderem und habe nicht an die REST API gedacht. Aktuell kämpfe ich noch damit und bekomme noch keinen String gefüllt. Ich denke ich muss mal schauen, was die Konsole des Staubsensors ausgibt

Re: Feinstaubsensor

Verfasst: 11. Okt 2019 12:03
von Dibbler42
Ich habe jetzt mal experimentiert und bin zum Schluss gekommen, dass es über die REST APi nicht geht. Der Feinstaub Sensor liefert application/json und es gibt keinen REST Befehl, der den State eines Items entsprechend entgegen nehmen kann.

PUT /items/<itemname> -> Erzeugt einen Item oder macht ein Struktur Update, setzte aber keine Werte
POST /items/<itemname> -> Schicklt ein Command an einen Items, nutzt aber den POST Teil, welche nicht vom Sensor verwendet wird
PUT /items/<itemname>/state -> Macht ein Update auf den State, aber vom Sensor kommt auch hier nichts an

Ich werde jetzt mal nach einen Script schauen, welches das Thema ggf. löst

Re: Feinstaubsensor

Verfasst: 11. Okt 2019 12:20
von sihui
Dibbler42 hat geschrieben: 11. Okt 2019 12:03 Ich werde jetzt mal nach einen Script schauen, welches das Thema ggf. löst
Es gibt einige Threads zum Thema im englischen Forum, u.a.:

https://community.openhab.org/t/solved- ... 5-m3/82272

Edit: okay, vergiss es, du willst diese Variante ja gar nicht :mrgreen:

Re: Feinstaubsensor

Verfasst: 11. Okt 2019 13:36
von Dibbler42
Genau, ich möchte Daten nicht in die Cloud schicken und sie dann dort wieder abholen. Ein weiterer Punkt ist, dass ich zwei Sensoren verbaut habe und in der Cloud nicht alle Daten zu finden sind und ich möchte natürlich alle Daten haben.

Ich bleib dran, aber Danke für die Unterstützung.

Re: Feinstaubsensor

Verfasst: 11. Okt 2019 22:55
von udo1toni
Du musst doch nur das JSON in das Item rein schreiben. Das Item muss vom Typ String sein. Kann natürlich sein, dass die Feinstaubfirmware kein PUT absetzen kann, dann geht es nicht direkt.

Re: Feinstaubsensor

Verfasst: 12. Okt 2019 20:54
von Dibbler42
Genauso ist es. Ich habe alle Varinaten ausprobiert.