Skip to content
  • 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
  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 454.9k 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.
  • Axel KoenekeA Axel Koeneke

    @noidea sagte in [Neuer Adapter] Reolink Kamera:

    Hallo Zusammen,

    ich bin seit gestern auch Besitzer einer Reolink E1 Outdoor. Ich kann per App als auch über Web Browser auf die Kamera zugreifen. Soweit so gut. Allerdings bekomme ich es nicht hin, das sich der Adapter mit der Kamera verbindet. Im Protokoll sehe ich folgende Fehlermeldung:

    42429e72-f1fb-4da9-a730-b1c5ffd15f6c-grafik.png
    Im Adapter habe ich folgende Eingetragen:

    d10c210e-1157-46f8-be38-643e418a1362-grafik.png

    Habe ich da irgendwas übersehen oder nicht beachtet?
    Wahrscheinlich liegt das Problem wieder schön zwischen den Ohren 🙂

    Vielen Dank und schöne Grüße

    Hallo @noidea,
    vermutlich hast du das gleiche Problem was auch mich beinahe wahnsinnig gemacht hat:
    Wenn man eine Instanz anlegt und die IP-Adresse eingibt, dann ist da automatisch schon eine Leerstelle vor deiner Eingabe.
    Das fällt aber leider nicht gleich auf, da nur ein kleiner Platz vor der "1" entsteht.
    Dies ist reproduzierbar - also ein BUG 🙂
    @oelison bitte selbst mal testen.

    VG
    Axel

    M Offline
    M Offline
    mike2712
    schrieb am zuletzt editiert von
    #610

    @axel-koeneke

    oh mein Gott, ich habe 3 Kameras und nur eine lief, mit den anderen beiden hatte ich dieses Problem Problem.
    Vielen Dank.

    ioBroker im Docker auf Qnap TS-453A 16GB Ram 4-Bay

    Axel KoenekeA 1 Antwort Letzte Antwort
    0
    • M mike2712

      @axel-koeneke

      oh mein Gott, ich habe 3 Kameras und nur eine lief, mit den anderen beiden hatte ich dieses Problem Problem.
      Vielen Dank.

      Axel KoenekeA Offline
      Axel KoenekeA Offline
      Axel Koeneke
      schrieb am zuletzt editiert von
      #611

      @mike2712 sagte in [Neuer Adapter] Reolink Kamera:

      @axel-koeneke

      oh mein Gott, ich habe 3 Kameras und nur eine lief, mit den anderen beiden hatte ich dieses Problem Problem.
      Vielen Dank.

      Kein Thema,
      @oelison : Bitte in die ToDo Liste aufnehmen 🙂
      VG
      Axel

      1 Antwort Letzte Antwort
      0
      • Michael SchumannM Offline
        Michael SchumannM Offline
        Michael Schumann
        schrieb am zuletzt editiert von Michael Schumann
        #612

        Hallo,

        erstmal vielen Dank für diesen super Adapter.
        Könnte man noch eine Liste mit unterstützen Kameras in der Readme hinzufügen? Und Installationshinweise?

        Was ich bisher beim Durchlesen dieses (sehr langen) Threads herausgefunden habe:

        • Passwort sollte keine Sonderzeichen enthalten
        • Falls IP nicht funktioniert den FQDN (url) nehmen --> musst ich machen

        Kameras:

        • Reolink Lumus, E1, E1 Pro -> Funktionieren nicht, da kein http support (habe die Lumus selbst gehabt und deswegen zurückgehen lassen)

        • Reolink E1 Zoom: hat nur eingeschränkten http Support. Move detection geht, vieles andere aber nicht wie z.B. Sirene auslösen. Ist auch nicht via Software/Firmware lösbar sondern ein Hardware Problem (Info habe ich irgendwo im Internet gelesen, da hat jemand ein längeres Gespräch mit dem Support gehabt). Bei mir sieht die E1 Zoom so aus:
          ioBrokerReolink.png

        • Reolink E1 Outdoor: Wurde hier bereits getestet und soll funktionieren

        Weitere Kameras tbd, aber hier wurden ja schon einige andere genannt.

        1 Antwort Letzte Antwort
        0
        • oelisonO oelison

          @bert-0 Deswegen wäre es um so wichtiger zu wissen, welches Zeichen es ist. Es wird ja letztendlich in eine URL umgewandelt und dabei wird der Fehler auftreten.

          Und für playAlarm sollte der Soundvolume nicht null sein. Es wird nur eine abspiel Anzahl gesetzt. Bitte unter Einstellungen -> Audio -> Volume den Sondtest machen.

          B Nicht stören
          B Nicht stören
          bommel_030
          schrieb am zuletzt editiert von
          #613

          @oelison

          Wenn ich es richtig verstanden habe gibt die API aktuell keine Push-Möglichkeit und du holst "nur" den Motion-Teil per Polling. Wäre es möglich auch weitere Datenpunkte per Polling abzurufen? Mit geht es hier insbesondere um ptzPreset. ptzEnableGuard und switchLED wären auch relativ weit oben in der Liste.

          oelisonO 1 Antwort Letzte Antwort
          0
          • B bommel_030

            @oelison

            Wenn ich es richtig verstanden habe gibt die API aktuell keine Push-Möglichkeit und du holst "nur" den Motion-Teil per Polling. Wäre es möglich auch weitere Datenpunkte per Polling abzurufen? Mit geht es hier insbesondere um ptzPreset. ptzEnableGuard und switchLED wären auch relativ weit oben in der Liste.

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

            @bommel_030 Ja, das ist richtig. Push ist über die API leider nicht vorgesehen. Die von Dir aufgeführten Datenpunkte sind unter Settings. Die können nur gesetzt werden. Die zugehörigen get Funktionen gibt es in der API, aber die geben nur die Konfiguration wieder und nicht den Status.

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

            B 1 Antwort Letzte Antwort
            0
            • oelisonO oelison

              @bommel_030 Ja, das ist richtig. Push ist über die API leider nicht vorgesehen. Die von Dir aufgeführten Datenpunkte sind unter Settings. Die können nur gesetzt werden. Die zugehörigen get Funktionen gibt es in der API, aber die geben nur die Konfiguration wieder und nicht den Status.

              B Nicht stören
              B Nicht stören
              bommel_030
              schrieb am zuletzt editiert von
              #615

              @oelison
              Alles klar, dann hab ich das falsch verstanden. Danke für die Rückmeldung.

              1 Antwort Letzte Antwort
              0
              • skvarelS skvarel

                @michihorn sagte in [Neuer Adapter] Reolink Kamera:

                Hallo habe heute im ferienhaus eine E1 Outdoor installiert. Leider klappt es zu Hause nicht mit dem Adapter. Folgendes steht im Log:

                
                reolink.0
                2023-03-21 22:02:59.100	error	Error: connect EHOSTUNREACH 192.168.xxx.249:443: EHOSTUNREACH
                
                reolink.0
                2023-03-21 22:02:53.771	silly	States system redis pmessage system.adapter.reolink.0.logLevel/system.adapter.reolink.0.logLevel:{"val":"silly","ack":true,"ts":1679432573639,"q":0,"from":"system.adapter.reolink.0","lc":1679432506968}
                
                reolink.0
                2023-03-21 22:02:53.631	info	Current IP: 192.168.xxx.249
                
                reolink.0
                2023-03-21 22:02:53.626	info	Reolink adapter has started
                
                reolink.0
                2023-03-21 22:02:53.540	info	starting. Version 0.1.1 (non-npm: aendue/ioBroker.reolink#b78aab6744cdb81b360fd947a9c6e2fd6808bab1) in /opt/iobroker/node_modules/iobroker.reolink, node: v18.12.0, js-controller: 4.0.24
                
                reolink.0
                2023-03-21 22:02:49.183	silly	statesDB connected
                
                reolink.0
                2023-03-21 22:02:49.181	debug	States connected to redis: 127.0.0.1:9000
                
                reolink.0
                2023-03-21 22:02:49.006	debug	States create User PubSub Client
                
                reolink.0
                2023-03-21 22:02:49.005	debug	States create System PubSub Client
                
                reolink.0
                2023-03-21 22:02:48.940	debug	Redis States: Use Redis connection: 127.0.0.1:9000
                
                reolink.0
                2023-03-21 22:02:48.937	silly	objectDB connected
                
                reolink.0
                2023-03-21 22:02:48.931	silly	redis psubscribe cfg.o.enum.*
                
                reolink.0
                2023-03-21 22:02:48.842	silly	redis psubscribe cfg.o.system.user.*
                
                reolink.0
                2023-03-21 22:02:48.839	debug	Objects connected to redis: 127.0.0.1:9001
                
                reolink.0
                2023-03-21 22:02:48.830	debug	Objects client initialize lua scripts
                
                reolink.0
                2023-03-21 22:02:48.556	debug	Objects create User PubSub Client
                
                reolink.0
                2023-03-21 22:02:48.554	debug	Objects create System PubSub Client
                
                reolink.0
                2023-03-21 22:02:48.552	debug	Objects client ready ... initialize now
                
                reolink.0
                2023-03-21 22:02:48.427	debug	Redis Objects: Use Redis connection: 127.0.0.1:9001
                

                Screenshot 2023-03-21 220609.png
                Wo bin ich falsch abgebogen?
                Was muss ich bei Kanal eintragen?
                Gruß Michael

                .. alle Ports in der Browseransicht aktiviert?

                Die E1 Outdoor läuft auf jeden Fall mit dem Adapter
                0e297a85-8453-4ffd-885a-4611a0712948-image.png

                Michael SchumannM Offline
                Michael SchumannM Offline
                Michael Schumann
                schrieb am zuletzt editiert von
                #616

                @skvarel :
                Ist das eine normale E1 Outdoor bei dir oder eine E1 Outdoor Pro?
                Habe nun die E1 Zoom umgetauscht, da AudioAlarmPlay nicht verfügbar war und mir eine E1 Outdoor geholt in der Hoffnung, dass es dann im ioBroker bei mir genau so aussieht wie bei dir 🙂 Leider nein, wie man in meinem letzten Eintrag sieht, alle Werte bei Settings sind (null).
                Wenn ich die API direkt anspreche (z.B. via Python) bekomme ich statt "not supportet" wie bei der E1 Zoom ein "[{'cmd': 'AudioAlarmPlay', 'code': 1, 'error': {'detail': 'ability error', 'rspCode': -26}}]" zurück gemeldet 😢
                Weiß jemand was ein ability error ist? Muss ich vllt. nur etwas umkonfigurieren?

                Oder hat hier noch jemand eine E1 Outdoor erfolgreich eingebunden, mit allen Settings?

                B 1 Antwort Letzte Antwort
                0
                • MatzebhvM Offline
                  MatzebhvM Offline
                  Matzebhv
                  schrieb am zuletzt editiert von Matzebhv
                  #617

                  Ich habe seit kurzem leider auch den Fehler "TypeError: Cannot read properties of undefined (reading 'DevInfo'): undefined". Der Adapter bleibt dabei auf gelb.
                  Der Adapter hat davor klaglos funktioniert.
                  Kamera: RLC-833A

                  Matze

                  Edit: die Version 0.1.2 läuft, die Versionen danach nicht mehr.

                  oelisonO 1 Antwort Letzte Antwort
                  0
                  • MatzebhvM Matzebhv

                    Ich habe seit kurzem leider auch den Fehler "TypeError: Cannot read properties of undefined (reading 'DevInfo'): undefined". Der Adapter bleibt dabei auf gelb.
                    Der Adapter hat davor klaglos funktioniert.
                    Kamera: RLC-833A

                    Matze

                    Edit: die Version 0.1.2 läuft, die Versionen danach nicht mehr.

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

                    @matzebhv v1.0.2 sollte aber wieder gehen.

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

                    MatzebhvM 1 Antwort Letzte Antwort
                    0
                    • Michael SchumannM Michael Schumann

                      @skvarel :
                      Ist das eine normale E1 Outdoor bei dir oder eine E1 Outdoor Pro?
                      Habe nun die E1 Zoom umgetauscht, da AudioAlarmPlay nicht verfügbar war und mir eine E1 Outdoor geholt in der Hoffnung, dass es dann im ioBroker bei mir genau so aussieht wie bei dir 🙂 Leider nein, wie man in meinem letzten Eintrag sieht, alle Werte bei Settings sind (null).
                      Wenn ich die API direkt anspreche (z.B. via Python) bekomme ich statt "not supportet" wie bei der E1 Zoom ein "[{'cmd': 'AudioAlarmPlay', 'code': 1, 'error': {'detail': 'ability error', 'rspCode': -26}}]" zurück gemeldet 😢
                      Weiß jemand was ein ability error ist? Muss ich vllt. nur etwas umkonfigurieren?

                      Oder hat hier noch jemand eine E1 Outdoor erfolgreich eingebunden, mit allen Settings?

                      B Nicht stören
                      B Nicht stören
                      bommel_030
                      schrieb am zuletzt editiert von
                      #619

                      @michael-schumann
                      Bin mir nicht sicher ob ich dir richtig folgen kann, aber alles unter Settings ist solange Null bis du es beschreibst.
                      Der Adapter kann das was du in den jeweiligen Datenunkt schreibst senden, aber nicht den Status abholen. Das sieht die API so noch nicht vor.
                      AudioAlarmPlay sagt mir nichts, wenn du damit playAlarm meinst, der steuert die Sirene. In den Datenpunkt kannst du eine Zahl schreiben. 0 = AUS, 1 = 1x Alarm, 2 = 2x Alarm abspielen usw. ob und welcher Wert das Maximum ist hab ich noch nicht probiert. Funktioniert hier sowohl mit einer E1 Zoom als auch mit einer E1 Outdoor POE.

                      Michael SchumannM 1 Antwort Letzte Antwort
                      0
                      • oelisonO oelison

                        @matzebhv v1.0.2 sollte aber wieder gehen.

                        MatzebhvM Offline
                        MatzebhvM Offline
                        Matzebhv
                        schrieb am zuletzt editiert von
                        #620

                        @oelison leider nein, grade nochmal probiert.

                        
                        reolink.0
                        2023-12-22 15:02:24.131	error	TypeError: Cannot read properties of undefined (reading 'DevInfo'): undefined
                        
                        reolink.0
                        2023-12-22 15:02:23.452	info	Current IP: 192.168.178.236
                        
                        reolink.0
                        2023-12-22 15:02:23.451	info	Reolink adapter has started
                        
                        reolink.0
                        2023-12-22 15:02:23.442	info	starting. Version 1.0.2 in /opt/iobroker/node_modules/iobroker.reolink, node: v18.19.0, js-controller: 5.0.17
                        
                        oelisonO 2 Antworten Letzte Antwort
                        0
                        • B bommel_030

                          @michael-schumann
                          Bin mir nicht sicher ob ich dir richtig folgen kann, aber alles unter Settings ist solange Null bis du es beschreibst.
                          Der Adapter kann das was du in den jeweiligen Datenunkt schreibst senden, aber nicht den Status abholen. Das sieht die API so noch nicht vor.
                          AudioAlarmPlay sagt mir nichts, wenn du damit playAlarm meinst, der steuert die Sirene. In den Datenpunkt kannst du eine Zahl schreiben. 0 = AUS, 1 = 1x Alarm, 2 = 2x Alarm abspielen usw. ob und welcher Wert das Maximum ist hab ich noch nicht probiert. Funktioniert hier sowohl mit einer E1 Zoom als auch mit einer E1 Outdoor POE.

                          Michael SchumannM Offline
                          Michael SchumannM Offline
                          Michael Schumann
                          schrieb am zuletzt editiert von Michael Schumann
                          #621

                          @bommel_030
                          Ah so funktioniert das! Super vielen Dank, hat geklappt!
                          Allerdings nur bei meiner E1 Outdoor, nicht bei meiner E1 Zoom.
                          Jetzt muss ich mal in den Code schauen wieso ich das nicht selbst via API hinbekommen habe.

                          Gibt es auch irgendwo das Setting um "Bei Bewegungserkennung wird Sirene automatisch ausgelöst" zu aktiveren?

                          1 Antwort Letzte Antwort
                          0
                          • D Offline
                            D Offline
                            dadsche
                            schrieb am zuletzt editiert von
                            #622

                            Hallo Zusammen,

                            ich habe meine RLC-833A mittlerweile eingebunden bekommen und nun wollte ich die Lampe über den IoBroker aktivieren, dies funktioniert aber nicht.
                            Ich gehe doch recht in der Annahme, dass ich das Objekt "switchLed" auf "true" stellen muss, oder?
                            Müssen noch andere Einstellungen getätigt werden?
                            Version des Adapters ist 1.0.2.

                            Wäre nett, wenn ihr mir einen Tipp geben könntet.

                            A 1 Antwort Letzte Antwort
                            0
                            • A Offline
                              A Offline
                              ArnoD
                              schrieb am zuletzt editiert von
                              #623

                              Hallo in die Rund,

                              ich habe zu Weihnachten eine Reolink TrackMix PoE Kamera bekommen und habe diese über ein Javascript mithilfe der Reolink API Doku V8 eingebunden. Jetzt habe ich diesen Adapter entdeckt und wollte fragen, ob dieser noch weiter entwickelt wird?
                              Mir fehlt hier vor allem die Möglichkeit der PTZ Steuerung, um auf diesen Adapter umzusteigen.

                              VG Arno

                              oelisonO 1 Antwort Letzte Antwort
                              0
                              • A ArnoD

                                Hallo in die Rund,

                                ich habe zu Weihnachten eine Reolink TrackMix PoE Kamera bekommen und habe diese über ein Javascript mithilfe der Reolink API Doku V8 eingebunden. Jetzt habe ich diesen Adapter entdeckt und wollte fragen, ob dieser noch weiter entwickelt wird?
                                Mir fehlt hier vor allem die Möglichkeit der PTZ Steuerung, um auf diesen Adapter umzusteigen.

                                VG Arno

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

                                @arnod Hi. Weiterentwickelt wird der. Und PTZ steuerung geht schon. Bitte mal die API Befehle senden, die funktionieren und im Adapter nicht.

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

                                A 1 Antwort Letzte Antwort
                                0
                                • MatzebhvM Matzebhv

                                  @oelison leider nein, grade nochmal probiert.

                                  
                                  reolink.0
                                  2023-12-22 15:02:24.131	error	TypeError: Cannot read properties of undefined (reading 'DevInfo'): undefined
                                  
                                  reolink.0
                                  2023-12-22 15:02:23.452	info	Current IP: 192.168.178.236
                                  
                                  reolink.0
                                  2023-12-22 15:02:23.451	info	Reolink adapter has started
                                  
                                  reolink.0
                                  2023-12-22 15:02:23.442	info	starting. Version 1.0.2 in /opt/iobroker/node_modules/iobroker.reolink, node: v18.19.0, js-controller: 5.0.17
                                  
                                  oelisonO Offline
                                  oelisonO Offline
                                  oelison
                                  schrieb am zuletzt editiert von
                                  #625

                                  @matzebhv Bitte mal den Adapter in Debug umstellen. Es wäre mal interessant wie weit er kommt, befor er die Exeption schmeißt.

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • MatzebhvM Matzebhv

                                    @oelison leider nein, grade nochmal probiert.

                                    
                                    reolink.0
                                    2023-12-22 15:02:24.131	error	TypeError: Cannot read properties of undefined (reading 'DevInfo'): undefined
                                    
                                    reolink.0
                                    2023-12-22 15:02:23.452	info	Current IP: 192.168.178.236
                                    
                                    reolink.0
                                    2023-12-22 15:02:23.451	info	Reolink adapter has started
                                    
                                    reolink.0
                                    2023-12-22 15:02:23.442	info	starting. Version 1.0.2 in /opt/iobroker/node_modules/iobroker.reolink, node: v18.19.0, js-controller: 5.0.17
                                    
                                    oelisonO Offline
                                    oelisonO Offline
                                    oelison
                                    schrieb am zuletzt editiert von
                                    #626

                                    @matzebhv Und das passwort neu setzen!

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

                                    MatzebhvM 1 Antwort Letzte Antwort
                                    0
                                    • oelisonO oelison

                                      @arnod Hi. Weiterentwickelt wird der. Und PTZ steuerung geht schon. Bitte mal die API Befehle senden, die funktionieren und im Adapter nicht.

                                      A Offline
                                      A Offline
                                      ArnoD
                                      schrieb am zuletzt editiert von
                                      #627

                                      @oelison

                                      In meinem Script mache ich das über

                                      [{"cmd":"PtzCtrl","param":{"channel":KameraKanal,"id":ID,"op":Richtung,"speed":Speed}}];
                                      

                                      op: ist dabei die Richtung, also "Left" ,"Right", "Stop", "Up", "Down" , "LeftDown" .. usw.
                                      Dafür habe ich eine eigene Objekt-ID angelegt und solange z.B. "Left" true ist, wird die Kamera nach links verfahren und bei false sende ich dann "Stop" sodass ich in Vis das über eine Tastenfunktion steuern kann.

                                      Habe ich das im Adapter übersehen?

                                      oelisonO 1 Antwort Letzte Antwort
                                      0
                                      • A ArnoD

                                        @oelison

                                        In meinem Script mache ich das über

                                        [{"cmd":"PtzCtrl","param":{"channel":KameraKanal,"id":ID,"op":Richtung,"speed":Speed}}];
                                        

                                        op: ist dabei die Richtung, also "Left" ,"Right", "Stop", "Up", "Down" , "LeftDown" .. usw.
                                        Dafür habe ich eine eigene Objekt-ID angelegt und solange z.B. "Left" true ist, wird die Kamera nach links verfahren und bei false sende ich dann "Stop" sodass ich in Vis das über eine Tastenfunktion steuern kann.

                                        Habe ich das im Adapter übersehen?

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

                                        @arnod Das ist tatsächlich nicht drin. Nur die festen positionen. Das mit links, rechts, usw. kann ich bestimmt einbauen.

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

                                        A 1 Antwort Letzte Antwort
                                        1
                                        • oelisonO oelison

                                          @arnod Das ist tatsächlich nicht drin. Nur die festen positionen. Das mit links, rechts, usw. kann ich bestimmt einbauen.

                                          A Offline
                                          A Offline
                                          ArnoD
                                          schrieb am zuletzt editiert von
                                          #629

                                          @oelison
                                          Das wäre super, 🙂 Danke schon mal für deine Arbeit.
                                          Wenn es dir hilft, hier mein Script wie ich es umgesetzt habe:

                                          'use strict';
                                          //------------------------------------------------------------------------------------------------------
                                          //++++++++++++++++++++++++++++++++++++++++++  USER ANPASSUNGEN +++++++++++++++++++++++++++++++++++++++++
                                          const instanz = '0_userdata.0';                                 // Instanz Script Charge-Control
                                          let PfadEbene1 = 'Reolink';                                     // Pfad innerhalb der Instanz
                                          let PfadEbene2 = ['UserDaten','PTZ','Settings'];                           // Pfad innerhalb PfadEbene1
                                          const KameraKanal = 0;
                                          //++++++++++++++++++++++++++++++++++++++++ ENDE USER ANPASSUNGEN +++++++++++++++++++++++++++++++++++++++
                                          //------------------------------------------------------------------------------------------------------
                                          
                                          //******************************************************************************************************
                                          //**************************************** Deklaration Variablen ***************************************
                                          //******************************************************************************************************
                                          
                                          // @ts-ignore
                                          const axios = require("axios").default;
                                          // @ts-ignore
                                          const https = require("https");
                                          let KameraIP,User,Passwort,reolinkBaseURL,ptzDescription;
                                          
                                          
                                          ScriptStart()
                                          
                                          // Alle nötigen Objekt ID's anlegen 
                                          async function CreateState(){
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[0]}.IP_Adresse`, {'def':'192.168.xxx.xxx', 'name':'Ip Adresse der Kamera' , 'type':'string', 'role':'value', 'desc':'IP Adresse Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[0]}.User`, {'def':'admin', 'name':'User Name' , 'type':'string', 'role':'value', 'desc':'User Name'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[0]}.Passwort`, {'def':'admin', 'name':'Passwort' , 'type':'string', 'role':'value', 'desc':'Passwort'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Stop`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Left`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Right`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Up`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Down`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.LeftUp`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.LeftDown`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.RightUp`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.RightDown`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.ZoomDec`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.ZoomInc`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Auto`, {'def':false, 'name':'Wenn = true wird Automatisch geschwenkt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.StartPatrol`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.StopPatrol`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.ToPos`, {'def':false, 'name':'Wir solange = true ausgeführt' , 'type':'boolean', 'role':'State', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Patrol_ID`, {'def':0, 'name':'Positions ID' , 'type':'number', 'role':'value', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Speed`, {'def':0, 'name':'Geschwindigkeit von 0-64' , 'type':'number', 'role':'value', 'desc':'PTZ Steuerung Reolink'});
                                              createStateAsync(`${instanz}.${PfadEbene1}.${PfadEbene2[2]}.SwitchLed`, {'def':false, 'name':'LED Ein/Aus-schalten' , 'type':'boolean', 'role':'State', 'desc':'LED Ein/Aus-schalten'});
                                          
                                          }
                                          
                                          const sID_IP_Adresse =`${instanz}.${PfadEbene1}.${PfadEbene2[0]}.IP_Adresse`;
                                          const sID_User =`${instanz}.${PfadEbene1}.${PfadEbene2[0]}.User`;
                                          const sID_Passwort =`${instanz}.${PfadEbene1}.${PfadEbene2[0]}.Passwort`;
                                          const sID_Stopp =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Stop`;
                                          const sID_Links =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Left`;
                                          const sID_Rechts =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Right`;
                                          const sID_Rauf =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Up`;
                                          const sID_Runter =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Down`;
                                          const sID_Links_Runter =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.LeftDown`;
                                          const sID_Links_Rauf =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.LeftUp`;
                                          const sID_Rechts_Runter =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.RightDown`;
                                          const sID_Rechts_Rauf =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.RightUp`;
                                          const sID_Zoom_in =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.ZoomDec`;
                                          const sID_Zoom_out =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.ZoomInc`;
                                          const sID_Auto =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Auto`;
                                          const sID_StartPatrol =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.StartPatrol`;
                                          const sID_StoppPatrol =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.StopPatrol`;
                                          const sID_ToPos =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.ToPos`;
                                          const sID_Patrol_ID =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Patrol_ID`;
                                          const sID_Speed =`${instanz}.${PfadEbene1}.${PfadEbene2[1]}.Speed`;
                                          const sID_SwitchLed =`${instanz}.${PfadEbene1}.${PfadEbene2[2]}.SwitchLed`;
                                          
                                          const arrayID_Parameter1 = [sID_Stopp,sID_Links,sID_Rechts,sID_Rauf,sID_Runter,sID_Links_Runter,sID_Links_Rauf,sID_Rechts_Runter,sID_Rechts_Rauf,sID_Zoom_in,sID_Zoom_out]
                                          
                                          
                                          
                                          async function ScriptStart(){
                                              await CreateState();
                                              log(`-==== alle Objekt ID\'s angelegt ====- `);
                                              KameraIP = (await getStateAsync(sID_IP_Adresse)).val;
                                              User = (await getStateAsync(sID_User)).val;
                                              Passwort = (await getStateAsync(sID_Passwort)).val;
                                              reolinkBaseURL = axios.create({baseURL: `https://${KameraIP}`,timeout: 5000,responseType: "json",responseEncoding: "binary",httpsAgent: new https.Agent({rejectUnauthorized: false,})});
                                              
                                          }
                                          
                                          async function postReolink(cmdObject) {
                                          	try	{
                                          		const antwort = await reolinkBaseURL.post(`/api.cgi?user=${User}&password=${Passwort}`, cmdObject);
                                                  //log(JSON.stringify(antwort.data));
                                              } catch(error) {
                                          		log(`Fehler = ${error}`,`warn`);
                                          	}
                                          }
                                          
                                          
                                          // Triggern wenn sich an Einstellung PTZ was ändert
                                          on({id: arrayID_Parameter1, change: "ne"}, async function (obj) {
                                              if(obj.state.val){
                                                  let ID = (await getStateAsync(sID_Patrol_ID)).val;
                                                  let Speed = (await getStateAsync(sID_Speed)).val;
                                                  let Richtung = obj.id.split('.')[4]
                                                  ptzDescription = [{"cmd":"PtzCtrl","param":{"channel":KameraKanal,"id":ID,"op":Richtung,"speed":Speed}}];
                                                  postReolink(ptzDescription);
                                              }else{
                                                  ptzDescription = [{"cmd":"PtzCtrl","param":{"channel":KameraKanal,"op":'Stop'}}];
                                                  postReolink(ptzDescription);
                                              }
                                             
                                          });
                                          
                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          401

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe