Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. [Neuer Adapter] Reolink Kamera

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

[Neuer Adapter] Reolink Kamera

Geplant Angeheftet Gesperrt Verschoben Entwicklung
reolinkneuer adaptertestenkamera
1.1k Beiträge 157 Kommentatoren 455.3k Aufrufe 135 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Kredar

    Das Problem habe ich auch das das erste Bild noch geht, danach nichts mehr. Egal welche Zeit zum aktualisieren. Ist auch im Browser so, das liegt an dem Token der muss sich ändern:

    http://<IP>/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=<TOKEN>&user=xxxxx&password=xxxxxx

    Sobald man den Token in irgend einer Art ändert kommt ein Bild. Danach ist diese Kombination (deshalb nenne ich es mal "Token") ungültig und es kommt kein Bild mehr. Da kann man im VIS-Editor jedes Widget nehmen es ändert nichts daran. Man brächte ein Widget was diesen Token ändert bei jedem Bildaufruf. Dann geht es.
    Oder direkt den Stream als Widget einbauen, was aber bisher nicht geht glaube ich.

    Also ein Widget das den Token ändert bei jeder Aktualisierung und dann geht es. Nur woher nehmen? Kann das einer Programmieren? Wäre echt cool, oder irgendwie anders Lösen das die Bilder im VIS bei Aufruf des Widgets verfügbar sind.

    Oder der Adapter hier erstellt ein Token, k.a. Ob das Programmierbar ist. Bisher habe ich schon viel gelesen Reolink und ioBroker, aber habe noch keine Lösung gefunden die geht bzw. die ich checke bei mir zu Integrieren falls es eine gibt hier im Forum.

    mfg

    oelisonO Offline
    oelisonO Offline
    oelison
    schrieb am zuletzt editiert von oelison
    #91

    @kredar

    async getSnapshot() {
    	if (this.reolinkApiClient) {
    		try {
    			const randomseed = Math.round(Math.random() * 10000000000000000000).toString(16);
    			const snapShot = await this.reolinkApiClient.get(`/api.cgi?cmd=Snap&channel=0&rs=${randomseed}&user=${this.config.cameraUser}&password=${this.config.cameraPassword}`);
    			const contentType = snapShot.headers["content-type"];
    			const base64data = Buffer.from(snapShot.data, "binary").toString("base64");
    			return {type: contentType, base64: base64data};
    		} catch (error) {
    			this.log.error(error);
    			return null;
    		}
    	}
    	return null;
    }
    

    Hier der Code im Adapter.

    I like Rust. ioBroker-Adapter: matrix, mediola-gateway, support for reolink

    da_WoodyD K 2 Antworten Letzte Antwort
    0
    • K Kredar

      Das Problem habe ich auch das das erste Bild noch geht, danach nichts mehr. Egal welche Zeit zum aktualisieren. Ist auch im Browser so, das liegt an dem Token der muss sich ändern:

      http://<IP>/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=<TOKEN>&user=xxxxx&password=xxxxxx

      Sobald man den Token in irgend einer Art ändert kommt ein Bild. Danach ist diese Kombination (deshalb nenne ich es mal "Token") ungültig und es kommt kein Bild mehr. Da kann man im VIS-Editor jedes Widget nehmen es ändert nichts daran. Man brächte ein Widget was diesen Token ändert bei jedem Bildaufruf. Dann geht es.
      Oder direkt den Stream als Widget einbauen, was aber bisher nicht geht glaube ich.

      Also ein Widget das den Token ändert bei jeder Aktualisierung und dann geht es. Nur woher nehmen? Kann das einer Programmieren? Wäre echt cool, oder irgendwie anders Lösen das die Bilder im VIS bei Aufruf des Widgets verfügbar sind.

      Oder der Adapter hier erstellt ein Token, k.a. Ob das Programmierbar ist. Bisher habe ich schon viel gelesen Reolink und ioBroker, aber habe noch keine Lösung gefunden die geht bzw. die ich checke bei mir zu Integrieren falls es eine gibt hier im Forum.

      mfg

      oelisonO Offline
      oelisonO Offline
      oelison
      schrieb am zuletzt editiert von
      #92

      @kredar In der Beschreibung wird gesagt, dass die meisten Browser bei einer gleichen URI den Cache zurück geben, also immer das gleiche Bild.

      I like Rust. ioBroker-Adapter: matrix, mediola-gateway, support for reolink

      1 Antwort Letzte Antwort
      0
      • oelisonO oelison

        @kredar

        async getSnapshot() {
        	if (this.reolinkApiClient) {
        		try {
        			const randomseed = Math.round(Math.random() * 10000000000000000000).toString(16);
        			const snapShot = await this.reolinkApiClient.get(`/api.cgi?cmd=Snap&channel=0&rs=${randomseed}&user=${this.config.cameraUser}&password=${this.config.cameraPassword}`);
        			const contentType = snapShot.headers["content-type"];
        			const base64data = Buffer.from(snapShot.data, "binary").toString("base64");
        			return {type: contentType, base64: base64data};
        		} catch (error) {
        			this.log.error(error);
        			return null;
        		}
        	}
        	return null;
        }
        

        Hier der Code im Adapter.

        da_WoodyD Offline
        da_WoodyD Offline
        da_Woody
        schrieb am zuletzt editiert von
        #93

        @oelison oi, könnt ihr das zeug mal in 8e26baaa-8cb8-45bb-bec9-9cd5c9787856-grafik.png packen?

        gruß vom Woody
        HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

        1 Antwort Letzte Antwort
        0
        • W Wolfi

          Habe es gefunden und funktioniert sogar

          E1 Outdoor

          PTZ Preset :

          curl -s -k -X POST -H "Content-Type : application/json" -d "[{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"id":#PRESETID#,"op":"ToPos","speed":32}}]" "http://#IP#/cgi-bin/api.cgi?user=#username#&password=#password#"

          #PRESETID# = Nummer 1 bis x
          #IP# bei mir mit : Port

          Kann man das im Adapter einbauen?

          Gibt es auch für PTZ Movements
          Focus Zoom
          weis nur nicht ob man in diesem Forum links auf andere Seiten einfügen darf?
          Gruss

          oelisonO Offline
          oelisonO Offline
          oelison
          schrieb am zuletzt editiert von
          #94

          @wolfi Danke für Deinen Test. Den kann ich dann leicht einbauen. Ich habe ein Dokument über alle API-Befehle. Nur testen kann ich nichts, da ich noch keine PTZ Kamera habe. Aber die kommt bald. :grinning:

          I like Rust. ioBroker-Adapter: matrix, mediola-gateway, support for reolink

          1 Antwort Letzte Antwort
          0
          • K Kredar

            Das Problem habe ich auch das das erste Bild noch geht, danach nichts mehr. Egal welche Zeit zum aktualisieren. Ist auch im Browser so, das liegt an dem Token der muss sich ändern:

            http://<IP>/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=<TOKEN>&user=xxxxx&password=xxxxxx

            Sobald man den Token in irgend einer Art ändert kommt ein Bild. Danach ist diese Kombination (deshalb nenne ich es mal "Token") ungültig und es kommt kein Bild mehr. Da kann man im VIS-Editor jedes Widget nehmen es ändert nichts daran. Man brächte ein Widget was diesen Token ändert bei jedem Bildaufruf. Dann geht es.
            Oder direkt den Stream als Widget einbauen, was aber bisher nicht geht glaube ich.

            Also ein Widget das den Token ändert bei jeder Aktualisierung und dann geht es. Nur woher nehmen? Kann das einer Programmieren? Wäre echt cool, oder irgendwie anders Lösen das die Bilder im VIS bei Aufruf des Widgets verfügbar sind.

            Oder der Adapter hier erstellt ein Token, k.a. Ob das Programmierbar ist. Bisher habe ich schon viel gelesen Reolink und ioBroker, aber habe noch keine Lösung gefunden die geht bzw. die ich checke bei mir zu Integrieren falls es eine gibt hier im Forum.

            mfg

            W Offline
            W Offline
            Wolfi
            schrieb am zuletzt editiert von Wolfi
            #95

            @kredar
            Ist das Kamera spezifisch mit dem Token?
            Bei meiner E1 Outdoor geht das ohne. Und in Vis kommen wie eingestellt alle 2 sec ein neues Bild.

            1 Antwort Letzte Antwort
            0
            • da_WoodyD Offline
              da_WoodyD Offline
              da_Woody
              schrieb am zuletzt editiert von
              #96

              @oelison meine frage wurde noch immer nicht beantwortet.
              muss ich für jede cam eine eigene instantz basteln?
              a2027ccc-3c58-4a20-a69f-ace7cebc21d5-grafik.png
              wie soll ich da eine weitere meiner 8 cams einbinden?
              ich hab eine PTZ, könnte auch daten liefern.

              gruß vom Woody
              HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

              oelisonO 1 Antwort Letzte Antwort
              0
              • da_WoodyD da_Woody

                @oelison meine frage wurde noch immer nicht beantwortet.
                muss ich für jede cam eine eigene instantz basteln?
                a2027ccc-3c58-4a20-a69f-ace7cebc21d5-grafik.png
                wie soll ich da eine weitere meiner 8 cams einbinden?
                ich hab eine PTZ, könnte auch daten liefern.

                oelisonO Offline
                oelisonO Offline
                oelison
                schrieb am zuletzt editiert von
                #97

                @da_woody Habe ich übersehen. Ja, die hat ja ne eigene IP.

                I like Rust. ioBroker-Adapter: matrix, mediola-gateway, support for reolink

                da_WoodyD 1 Antwort Letzte Antwort
                0
                • oelisonO oelison

                  @da_woody Habe ich übersehen. Ja, die hat ja ne eigene IP.

                  da_WoodyD Offline
                  da_WoodyD Offline
                  da_Woody
                  schrieb am zuletzt editiert von
                  #98

                  @oelison war nicht gegen dich gerichtet. aber schön, daß es dich weitergebracht hat! ;)

                  gruß vom Woody
                  HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                  1 Antwort Letzte Antwort
                  0
                  • oelisonO oelison

                    @kredar

                    async getSnapshot() {
                    	if (this.reolinkApiClient) {
                    		try {
                    			const randomseed = Math.round(Math.random() * 10000000000000000000).toString(16);
                    			const snapShot = await this.reolinkApiClient.get(`/api.cgi?cmd=Snap&channel=0&rs=${randomseed}&user=${this.config.cameraUser}&password=${this.config.cameraPassword}`);
                    			const contentType = snapShot.headers["content-type"];
                    			const base64data = Buffer.from(snapShot.data, "binary").toString("base64");
                    			return {type: contentType, base64: base64data};
                    		} catch (error) {
                    			this.log.error(error);
                    			return null;
                    		}
                    	}
                    	return null;
                    }
                    

                    Hier der Code im Adapter.

                    K Offline
                    K Offline
                    Kredar
                    schrieb am zuletzt editiert von Kredar
                    #99

                    @oelison :

                    Wie importiere ich den Code und wo von dir oben? Bitte Schritt für Schritt. Merci dafür, checke es nicht und unter Adapter (Erweitert) habe ich keine Möglichkeit deines Imports gefunden, oder klassisch übersehen.

                    mfg

                    oelisonO 1 Antwort Letzte Antwort
                    0
                    • K Kredar

                      @oelison :

                      Wie importiere ich den Code und wo von dir oben? Bitte Schritt für Schritt. Merci dafür, checke es nicht und unter Adapter (Erweitert) habe ich keine Möglichkeit deines Imports gefunden, oder klassisch übersehen.

                      mfg

                      oelisonO Offline
                      oelisonO Offline
                      oelison
                      schrieb am zuletzt editiert von oelison
                      #100

                      @kredar Dieser Code ist im Adapter schon drin. main.js#L174. Ich wollt nur zeigen wie ich es gemacht habe. Was möchtest Du denn machen?

                      I like Rust. ioBroker-Adapter: matrix, mediola-gateway, support for reolink

                      K 2 Antworten Letzte Antwort
                      0
                      • oelisonO Offline
                        oelisonO Offline
                        oelison
                        schrieb am zuletzt editiert von
                        #101

                        Hallo zusammen,
                        Ich habe das mit PTZpreset mal eingebaut. Bitte mal testen.
                        Gruß
                        Oelsion

                        I like Rust. ioBroker-Adapter: matrix, mediola-gateway, support for reolink

                        W 1 Antwort Letzte Antwort
                        0
                        • oelisonO oelison

                          Hallo zusammen,
                          Ich habe das mit PTZpreset mal eingebaut. Bitte mal testen.
                          Gruß
                          Oelsion

                          W Offline
                          W Offline
                          Wolfi
                          schrieb am zuletzt editiert von Wolfi
                          #102

                          @oelison

                          Funktioniert noch nicht.
                          Objekt vorhanden.

                          Fehlermeldungen:

                          wenn ich kein port in der Instanz angegebe
                          reolink.0
                          2022-09-05 19:33:34.699 error AxiosError: timeout of 4000ms exceeded

                          mit port
                          2022-09-05 19:32:36.995 error Error: write EPROTO 140316711630784:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:

                          -cs-- 1 Antwort Letzte Antwort
                          0
                          • W Wolfi

                            @oelison

                            Funktioniert noch nicht.
                            Objekt vorhanden.

                            Fehlermeldungen:

                            wenn ich kein port in der Instanz angegebe
                            reolink.0
                            2022-09-05 19:33:34.699 error AxiosError: timeout of 4000ms exceeded

                            mit port
                            2022-09-05 19:32:36.995 error Error: write EPROTO 140316711630784:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:

                            -cs-- Offline
                            -cs-- Offline
                            -cs-
                            schrieb am zuletzt editiert von
                            #103

                            Hi,

                            Hab es von Unterwegs mal getestet.
                            Sprich nur mal schnell mit Mobiltelefon aktualisiert.

                            Geht nicht.

                            Hab nur die 2 Errors zur Verfügung:

                            reolink.0
                            2022-09-05 19:11:29.122	error	TypeError: Cannot read property 'LocalLink' of undefined
                            
                            reolink.0
                            2022-09-05 19:11:29.060	error	TypeError: Cannot read property 'DevInfo' of undefined
                            
                            R 1 Antwort Letzte Antwort
                            0
                            • oelisonO oelison

                              @kredar Dieser Code ist im Adapter schon drin. main.js#L174. Ich wollt nur zeigen wie ich es gemacht habe. Was möchtest Du denn machen?

                              K Offline
                              K Offline
                              Kredar
                              schrieb am zuletzt editiert von Kredar
                              #104

                              @oelison :

                              Ich möchte nur das Bild anzeigen lassen im VIS. Ob per Stream oder einzelne Bilder alle paar Sekunden aktualisiert ist egal. Hauptsache mehr als das eine Bild momentan möglich ist, da keine Token Änderung aktuell. Okay, dann müsste ich deinen Adapter installieren oder? Will es im VIS darstellen, deshalb habe ich es per http probiert um ein Bild im VIS anzeigen zu lassen. Das erste Bild geht ja, danach ist es leider wegen gleichem Token nicht mehr darstellbar. Deshalb suche ich nach einer Lösung um ach im VIS das Bild der Kamera zu erhalten.

                              mfg

                              W -cs-- 2 Antworten Letzte Antwort
                              0
                              • K Kredar

                                @oelison :

                                Ich möchte nur das Bild anzeigen lassen im VIS. Ob per Stream oder einzelne Bilder alle paar Sekunden aktualisiert ist egal. Hauptsache mehr als das eine Bild momentan möglich ist, da keine Token Änderung aktuell. Okay, dann müsste ich deinen Adapter installieren oder? Will es im VIS darstellen, deshalb habe ich es per http probiert um ein Bild im VIS anzeigen zu lassen. Das erste Bild geht ja, danach ist es leider wegen gleichem Token nicht mehr darstellbar. Deshalb suche ich nach einer Lösung um ach im VIS das Bild der Kamera zu erhalten.

                                mfg

                                W Offline
                                W Offline
                                Wolfi
                                schrieb am zuletzt editiert von
                                #105

                                @kredar

                                widget: jqui-mfd cam/snapshot dialog

                                Beispiel: url

                                http://192.168.xxx.xxx:port/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=&user=xxxx&password=xxxxxxx&width=1024&height=768

                                update intervall 2000ms

                                1 Antwort Letzte Antwort
                                0
                                • K Kredar

                                  @oelison :

                                  Ich möchte nur das Bild anzeigen lassen im VIS. Ob per Stream oder einzelne Bilder alle paar Sekunden aktualisiert ist egal. Hauptsache mehr als das eine Bild momentan möglich ist, da keine Token Änderung aktuell. Okay, dann müsste ich deinen Adapter installieren oder? Will es im VIS darstellen, deshalb habe ich es per http probiert um ein Bild im VIS anzeigen zu lassen. Das erste Bild geht ja, danach ist es leider wegen gleichem Token nicht mehr darstellbar. Deshalb suche ich nach einer Lösung um ach im VIS das Bild der Kamera zu erhalten.

                                  mfg

                                  -cs-- Offline
                                  -cs-- Offline
                                  -cs-
                                  schrieb am zuletzt editiert von -cs-
                                  #106

                                  @kredar

                                  Cam-Widget (z.B. Cam Snapshot),
                                  Adresse eingeben:

                                  http://192.168.xxx.xxx/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wluPhfmUCeI5bG7C&user=#xxx#&password=#xxx#&width=640&height=480

                                  rs= egal irgend eine Zeichenfolge
                                  user und passwort #xx# dementsprechend ersetzen, hierzu habe ich einen extra User in der Cam angelegt.

                                  Mit "&width=640&height=480" kann man die Größe festlegen.

                                  Dann die Aktualisierung dementsprechend bei mir z.B. 2000 ms

                                  So klappt es bei mir.

                                  Edit:
                                  Ups, zu langsam getippt, @Wolfi war schneller, aber bei Ihm steht hinter rs keine Zeichenfolge?
                                  Bei mir ohne Port.

                                  K 1 Antwort Letzte Antwort
                                  0
                                  • -cs-- -cs-

                                    @kredar

                                    Cam-Widget (z.B. Cam Snapshot),
                                    Adresse eingeben:

                                    http://192.168.xxx.xxx/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wluPhfmUCeI5bG7C&user=#xxx#&password=#xxx#&width=640&height=480

                                    rs= egal irgend eine Zeichenfolge
                                    user und passwort #xx# dementsprechend ersetzen, hierzu habe ich einen extra User in der Cam angelegt.

                                    Mit "&width=640&height=480" kann man die Größe festlegen.

                                    Dann die Aktualisierung dementsprechend bei mir z.B. 2000 ms

                                    So klappt es bei mir.

                                    Edit:
                                    Ups, zu langsam getippt, @Wolfi war schneller, aber bei Ihm steht hinter rs keine Zeichenfolge?
                                    Bei mir ohne Port.

                                    K Offline
                                    K Offline
                                    Kredar
                                    schrieb am zuletzt editiert von Kredar
                                    #107

                                    Danke für die Antworten.

                                    Ok es geht mit einer Mischung aus beiden Antworten über mir. Ohne Token bei mir, und mit der Größenangabe am Ende der URL und mit einem Token auch nicht nach dem ersten Bild. Ohne die Größenangabe geht es nicht, das erste Bild kommt dann noch, danach nichts mehr.

                                    Nun wie bekommt man das komplette Bild denn drauf? Es ist bei mir immer die Uhrzeit abgeschnitten, nicht sichtbar. Hätte es gerne voll drauf. Habe schon Größe geändert in der URL und auch im Widget, ohne Besserung. Hmm...

                                    mfg

                                    1 Antwort Letzte Antwort
                                    0
                                    • oelisonO oelison

                                      @kredar Dieser Code ist im Adapter schon drin. main.js#L174. Ich wollt nur zeigen wie ich es gemacht habe. Was möchtest Du denn machen?

                                      K Offline
                                      K Offline
                                      Kredar
                                      schrieb am zuletzt editiert von
                                      #108

                                      @oelison :

                                      Will das Bild alle zwei Sek. im VIS sichtbar machen. Der Token ist bei dem Adapter schon drinnen? Hast du schon ein Widget was diesen aus dem Adapter nutzt? Dann wäre es immer Sicher das das Bild auch kommt. Im Moment geht es ohne den Adapter, mal schauen wie lange.

                                      mfg

                                      oelisonO 1 Antwort Letzte Antwort
                                      0
                                      • oelisonO Offline
                                        oelisonO Offline
                                        oelison
                                        schrieb am zuletzt editiert von
                                        #109

                                        @wolfi Hast du in Settings->Networksettings->advanced->Port Settings->https eingeschaltet?

                                        I like Rust. ioBroker-Adapter: matrix, mediola-gateway, support for reolink

                                        W H 2 Antworten Letzte Antwort
                                        0
                                        • oelisonO Offline
                                          oelisonO Offline
                                          oelison
                                          schrieb am zuletzt editiert von
                                          #110

                                          PTZPreset geht jetzt.
                                          Einfach unter Objekte PTZ Preset auf die preset Nummer stellen.

                                          I like Rust. ioBroker-Adapter: matrix, mediola-gateway, support for reolink

                                          -cs-- W T 3 Antworten Letzte Antwort
                                          2
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          526

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe