NEWS
[Neuer Adapter] Reolink Kamera
-
@wendy2702 OK, dann formuliere ich es nochmal anders.
Im 1. Step möchte ich den Pool überwachen.
Hier wäre eine Erkennung im Sinne von "Person im Bild" ausreichend.
Der Stream sollte in der Visu dargestellt werden können.
Eine Aufzeichnung wäre schön (am Liebsten auf ein NAS).Was könnte ich da einsetzen, was mit dem Adapter kompatibel ist?
-
@ben1983 Personenerkennung geht z.B. mit Frigate, dafür wird aber z.B. ein Coral USB Stick benötigt damit Prozessor und GPU nicht ständig unter Last laufen. Frigate kann auch aufzeichnen. Kann man alles im YAML für jede einzelne Kamera definieren. Paar wenige sachen kann man auch über GUI.
AgentDVR kann das auch, mein letzter Stand ist das man hier für Personenerkennung aber noch eine weiteren „Server“ benötigt der die „Intelligenz“ mitbringt.
Reolink Kamera selber. Zumindest meine verfügen, wie mittlerweile viele andere, über eine integrierte Objekt / Personen Erkennung. Können auch auf ein NAS speichern oder auf eine interne SD Karte.
Das wollte ich mit meinen eigentlich Testen, kann aber nach einem Unfall die nächsten Monate nicht auf eine Leiter steigen um die SD Karten einzubauen. Hätte den Vorteil das man keine zusätzlichen Server/Tools pflegen muss.
Das sind die mir bekannten Möglichkeiten, gibt aber bestimmt noch mehr.
-
@wendy2702 Mein Vorhaben ist im Einfachsten Sinne:
Kamera auf Pool gerichtet. Wird eine Person erkannt (Nicht spezifisch, sondern einfach nur irgendeine Person),
dann wäre es schön über den Adapter einen Datenpukt gesetzt zu bekommen.
Geht das irgendwie?
Und Optional Aufzeichnung über Netzwerk auf NAS.Was könnt ihr mir da Empfehlen?
-
@ben1983 Wenn du den Reolink Adapter verwenden willst, bleibt nur die in der Kamera integrietre Personen / Objekt Erkennung.
Da gibt es dann unter anderem diese Objekte mit denen man scripte auslösen kann die z.B. Bild schicken und/oder speichern.
-
@wendy2702
Das können viele Reolink mit POE.
Schaue dir mal diese an.https://forum.iobroker.net/topic/78170/wer-hat-die-neue-reolink-cx810/15
-
@gonzokalle ich weiß, habe ja 4x CX810 im Einsatz.
@Ben1983 : hatte die Frage gestellt
-
@wendy2702 Danke,
aber jetzt habe ich leider immer noch keine Empfehlung, welche Kamera für mein Vorhaben am ehesten zutreffend wäre.
Die CX810 mit POE? -
@ben1983 Ich hatte mal HikVision und Trendnet, wegen der besseren Nachtsicht und weil ich nur noch einen Hersteller haben wollte bin ich zu Reolink gewechselt.
Habe aktuell 4x CX810 und 1x CX410 im Einsatz.
Wie bereits erwähnt derzeit mit Frigate zur Objekterkennung, möchte aber wenn es gut funktioniert auf die interne umstellen... sobald ich wieder auf eine Leiter darf um auch eine SD Karte zu installieren.
Einen Link mit Vergleich der Bilder hatte @Gonzokalle schon gepostet.
Hier noch ein weiterer: https://forum.iobroker.net/topic/72110/empfehlung-erfahrung-ip-kamera-mit-farb-nachtsicht/19?_=1745562834537
-
Doch hast du.
Reolink mit POE Anschluss generell.
Der Vergleich sollte dir doch weiter helfen.
Bei beiden werden Personen erkannt. Es kann aber nicht unter Personen unterschieden werden.Die CX810 mit Fabe in der Nacht. Bei schlechten Licht können Geisterbilder entstehen.
Die RLC-810A mit Infrarot bzw. S/W in der Nacht.
-
@ben1983 sagte in [Neuer Adapter] Reolink Kamera:
@wendy2702 Mein Vorhaben ist im Einfachsten Sinne:
Kamera auf Pool gerichtet. Wird eine Person erkannt (Nicht spezifisch, sondern einfach nur irgendeine Person),
dann wäre es schön über den Adapter einen Datenpukt gesetzt zu bekommen.
Geht das irgendwie?
Und Optional Aufzeichnung über Netzwerk auf NAS.Was könnt ihr mir da Empfehlen?
Mögliche Kameras hast du ja jetzt. Diese liefern einen entsprechenden Datenpunkt person_detected als bool. Du brauchst also für den Use Case ke8n frigate oä. Den DP kannst du zb via Blockly auswerten, und via rtsp ein Bild ziehen oder ein Video und entsprechend weiterverarbeiten. Ich schicke mir für meine Haustür bei Detection sofort ein Bild und nehme zusätzlich noch ein Video auf. Beides schicke ich mir per Telegram. Wenn du im reolink Adapter den Abfragezyklus auf 1 stelltst, klappt das gut mit sofortiger Benachrichtigung.
Hier meine Blocklys (ich habe mir Funktionen für Bild/ Video geschrieben, die ich verwenden kann). Das Bild/ Video wird unter /opt/iobroker/… temp. gespeichert und nach Verwendung gelöscht. Den Ziel-Unterordner musst du anlegen.
Trigger Personenerkennung: <block xmlns="https://developers.google.com/blockly/xml" type="on" id="uuz$N*O37(GIt3L;|W,}" x="-1888" y="-128"> <field name="OID">reolink.0.sensor.people.state</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="dF$sT|2X(V+]B`g3IQ8l"> <value name="IF0"> <block type="logic_compare" id="#Z$ww+GTV,y;~1k~a8)^"> <field name="OP">GT</field> <value name="A"> <block type="math_arithmetic" id="LS:]$a.1mBO5=~n2;8xr"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="lu!qJ9/RycKkMtPVDoyu"> <field name="NUM">1</field> </shadow> <block type="time_get" id=")D:qa2zsxK)]g]y)Yh)7"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> <value name="B"> <shadow type="math_number" id="}duth#L-rZjmX9{VARn|"> <field name="NUM">1</field> </shadow> <block type="get_value" id=":bDq^SoFSvWOy3h19dge"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.EigeneDatenpunkte.Sicherheit.HaustuerLetzterAlarm</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="^D9d^X/PE(GSW3sa9%}`"> <field name="NUM">180000</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="2e}?TZmnO-$81$jl$5FH"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="Ay7o1YPRHx%^/vY]u:-?"> <field name="TEXT">Bewegung Haustuere erkannt!</field> </shadow> <block type="text" id="OTh(H#q:)PwET+Up{]-^"> <field name="TEXT">Bewegung Haustüre erkannt: Person/en</field> </block> </value> <next> <block type="debug" id="5rD}Pawz6])4pf^h`6k_"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="C1UVogP=14,aAc?{8w0{"> <field name="TEXT">-HausInfos- Bewegung an Haustüre erkannt!</field> </shadow> <block type="text_join" id="^$hbaQieBtOV+y2oA.Fe"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="P,HXb+hM1zI()Ed)Sxo1"> <field name="TEXT">-HausInfos- Bewegung Haustüre erkannt: Person/en</field> </block> </value> </block> </value> <next> <block type="update" id=":%Z!4W+?#v`4v;ti#vH^"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.EigeneDatenpunkte.Sicherheit.HaustuerLetzterAlarm</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="F^@,^WdCJ+g3)1Dn$DO_"> <field name="ATTR">ts</field> <field name="OID">reolink.0.sensor.motion</field> </block> </value> <next> <block type="procedures_callnoreturn" id="p4lNhcd_%*NuGTeu0PG)"> <mutation name="HaustuerBilderSchicken"></mutation> <next> <block type="procedures_callnoreturn" id="@S~s;54ZH+uI%vHQMMY+"> <mutation name="HaustuereVideoSchicken"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block>
Bild schicken:
<block xmlns="https://developers.google.com/blockly/xml" type="procedures_defnoreturn" id="31W4)co*hfllBmNKD0j2" x="2713" y="-113"> <field name="NAME">HaustuerBilderSchicken</field> <comment pinned="false" h="80" w="160">holt ein Bild vom der Cam und schickt es per Telegram</comment> <statement name="STACK"> <block type="controls_if" id="A6cOkP*h,n}ZilH7=u]+"> <mutation else="1"></mutation> <value name="IF0"> <block type="get_value" id="2xz7D/{7Cr;$%oJ]Qkn-"> <field name="ATTR">val</field> <field name="OID">reolink.0.network.connected</field> </block> </value> <statement name="DO0"> <block type="comment" id="dUWhgD..@x7NToA81J~x"> <field name="COMMENT">http://192.168.253.9:8085</field> <next> <block type="http_get" id="P^;u4LBNv`?U^}YD(64+"> <field name="TIMEOUT">2000</field> <field name="UNIT">ms</field> <field name="TYPE">arraybuffer</field> <value name="URL"> <shadow type="text" id="H]!+Lf(Nc%5_V~fo4v7O"> <field name="TEXT">http://192.168.253.148/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=&user=admin&password=pw</field> </shadow> </value> <statement name="STATEMENT"> <block type="telegram" id="r8,YW-hqOMW(=su_.DVb"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="9eq;NDr4^eD/Qs0(3wN5"> <field name="TEXT">text</field> </shadow> <block type="http_response_tofile" id="!:Ngwi;@%%gZV,lT;T,x"> <value name="FILENAME"> <shadow type="text" id="tO6FZSDjDBqC[fXo`v+?"> <field name="TEXT">temp.jpg</field> </shadow> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> <statement name="ELSE"> <block type="telegram" id="Ov9ho$a#M2b#*oVML:(|"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="]ynKN#t)%{I1c=V__Q(U"> <field name="TEXT">Kamera Haustüre nicht erreichbar!</field> </shadow> </value> </block> </statement> </block> </statement> </block>
Video schicken
<block xmlns="https://developers.google.com/blockly/xml" type="procedures_defnoreturn" id=":u%-]}+:Oq#$%z.*G/X`" x="1897" y="-321"> <field name="NAME">HaustuereVideoSchicken</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="comment" id="=;Hz#?O{6CO(;J.tKZ}z"> <field name="COMMENT">h264Preview_01_ext</field> <next> <block type="variables_set" id="CSw$Oh|zU}or7j|W4sSn"> <field name="VAR" id="fJUJCIN5HrB8Akm?Xu?R">Befehl</field> <value name="VALUE"> <block type="text_join" id="D6.783^7hR8$?`tMsiG~"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="GKb14HP_!Jd~d|6;SWTH"> <field name="TEXT">ffmpeg -y -i rtsp://admin:pw@192.168.253.148:554/h264Preview_01_main -t </field> </block> </value> <value name="ADD1"> <block type="math_number" id="M_4$tL0mfoUN(A`|pHri"> <field name="NUM">30</field> </block> </value> <value name="ADD2"> <block type="text" id="Wj-o%7;;v,y(I~6-t*bK"> <field name="TEXT"> -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=1024:768 -r 15 /opt/iobroker/CamSnapshots/Haustuere.mp4</field> </block> </value> </block> </value> <next> <block type="exec" id="]Mmgt=)}fsMT=2m/c0ub"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="e.P0Y4sWi?jQvW0Ikv9n"> <field name="TEXT">text</field> </shadow> <block type="variables_get" id="qF?QeOdsvtvtsgYP][Aq"> <field name="VAR" id="fJUJCIN5HrB8Akm?Xu?R">Befehl</field> </block> </value> <statement name="STATEMENT"> <block type="telegram" id="Ch~%tXvQ*FvZheza+M.o"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="`}*6Z.:`6}.?55h*`(Nb"> <field name="TEXT">/opt/iobroker/AlarmCam/ImouFlur.jpg</field> </shadow> <block type="text" id="Mp89tz^y0ft*:zf$N__P"> <field name="TEXT">/opt/iobroker/CamSnapshots/Haustuere.mp4</field> </block> </value> <next> <block type="timeouts_wait" id="gDyq4a]Em:EvTOg?ONqG"> <field name="DELAY">10</field> <field name="UNIT">sec</field> <next> <block type="exec" id="N64}k!dt^P+9a7-86D//"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="e.P0Y4sWi?jQvW0Ikv9n"> <field name="TEXT">text</field> </shadow> <block type="text" id="^([ZI#zcti8E-p5%1bvt"> <field name="TEXT">rm /opt/iobroker/CamSnapshots/Haustuere.mp4</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block>
-
@mading kannst du mir mal zeigen wie du die Bewegungserkennung in der Kamera eingestellt hast.
-
@wendy2702 sagte in [Neuer Adapter] Reolink Kamera:
@mading kannst du mir mal zeigen wie du die Bewegungserkennung in der Kamera eingestellt hast.
z.B. über das Web Interface kannst du unter Alarm Settings ein paar Einstellungen durchführen (in welchem Zeitraum etc.).
Ich habe die Erkennung so eingestellt, dass keine vorbei fahrenden Fahrzeuge auf der Kreisstrasse triggern