NEWS
Frigate Adapter für ioBroker
-
@umichel ,
frigate ist ein Docker-Container, wie das installiert wird steht in der Frigate Doku.Nach der Installation wird MQTT in der Frigate Config aktiviert und mit dem ioBroker MQTT-Adapter der als Server läuft verbunden.
@umichel sagte in Test Frigate Adapter 0.2.5:
Und der Adpater komuniziert dann über MQTT mit Frigate?
Ja.
Für Proxmox habe ich eine Anleitung erstellt.
-
OK, danke.
Ich teste das mal mit einem Container unter einer OMV VM.
Der Nachteil dürfte die fehlende Hardwarebeschleunigung sein, wobei ich auch nicht weiss ob man die wirklich benötigt für Frigate. -
@umichel ,
ja die wird benötigt, da sonst die CPU-Last enorm hoch ist.
Bei 1 bis 2 Kameras geht es aber noch. -
@wal sagte in Test Frigate Adapter 0.2.5:
Für Proxmox habe ich eine Anleitung erstellt.
werd ich mir die Tage auch mal ansehen, mit motioneye hab ich zu viele Fehlauslösungen, grad wenn sich die Lichtverhältnisse(Sonne) sich ändern
-
@crunchip ,
mit Frigate hatte ich bis jetzt lass mich kurz überlegen 0 Fehlauslösungen. -
@wal klingt gut, allerdings hab ich bisserl Bammel ob ich das mit allen Kameras zum laufen bekomm, bezogen auf Installation und Einstellungen
-
@crunchip ,
ja die Konfiguration und Installation ist nicht ohne.
Ohne Coral TPU kannst du den OpenVINO Detector nutzen, der ist mittlerweile auch sehr gut. -
@wal sagte in Test Frigate Adapter 0.2.5:
Ohne Coral TPU kannst du den OpenVINO Detector nutzen
ok, guck ich mal, da ich keine Coral TPU habe
-
Aktuell nutze ich auch MotionEye.
Aber eigentlich nur für die Transcodierung fürs Tablet, nicht für eine Bewegungserkennung.
Bei meiner Reolink funktioniert die Personenerkennung nicht wirklich gut bzw. bei Nachtsicht noch viel weniger.
Wäre halt schön, wenn Frigate sowohl eine gute Personenerkennung und eine Transcodierung bietet? -
@umichel ,
frigate nutzt go2rtc zum transcodieren , Personenerkennung bei mir 100%.
Man braucht aber nicht glauben, das man langsamere Hardware als Motioneye braucht. -
Hallo
Kann mir jemand ein Beispiel zeigen wie ich z.B. eine von frigate erkannte Person als Foto oder Video per Telegram verschicken kann.
Vielen Dank
Gruß Alina -
@eistee ,
zum Beispiel so:var request = require('request'); var fs = require('fs'); var bell = true; var snap = ''; var url = ''; function sendImage() { request.get({url: url, encoding: 'binary'}, function (err, response, body) { fs.writeFile(snap, body, 'binary', function(err) { if (err) { console.error(err); } else { console.log('Snapshot sent'); sendTo('telegram.0', {text: snap, caption: 'Bewegung erkannt'}); } }); }); } on({id: 'frigate.0.doorbell.objects.person.web.snap.snap_0', change: 'any'}, function (obj) { if (bell) { url = obj.state.val; snap = '/tmp/snapshot.jpg'; sendImage(); } bell = false; setTimeout(function() { bell = true; }, 120000); });
-
Moin und zunächst ein Dankeschön für den Einsatz hier.
Ich habe ein reproduzierbares Problem mit dem Adapter. Sobald ich mqtt auf enable setze und frigate neustarte, wird die Erkennung von definierten Objektarten ausgeschaltet. Obwohl ich diese in der frigate config gesetzt habe.
Das ist meine Konfiguration:
cameras: ######################################EINGANGSBEREICH###################################### Eingangsbereich: ffmpeg: #hwaccel_args: preset-vaapi inputs: - path: rtsp://127.0.0.1:8554/Eingangsbereich_low input_args: preset-rtsp-restream roles: - detect - path: rtsp://127.0.0.1:8554/Eingangsbereich input_args: preset-rtsp-restream roles: - record output_args: record: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -c:a aac detect: enabled: True width: 640 height: 360 fps: 15 objects: track: - bicycle - car - person filters: car: threshold: 0.75 record: enabled: true expire_interval: 60 retain: days: 2 snapshots: enabled: true timestamp: true retain: default: 365 motion: mask: - 640,0,640,100,572,93,574,0 zones: Einfahrt: coordinates: 564,131,640,142,640,105,571,97 Stellflaeche: coordinates: 245,196,230,151,373,119,437,136,552,126,640,144,612,330 Tuerbereich: coordinates: 600,330,595,360,76,360,50,253,242,191 mqtt: enabled: true timestamp: true bounding_box: true
Sobald ich mqtt einschalte, werden keine Personen mehr im Eingangsbereich erkannt. Der entsprechende Datenpunktunter frigate.0.objects wird auch nicht erstellt.
Ich habe das selbe Verhalten bei allen Kameras die ich im Einsatz habe (Tapo C320WS).
Was mache ich falsch?
Grüße Robert
-
@minki ,
wenn du im MQTT Adapter das "Eigene States beim Verbinden publizieren oder States bei subscribe publizieren" eingeschaltet hast, muss bei jeder Kamera in den MQTT Objekten "detect.state, motion.state usw" ON stehen. Wenn OFF drinnen steht sendet er beim neu verbinden ein false und schaltet die Funktion aus.
Das ist das Problem wenn du über die Weboberfläche ein oder ausschaltest und der MQTT Adapter nicht läuft, da bekommt er den Status nicht mit. -
@wal
Mein lieber Walter! Du hast mein Problem gelöst und verhindert das eine wehrlose Flasche Weisswein heute Abend missbraucht wird! Genau das war das Problem!
Darauf wäre ich nicht gekommen. Danke dir vielmals! -
v0.2.5 ist jetzt im stable
neu v0.2.6 im latest
add lastcamid and camid
Erleichterung beim zusammensetzen des Dateinamens, wenn man lokal Zugriff auf den Snapshot/Clip hat.
-
@Wal : Guter Adapter
Hab die Logs allerdings voll, dass bool erwartet wurde, aber string reinkam, z.B:
State value to set for "frigate.0.decka.car.snapshot" has to be type "boolean" but received type "string"
Ich denke, hier liegt der Hund begraben (state wird als bool statt string angelegt):
https://github.com/Bettman66/ioBroker.frigate/blob/0c4765ed047dc475960e70fd9ec050d6072b412f/main.js#L92Vielleicht schafft es eine Korrektur in eine der nächsten Updates
-
@moista ,
ich wandle im Adapter die String Objekte (On/OFF) vom MQTT-Adapter in Bool Objekte (True/False) um.if (type.toString() == 'string') if (state.val == 'ON') state.val = true; else if (state.val == 'OFF') state.val = false;
Man kann mit Bool Objekten in der Vis besser arbeiten.
Was bei dir schief läuft kann ich i.M. nicht sagen, da ja Strings erwartet werden.edit: "frigate.0.decka.car.snapshot" ist ein Ordner, dem wird kein Wert zugewiesen.
-
@moista ,
das Objekt "frigate.0.decka.car.snapshot" dürfte es gar nicht geben sehe ich gerade.
So müsste er lauten frigate.0.decka.snapshots.set
Kannst du eine Bildschirmcopy deiner Objekte hier mal zeigen ? -
@Wal
Die Umwandlung von ON/OFF in bool ist auch OK, wie du auch vermutest gibt es den snapshots.set als bool. Für den Snapshots aber nicht, da kommt das JFIF als string encoded rein.Ich weiß gerade nicht, ob du jetzt gerne einen Screen von mqtt oder von frigate haben möchtest und von welchem Bereich genau (der Datentyp ist ja nicht im Baum ersichtlich), daher hoffe ich, dass du mit dem JSON evtl. besser arbeiten kannst ("decka" ist jetzt "eingang"). Ansonsten kann ich natürlich auch Screens anfertigen - muss nur wissen, von was genau
Ich häng auch mal eine gekürzte frigate.yml an, vielleicht hab ich da ja irgendwas falsch eingestellt, so dass sich das bei mir anders verhält als du es erwartest?
mqtt.0.frigate.eingang.json
frigate.0.eingang.json
frigate.ymlDie enthaltenen Snapshots (JFIF...) hab ich durch "JFIF-ERSETZT-MANUELL" ersetzt, damit das JSON nicht so groß ausfällt.