NEWS
[Neuer Adapter] Reolink Kamera
-
Hallo @oelison,
danke für deine Arbeit an dem Adapter. Ich nutze ihn (aktuell v1.2.1) mit 3 Reolink E1 Outdoor Pro und es funktioniert bestens.
Bei .settings.ptzPreset habe ich bisher mit 2 Positionen gearbeitet - mit 0 und 1 bezeichnet, da numerischer DP. Jetzt wollte ich eine weitere Position hinzufügen, mit 2 bezeichnet. Dies geht in der Web-Oberfläche der Reolink problemlos, aber leider nicht über den Adapter. Er lässt den Eintrag der Zahl "2" im o. g. Datenpunkt zwar zu, gibt dies aber nicht an die Kamera weiter.
Ist dies ein Thema des Adapters, oder könnte es an anderer Stelle ein Problem geben? -
@vowill .. Der Adapter nimmt die ID des Presets und nicht den Namen.
Das erste Preset ist die Nummer 1 im Datenpunkt.
Ich habe bei meinen Reolinks die Presets so benannt, wie ich sie brauchen:
Innenhof, Strand, Schwimmteich, Sonnendeck, Koiteich, Terrasse
Im Datenpunkt werden sie mit:
1, 2, 3, 4, 5, 6, 7
angesteuert
-
@skvarel Danke! Vermutlich ist das bei deinen Reolink-Kameras dann anders implementiert als bei der Reolink E1 Outdoor Pro. Dort gibt es keine separate ID, sondern nur ein Namensfeld:
Wie gesagt, bei 3 angelegten Presets funktioniert die Auswahl mit den Nummern 0 und 1 für die ersten beiden (die ich ebenfalls mit den Namen "0" und "1" in der Web-Oberfläche bezeichnet habe), aber eben nicht bei dem dritten Preset.
Was ich auch feststelle: Wenn die Kamera über die Web-Oberfläche gesteuert wird (einen anderer Preset anfahren, LED togglen, ...), werden diese Änderungen im DP im ioBroker nicht nachgetragen. In die andere Richtung, also vom ioBroker zur Kamera, werden Änderungen ohne Verzögerung umgesetzt. -
@vowill .. ich habe mehrere E1 Outdoor hier laufen, allerdings ohne Pro
Ja, der Adapter ist da eine Einbahnstraße! Wenn du die Presets im der App oder Webansicht steuerst, wird das Preset im Adapter nicht übernommen.
-
@vowill Benne mal einfach deine Presets in echte Namen und steuere sie dann per Adapter mit 1,2,3 an. Das sollte klappen. Das mach ich bei insgesamt vier Reolinks so.
3x E1 Outdoor und 1x E1 Zoom
Ich nutze allerdings auch nicht die App, sondern die Browser am PC.
In der PC Software siehe ich die IDs auch nicht, sind aber ja da. Sonst würde der Adapter ja nicht auf die Nummern reagieren.
-
@vowill .. du nutzt auch die Browseransicht mit der direkten IP?
Bei all meinen Kameras sieht es so aus. Schon komisch, dass es bei der Pro anders aussieht.
-
@skvarel Nochmal danke.
Die Änderung des Namens von "2" auf einen anderen Text bringt wie zu erwarten keine Lösung.
Beim Zugriff über einen Browser kommt für die Presets das gleiche Bild, wie schon oben eingefügt, hier auf der rechten Seite zu sehen:@oelison, erstaunlich, dass der Adapter für eine große Reihe von unterschiedlichen Reolinks doch so weitgehend funktioniert. Dass dann einzelne Themen nicht laufen (wie vielleicht auch meines), , scheint verständlich.
-
Ich hab immer mal wieder solche Meldungen drin:
reolink.1 2025-03-02 15:03:44.720 error get recording: AxiosError: timeout of 4000ms exceeded reolink.1 2025-03-02 15:03:44.605 error drive infoAxiosError: timeout of 4000ms exceeded reolink.1 2025-03-02 15:03:44.604 error get ai state general: AxiosError: timeout of 4000ms exceeded reolink.1 2025-03-02 15:03:44.604 error get md state: AxiosError: timeout of 4000ms exceeded
Tritt bei 3 verschiedenen Kameramodellen auf.
Aber nur hin und wieder mal -
@merlin123 sagte in [Neuer Adapter] Reolink Kamera:
Tritt bei 3 verschiedenen Kameramodellen auf.
per WLAN angebunden oder per LAN-Kabel?
Die Kameras antworten dann nicht auf eine http/https-Anfrage.Alle zur gleichen Zeit? Ist ein automatischer Neustart eingestellt der zufällig zur Zeit passt?
-
Guten Morgen... ist es mit dem vom Adapter erzeugten DP´s möglich bei einer Reolink die auch gelistet ist, per Script zb den DP´s für die Bewegungserkennung zu aktivieren bzw zu deaktivieren.
Ich hab eine 820 im Auge.
Dankeschön -
@bananajoe 2 mal Wifi, einmal PoE. Automatischer Neustart ist nicht eingestellt, wüsste zumindest nicht wo. (Also Instanzen definitiv nicht)
Ich seh das immer mal wieder im Log, hab aber bisher nicht auf den Zeitpunkt geachtet. Ist auch nicht sehr häufig.
-
hab ich auch seit der vorletzten Version .. glaub ich.da fing das auf einmal an.. ist auch nicht regelmaessig.
Meine Kameras sind alle POE und da startet auch weder Kamera noch Adapter. -
@seb2010 mich würde immer noch interessieren wie ich das AutoTracking schalten kann. Mit dem von dir erstellte Code kann ich leider nichts anfangen, bzw. bräuchte einen Tritt in die richtige Richtung
Wo wird dieser eingesetzt?
Github Issue: https://github.com/aendue/ioBroker.reolink/issues/29
-
@darkdevil Hier ist mein Code um das zu schalten per state=true/false:
async function setAutoTrack(state){ const axios = require("axios") const https = require('https') var options = {url: "https://xxx.xxx.xxx.xxx/api.cgi?cmd=GetAiCfg&user=admin&password=xxxxxxx", jar: true, json: [{ "cmd": "GetAiCfg", "action": 0, "param" : {"channel": 0}}], method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' } } log('Getting AICfg ') await axios({ method: "post", url: options['url'], data: JSON.stringify(options['json']), headers: options['headers'], httpsAgent: new https.Agent({ rejectUnauthorized: false }) }).then(async function (response) { var body = response.data var aiCfg = body[0]['value'] log(JSON.stringify(aiCfg)) aiCfg['bSmartTrack'] = (state == true ? 1 : 0) var options = {url: "https://xxx.xx.xxx.xxx/api.cgi?cmd=SetAiCfg&user=admin&password=xxxxxxxxxx", jar: true, json: [{ "cmd": "SetAiCfg", "action": 0, "param" : aiCfg}], method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' } } log('Setting AICfg ') await axios({ method: "post", url: options['url'], data: JSON.stringify(options['json']), headers: options['headers'], httpsAgent: new https.Agent({ rejectUnauthorized: false }) }).then(function (response) { var body = response.data var aiCfg = body[0]['value'] log(JSON.stringify(aiCfg)) }).catch(function(error){log('error:'+error.code+' '+error.config.url)}); }).catch(function(error){log('error:'+error.code+' '+error.config.url)}); }
-
@seb2010 Super vielen Dank, allerdings wo kommt der Code rein? Ist das ein Java Script?
Ich arbeite vorwiegend mit Blockly