Hallo, ich benutze das Openhab Binding vom 15.06. und OpenHab 2.5. Das Binding funktioniert soweit, soll heißen ich sehe das Kamerabild. Ich habe die IN-8003 in Gebrauch.
Nun zu meiner Frage: Im Binding gibt es drei Alarmausgänge (Motion, PIR, Audio) als Switches. Diese scheinen ausgegraut und funktionieren auch nicht, wenn die Kamera einen Alarm auslöst. Diesen Alarm erkenne ich an den Pushnachrichten. Wie kann ich diese Alarme in Openhab für mich nutzbar machen?
Herzlichen Dank für die Antwort
freundliche Grüße
AGH
Hallo @agh,
das OpenHAB Camera Binding nutzt das ONVIF Protokoll um Alarmzustände auf der Kamera auszulesen. Die Version von ONVIF, die auf der Kamera installiert ist, gibt diese Zustände allerdings nicht weiter.
Aber man kann für den Alarm das INSTAR MQTT verwenden:
Es gibt dafür das Topic alarm/triggered
:
Wir hatten dazu auch im OpenHAB Forum bereits eine Diskussion - das ganze funktioniert, aber es fehlt noch eine Komfortfunktion - der Reset des Alarmzustandes nach dem Auslösen. Man kann das direkt in OpenHAB lösen - es soll aber mit dem nächsten Update direkt auf der Kamera passieren.
Beispiel: Alarmbereich 1 wird ausgelöst und man erhält auf dem Topic alarm/triggered
die Meldung {"val":"1"}
. Das soll dann nach kurzer Zeit wieder auf {"val":"0"}
zurückgesetzt werden, um einen erneuten Alarm bei einem Neustart von OpenHAB zu verhindern.
Erstmal Danke für die schnelle Antwort. Sieht so aus, als ob ich mich jetzt noch mit MQTT auseinandersetzen muss oder ich warte auf das nächste Kamera Update. Gibt es zu dem schon ein ungefähres Zeitfenster?
Ich möchte mich da nicht zu weit aus dem Fenster lehnen - hatte bislang nur oberflächlich mit ONVIF zu tun. Aber ich meine mich zu erinnern, dass man dafür eine ONVIF Library mit einem anderen Profil benötigt. Die Kameras haben ONVIF im S Profil:
Für die Bewegungserkennung - und weitere Features war, meine ich, das T Profil nötig. Es war auf jeden Fall kein ONVIF Update, das wir brauchten, sondern es mussten grundlegende Dinge in der Firmware geändert werden. Kurz gefasst - ich würde nicht darauf warten…
Bei MQTT helfe ich aber gerne weiter - damit hat man schnell alle wichtigen Kamerafunktionen im Smarthome drinnen. Und es bietet einige Vorteile gegenüber HTTP - ist maßgeschneidert für IoT Anwendungen.
Ah das war auf das MQTT Update bezogen - nicht auf ONVIF
Nein braucht man nicht - wenn man OpenHAB neustartet bekommt man momentan einen Alarm, wenn man den MQTT Alarmserver der Kamera eingebunden hat. Mit dem nächsten Update wird das nicht mehr der Fall sein. Man muß also am OpenHAB Setup nichts ändern.
Wenn ich jetzt alles richtig verstehe ist es besser MQTT zu benutzen und nicht das fertige Binding? Dann muss ich mich halt einarbeiten. Ich hatte gehofft zu schnellen Ergebnissen zu kommen und deshalb das Binding eingebunden. Dies scheint aber Ressourcenhungrig zu sein, denn nach einer Änderungen gerade eben läuft Openhab instabil auf meinem Raspberry.
Das Binding handhabt primär das Video - man bekommt das Video in der Paper-UI angezeigt, man kann einen HLS Stream raussenden (dieser ist im Gegensatz zum Kamerastream sofort Browser-konform und kann überall eingebunden werden und es gibt die Möglichkeit bei Alarm eine GIF Datei mit Snapshots des Events zu bekommen (ebenfalls interessant für die Einbindung in die Smarthome Oberfläche).
Einen Videostream zu bearbeiten braucht dann natürlich sehr viel System Ressourcen.
Zum Steuern der Kamera bietet ONVIF aber nur sehr rudimentäre Möglichkeiten - z.B. PTZ.
Dieser Part wird besser vom MQTT abgedeckt. Darüber hat man Zugriff auf alle Funktionen der Kamera. Und MQTT braucht so gut wie keine Ressourcen - auch das OpenHAB Binding ist da sehr leichtgewichtig.
Ich glaube die Anleitung muss überarbeitet werden
In OpenHab 2.5 gibt es jetzt eine IP Whitelist, dort muss die IP der Kamera eingetragen werden
für Linux: /etc/openhab2/misc/exec.whitelist einfach IP Adresse eintragen bzw. den IP Namen.
Außerdem werden die Items gleich automatisch verlinkt.
Für das Camera Binding? Oder MQTT?
MQTT
Ich habe jetzt mal folgendes in MQTT realisiert
instar/10D1DC222658/status/alarm/actions/pir/flag
Ich möchte Testhalber mal den PIR Alarm sehen, funktioniert aber nicht. Unter „flag“ gibt es keine Ausgabe.
Dann gäbe es noch die Möglichkeit mit dem Alarmserver. Ich kann in der Anleitung nur nicht erkennen, was in den Serverpfad einzutragen ist. Mit anderen Worten, ich habe nicht verstanden, wie das Teil zu benutzen ist.
Ich vergaß, das Binding hat bereits etwas in die Alarmserverkonfiguration in der Kamera eingetragen, wie IP:Port und Verzeichnis /instar
Ok, werde ich mir mal ansehen.
Bevor man etwas neues in MQTT probiert - immer erstmal ein Debugging Tool am Broker anschließen:
Mit einer Wildcard Subscription (Topic #
) sieht man dann alles was rein und raus geht. Damit findet man dann i.d.R. recht schnell raus warum es nicht läuft.
Zu dem Camera Binding:
Ja das Binding nutzt den HTTP Alarmserver um bei Alarm einen Webhook in OpenHAB anzusprechen. Darüber wird dann die Alarmaufnahme erstellt. Aber das stört nicht weiter. Der MQTT Alarmserver ist separat - man kann auch im System Log der Kamera nachsehen. Da sollten dann beide Einträge drinnen sein:
- Alarmserver kontaktiert
- MQTT Broker kontaktiert
Ich hab mir den MQTT Explorer installiert und stelle fest, dass
einige Topics nicht aktualisiert werden.
alarm/
pir/flag, alarmout, alarminmode und alarmsignal
Gibt es eine Beschreibung aller Topics? Oder muss man sich da durchhangeln?
triggered z.B. ändert lediglich den Wert von 8 <->7 Welcher Bereich damit ausgelöst hat, ist so nicht erkennbar, obwohl der Logeintrag den Bereich nennt. Den String dazu hab ich noch nicht gefunden.
Und noch eines: Danke für die Unterstützung
Alle Topics findet man hier:
Alle MQTT Topics
Wenn man sich bereits mit den CGI Befehlen auskennt, hat man hier eine Gegenüberstellung:
MQTT Topics vs. CGI Befehle
Aufschlüsselung der Alarmserver Meldungen:
Angehängte Alarm Trigger
- Alarmbereich Bereich 1 ausgelöst: 1
- Alarmbereich Bereich 2 ausgelöst: 2
- Alarmbereich Bereich 3 ausgelöst: 3
- Alarmbereich Bereich 4 ausgelöst: 4
- Alarmeingang / PIR ausgelöst: 5
- Audioalarm ausgelöst: 6
- PIR & Bereich 1 ausgelöst (gekoppelt): 7
- PIR & Bereich 2 ausgelöst (gekoppelt): 8
- PIR & Bereich 3 ausgelöst (gekoppelt): 9
- PIR & Bereich 4 ausgelöst (gekoppelt): 10
Wenn man die Werte 7 und 8 erhält, bedeutet das also, dass der PIR mit den Bereichen gekoppelt ist und abwechselnd zusammen mit Bereich 1 und 2 anschlägt.
Kein Problem
eine letzte Frage für heute: Wie muss der alarm/triggered in der PaperUI verlinked werden?
schon mal schönes WE
Das habe ich in OpenHAB noch nicht selber probiert. Aber hier im OpenHAB Forum gabs dazu einen Vorschlag - befürchte allerdings, dass man das nicht über die Paper UI gelöst bekommt:
Also wenn MQTT Alarm-Topic ausgelöst wird und der mitgelieferte Wert ungleich Null ist, dann mache was.
ich kann es nur nicht verlinken, da weiß ich nicht als was als Trigger als Number
Probiere mal den User Dragonfly im OH Forum anzuschreiben (er spricht Deutsch). Ich meine er hatte da schon eine fertige Lösung, er wartet nur noch auf unser Update bzgl. der Fehlalarme beim Neustart.
Danke für den Tipp, guck ich mal durch
In OpenHab 2.5 gibt es jetzt eine IP Whitelist, dort muss die IP der Kamera eingetragen werden
Hier habe ich dummes Zeug geschrieben. Die Whitelist ist im Binding und ich hatte die Adressen in eine Klammer geschrieben.