Doorbird Modul [Testversion]

Du musst unter Webhook Benutzername und Webhook Passwort etwas eintragen bzw. da sollte schon was drinnen stehen und dann must Du noch mal auf Benachrichtung einrichten drücken damit die Doorbird ab sofort auch mit Passwort sendet.

Nein das liefert nur die Version aber ich habe so zumindest selber nicht rausgefunden welche Subversion genau. Filtern müste ich ab dieserbccf26a3d3de Version ich bekomme aber wohl nur 4.10 zurückgeliefert. Oder was liefert diese Version als Response kann das mal jemand testen?

Da stand/steht auch was drin. Habe nochmal die Notification eingerichtet. Kommt aber immer noch. Vermutlich weil ich das Script manuell starte?!

Was passiert denn wenn Du im Modul auf Benachrichtigung einrichten drückst, bzw. steht im Return von Doorbird auch das Webhook User und Webhook Passwort drinnen?

Wenn ich auf Benachrichtigen einrichten drücke, passiert nix, also kein Fehler oder so.

Im Return steht allerdings

<HTML><HEAD><TITLE>400 Bad Request, The request had bad syntax or was inherently impossible to be satisfied.</TITLE></HEAD>
<BODY><H1>400 Bad Request</H1>
The request had bad syntax or was inherently impossible to be satisfied.
</BODY></HTML>

Oh das hört sich böse an da muss ich mal schauen ob an der API was geschraubt wurde bzw. ob bei mir das gleiche kommt.

Frohe Weihnachten! Leider kann ich den Fehler bei mir nicht nachstellen da funktioniert alles.

Kannst Du mal versuchen in einem Browser ein Request zu schicken mit der URL

http://<IP  Doordird>:80/bha-api/notification.cgi?event=motionsensor&subscribe=1&relaxation=10&user=<webhookusername>&password=<webhookpassword>&url=https://<IP Symcon IP>:3777/hook/doorbird<objektiddoorbird>?doorbirdevent=motionsensor		

dann sollte so was in der Art zurückkommen.


{"BHA": { "RETURNCODE": "1", "NOTIFICATIONS": [{"event": "motionsensor","subscribe": "1","url": "http://<IP Symcon IP>:3777/hook/doorbird35494?doorbirdevent=motionsensor","user": "<webhookuser>","password": "<webhookpassword>","relaxation": "10"},
{"event": "doorbell","subscribe": "1","url": "http://<IP Symcon IP>:3777/hook/doorbird35494?doorbirdevent=doorbell","user": "<webhookuser>","password": "<webhookpassword>","relaxation": "10"},
{"event": "dooropen","subscribe": "1","url": "http://<IP Symcon IP>:3777/hook/doorbird35494?doorbirdevent=dooropen","user": "<webhookuser>","password": "<webhookpassword>","relaxation": "10"}]}}

Wenn nicht lässt dies eher auf ein Problem der Doorbird schließen als auf ein Fehler im Modul.

Hi, frohe Weihnachten!

Sorry, habe vorgestern, nachdem gar nix mehr ging mit dem Modul, die Instanz komplett gelöscht und neu angelegt. Dann war alles wieder gut.
Bin mir aber ziemlich sicher dass es nicht mehr ging, nachdem ich die Webhook credentials geändert/überschrieben habe. Kann es sein, das da irgendwo was nicht übernommen wird?

Das kann ich noch mal schauen ob da eventuell noch ein Fehler irgendwo ist, freut mich zumindest das es jetzt wieder geht.

Ich habe jetzt bei mir mal Webhook User und Passwort geändert funktioniert bei mir trotzdem noch alles. Kann also zur Zeit kein richtigen Fehler finden.

Hallo zusammen und ein gutes neues Jahr,
Bei mir werde die variablen des Klngelsignals und Bewegung nicht mehr aktualisiert. Bei doorbird ips Interface habe ich ein rotes Ausrufezeichen.
Der doorbird returncode ist jedoch ausgefüllt und aktuell. Wo könnte ich da ansetzen?

Welche IP-Symcon Version nutzt Du? Wenn noch ein Interface Skript vorhanden ist öffne das mal und ersetzte die Funktion


