Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [Neuer Adapter] Reolink Kamera

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Neuer Adapter] Reolink Kamera

    This topic has been deleted. Only users with topic management privileges can see it.
    • wendy2702
      wendy2702 @Gonzokalle last edited by wendy2702

      @gonzokalle ich weiß, habe ja 4x CX810 im Einsatz.

      @Ben1983 : hatte die Frage gestellt

      Ben1983 1 Reply Last reply Reply Quote 0
      • Ben1983
        Ben1983 @wendy2702 last edited by

        @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?

        wendy2702 G 2 Replies Last reply Reply Quote 0
        • wendy2702
          wendy2702 @Ben1983 last edited by

          @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

          1 Reply Last reply Reply Quote 1
          • G
            Gonzokalle @Ben1983 last edited by Gonzokalle

            @ben1983

            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 1 Reply Last reply Reply Quote 0
            • M
              mading @Ben1983 last edited by mading

              @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.

              IMG_2390.jpeg

              
              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&amp;channel=0&amp;rs=&amp;user=admin&amp;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>
              
              
              wendy2702 1 Reply Last reply Reply Quote 1
              • wendy2702
                wendy2702 @mading last edited by

                @mading kannst du mir mal zeigen wie du die Bewegungserkennung in der Kamera eingestellt hast.

                M 1 Reply Last reply Reply Quote 0
                • M
                  mading @wendy2702 last edited by mading

                  @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.).

                  d82eb7b2-5de3-4f77-893d-f6c040c0259f-grafik.png

                  c69cca23-ed4a-441c-a135-8a80e16fa938-grafik.png

                  Ich habe die Erkennung so eingestellt, dass keine vorbei fahrenden Fahrzeuge auf der Kreisstrasse triggern

                  bea45429-ea13-4f5b-b108-29f773e1f96d-grafik.png

                  1 Reply Last reply Reply Quote 1
                  • D
                    Dominic151617 last edited by

                    Hallo zusammen, Ich bräuchte mal nen Tipp. Ich versuche grad das Bild einer Kamera per Telegram zu verschicken. Da http-get am Certifikat scheitert, dachte ich mir ich nutze die eingebaute Funktion des Adapters.

                    sendTo("reolink.0",{action: "snap"}, function(result){
                        sendTo("telegram.0",{text:result});
                    });
                    

                    Leider scheint Telegram das aber nicht als Bild zu erkennen.

                    sendTo("reolink.0",{action: "snap"}, function(result){
                        const buffer =Buffer.from(result.base64, "base64");
                        sendTo("telegram.0",{text:buffer});
                    });
                    

                    die Fehler sind Wahlweise

                    	Failed sending [chatId - 995414256]: Error: ETELEGRAM: 413 Request Entity Too Large
                    	Failed sending [chatId - 995414256]: Error: ETELEGRAM: 400 Bad Request: message text is empty
                    

                    Hat jemand nen Tipp?

                    wendy2702 1 Reply Last reply Reply Quote 0
                    • wendy2702
                      wendy2702 @Dominic151617 last edited by

                      @dominic151617 warum nicht das fertige Blockly von z.B. hier nutzen:

                      https://forum.iobroker.net/post/1267946

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        Dominic151617 @wendy2702 last edited by

                        @wendy2702 Dank für die schnelle Antwort. Das war auch mein Startpunkt. Leider bekomme ich da den Fehler

                        script.js.Kamera.Reolink_Haustür: httpGet(url=http://192.168.178.123/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=&user=admin&password=geheim, error=self-signed certificate)
                        

                        Darüber ist @Ringo-66 auch schon weiter oben gestolpert. Leider konnte ich im weiteren Verlauf keine Lösung dafür finden. Daher habe ich einen anderen Ansatz gewählt. Ansicht macht es ja auch wengig sinn, das Bild erst auf die Platte zu schreiben und dann wieder einzulesen.

                        wendy2702 oelison 2 Replies Last reply Reply Quote 0
                        • wendy2702
                          wendy2702 @Dominic151617 last edited by

                          @dominic151617 hast du denn „http“ in der Kamera aktiv?

                          1 Reply Last reply Reply Quote 0
                          • oelison
                            oelison @Dominic151617 last edited by oelison

                            @dominic151617 Probier ersteinmal wie telegram das Bild haben will:

                            sendTo("telegram.0",{file:{type:"image/png",base64:"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACmSURBVFhH7ZdhCoAgDEZnd9D737T8xJkNNY1Ef+yB2LTcC1qWOT20kCBgjIkh0WwfmeuIxyGYnRzIPElgFSqgAvsKOOdCzeZ1y7EcZzDG16HvwtckihLdA4xxk3HeGGttc17Cc+lN6Ds/dlO6w6/ItQHn7H4GcDK3Em/zNboE5KKjcQstQxVQARVYLlDdC2YzvBfMQgVUYB8BlMWfn2E1ZJ7Fv+dEF0UZoNhXp9NnAAAAAElFTkSuQmCC"}});
                            

                            oder

                            sendTo("telegram.0",{file:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACmSURBVFhH7ZdhCoAgDEZnd9D737T8xJkNNY1Ef+yB2LTcC1qWOT20kCBgjIkh0WwfmeuIxyGYnRzIPElgFSqgAvsKOOdCzeZ1y7EcZzDG16HvwtckihLdA4xxk3HeGGttc17Cc+lN6Ds/dlO6w6/ItQHn7H4GcDK3Em/zNboE5KKjcQstQxVQARVYLlDdC2YzvBfMQgVUYB8BlMWfn2E1ZJ7Fv+dEF0UZoNhXp9NnAAAAAElFTkSuQmCC"});
                            

                            Im Reolink adapter ist auch ein Beispiel für Matrix (Synapse, Elements)

                            sendTo("reolink.0",{action: "snap"}, function(result){
                                sendTo("matrix-org.0",{file:result});
                            });
                            
                            1 Reply Last reply Reply Quote 0
                            • D
                              Dominic151617 last edited by

                              @wendy2702 🤦‍♂️ ich glaube da habe ich vergessen auf speichern zu klicken. Leider stolpere ich damit in den nächsten Fehler. Ich bekomme nur den Pfad und nicht das Bild. Wenn ich Terminal schaue, ist die Datei aber vorhanden. Ich lege das Thema für heute erstmal zur Seite. Besten Dank schon mal.

                              1 Reply Last reply Reply Quote 0
                              • D
                                Dominic151617 last edited by

                                So, hab es jetzt doch hinbekommen. Danke noch mal an @wendy2702 und @oelison. Ich spar mir mal, über welche Fehlversuche ich zur Löung gekommen bin. Im Endefekt muss der Buffer als

                                {"type":"Buffer","data":[255,216,255,219,0,132,0,10,7,7,8,7 (hier fehlt ne Menge)]}
                                

                                vorliegen. Was jetzt funktioniert ist:

                                  sendTo("reolink.0",{action: "snap"}, function(result){
                                    const buffer =Buffer.from(result.base64, "base64");
                                    sendTo('telegram.0', {
                                                text: buffer,
                                                type: "photo",
                                                caption: 'A wonderful adapter'
                                            });
                                  });
                                
                                oelison 1 Reply Last reply Reply Quote 1
                                • Ben1983
                                  Ben1983 @Gonzokalle last edited by Ben1983

                                  @gonzokalle Hi. Habe die CX810 nun hier. Auch in der APP, aber komme mit dem Adapter nicht online, bzw. der link auf github zur API, macht bei mir nichts. muss ich noch was beachten?

                                  Edit: Habe es schon gefunden und in der APP https aktiviert.

                                  1 Reply Last reply Reply Quote 0
                                  • oelison
                                    oelison @Dominic151617 last edited by

                                    @dominic151617 Danke. Ich habe das jetzt auch in die Readme.md kopiert.

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    533
                                    Online

                                    31.6k
                                    Users

                                    79.4k
                                    Topics

                                    1.3m
                                    Posts

                                    kamera neuer adapter reolink testen
                                    151
                                    999
                                    245805
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo