NEWS
Unifi Protect Webhooks
-
Hallo zusammen
Arbeitet hier auch jemand mit Unifi Protect Webhooks? Ich lasse mir sobald ein fremdes Gesicht erkannt wird per webhook einen Datenpunkt in iobroker schalten. Danach schicke ich mir ein Bild per Telegram. Leider bekomme ich immer ein Bild der Kamera auf welcher niemand mehr zu sehen ist. Es scheint so, wie wenn der Webhook extrem spät triggert. Hat jemand das selbe verhalten festgestellt?
-
Eigentlich versuche ich hier keine ChatGPT Antworten zu posten.
Mache es nur, weil ich es ähnlich mit AgentDVR umsetze.*Kamera-Bildpuffer nutzen (RTSP / Snapshot-Verlauf):
Verwende statt eines Live-Snapshots ein früheres Bild aus einem Puffer oder ein direkt gespeichertes Event-Bild von UniFi:Nutze z. B. https://<controller-ip>:7443/proxy/protect/api/events um das letzte Event abzufragen (mit API-Key).
Dann kannst du dir das passende Bild oder die Video-Datei zum Erkennungszeitpunkt ziehen.*
-
@drapo
Ich habe es so gelöst, klappt super sobald der webhook ausgelöst wird speichere ich in dem moment ein Snapshot ab und lasse es mir per Telegram schicken.Hier der nicht lesbare Pfad: wget --output-document /opt/iobroker/temp/Kameras/Haustür/alarm.jpeg 'http://192.168.1.31/snap.jpeg'
-
-
@drapo sagte in Unifi Protect Webhooks:
Hat jemand das selbe verhalten festgestellt?
In einem anderen Thread hier (erst vor paar Tagen) wurde davon berichtet, das der Webhook erst auslöst, wenn die Aufnahme beendet wird. Das natürlich weniger cool. Derjenige hat ein Ticket bei Unifi eröffnet. Mal schauen ob sie da was ändern.
-
Das Phänomen kann ich bei mir nicht bestätigen. Bei mir wird der Webhook direkt ausgeführt.
Protect läuft auf einer UDM-Pro. -
@warp735 ja das Ticket ist von mir bei Unifi. Das verhalten ist nach wie vor noch so. Triggere mittels Webhook auf Gesichtserkennung. Leider kriege ich das Bild immer erst wenn die Aufnahme beendet wird. Das bringt dann nichts.
Hier ein Beispiel wie die Tür bereits wieder fast zu geht. Ich möchte natürlich die Person sehen und nicht das leere Bild
Ich habe mir sogar das Blockly so nachgebaut wie von @Elektroniker86 freundlicherweise aufgeführt. Leider immer noch das selbe Verhalten. Die Bilder werden zum falschen Zeitpunkt genommen resp. der Trigger löst zu spät aus.
Bei mir laufen ein paar G5 Turret Ultras mit einem AI Port der die Gesichtserkennung durchführt. Das ganze ebenfalls auf einer UDM pro und einem 24port unifi Poe switch.
-
Bis anhin hatte ich ein Javascript im Einsatz
var timeout; on({ id: '0_userdata.0.Camera_Hauseingang_Detection_Unkown_Person' /* Camera_Hauseingang_Unkown_Person_erkannt */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState('0_userdata.0.Camera_Hauseingang_Detection_Unkown_Person').val == true) { httpGet('https://192.168.3.108/snap.jpeg', { responseType: 'arraybuffer', validateCertificate: false}, async (err, response) => { sendTo('telegram', 'send', { user: 'user', caption: 'Fremde Person vor dem Hauseingang erkannt.', text: createTempFile(`snap.jpg`, response.data), }); }); timeout = setTimeout(async () => { timeout = null; setState('0_userdata.0.Camera_Hauseingang_Detection_Unkown_Person' /* Camera_Terasse_Unkown_Person_erkannt */, false, true); }, 60000); } else if (getState('0_userdata.0.Camera_Hauseingang_Detection_Unkown_Person').val == false) { (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})(); } });