Doorbird_ProcessHookData

durch


ProcessHookDataOLD

Ansonsten drücke dann noch mal neu auf Benachrichtigung einrichten in der Testumgebung des Moduls. Ist leider eine Übergangslösung da Funktionen der 4.1 Beta noch nicht in der Stable sind und ich keine Möglichkeit finde Unterversionen von IP-Symcon auszulesen. Wenn 4.1 Beta Stable ist wird das Skript dann später einfach vom Modul gelöscht werden wenn 4.1 vorhanden ist, da dies dann nicht mehr notwendig ist.

Super funktioniert, sorry habe den Post davor erst jetzt gesehen.
Vielen Dank für die schnelle Hilfe

Moin,

Danke für das Modul. Funktioniert so weit, bis auf die Bewegungserkennung, aber da suche ich erstmal noch weiter nach dem Fehler.

Ich habe eine Frage / Bitte: Lässt sich aktivierbar machen, ob die Klingelbilder gespeichert werden, oder nicht? Ich möchte diese in anderen Scripten weiterverarbeiten, habe dabei aber Probleme IPS_GetMediaContent funktioniert nicht, da die Medienobjekte gecached sind. Ein IPS_SetMediaCached(ID, TRUE) auf die existierenden Medien funktioniert auch nicht.

Ließe sich das einrichten?

Danke und Gruß,
Christoph

Was willst Du denn genau machen? Das sollte eigentlich auch jetzt schon gehen, willst Du das Image aus dem MediaFile auslesen und irgendwo auf Festplatte ablegen oder durch eine Gesichterkennung jagen? Kannst ja mal schreiben was Du genau machen willst dann kann ich da vielleicht helfen.

Ich will das Foto per Telegram Messenger weiter versenden. Dazu brauche ich eine JPG-Datei im Dateisystem.

Ich muss aber ehrlich sagen, dass ich erwartet hätte, dass ich mit IPS_GetMediaContent immer an den Inhalt des Mediums komme, unabhängig, ob es „Cached“ ist, oder nicht. Klappt aber nicht.

Sehe im Moment keine Möglichkeit, die Klingelbilder als JPG zu bekommen. Oder ich stehe mächtig auf dem Schlauch, das kann auch sein. :slight_smile:

Siehst wahrscheinlich eher den Wald vor Bäumen nicht ;), da sind drei Zeilen und schon hast Du dein Image auf Festplatte wenn Du es denn unbedingt zwischenspeichern willst und nicht den Content direkt weiterreichen willst.


$img = base64_decode(IPS_GetMediaContent(46699)); // ObjektId Media Image
 $doorbirdimagepath = IPS_GetKernelDir()."media".DIRECTORY_SEPARATOR."doorbirdpicture.jpg";
 file_put_contents($doorbirdimagepath, $img);

Aaaaalso…
Ich schrieb Doch, dass ein IPS_GetMediaContent auf das Medienobjekt nicht funktioniert. Ob das ein Bug von IPS ist, oder ob das so sein muss, weiß ich nicht. Somit helfen mir Deine 3 Zeilen leider nicht weiter…

Nein das soll bestimmt nicht so sein bei mir funktioniert das auch einwandfrei.


$img = base64_decode(IPS_GetMediaContent(12345)); // ObjektId Media Image
var_dump($img);

Bekommst Du da überhaupt keine Ausgabe?

Die Datei liegt ja noch gar nicht auf der Festplatte, da sie ja „cached“ ist. Bis hier her funktioniert IPS so wie es soll, denke ich. IPS_GetMediaContent geht krachen mit der Fehlermeldung

Warning: File #media/doorbirdringpic_1.jpg
.

Somit bekomme ich auch beim var_dump keine Ausgabe. Im Dateisystem existiert die Datei - logischerweise weil gecached - nicht. Ich teste mit Version 4.10 vom 02.01.2017.

Vielleicht kann @paresy sagen, ob sich IPS_GetMediaContent in diesem Fall bei mir wie gewünscht verhält, oder es sich sich den Content hier, wenn das Objelt gecached ist, besser aus dem RAM laden sollte?