NEWS
[Neuer Adapter] Reolink Kamera
[Neuer Adapter] Reolink Kamera
-
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.
-
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 : PortKann 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 -
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
-
@oelison meine frage wurde noch immer nicht beantwortet.
muss ich für jede cam eine eigene instantz basteln?

wie soll ich da eine weitere meiner 8 cams einbinden?
ich hab eine PTZ, könnte auch daten liefern. -
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.
-
@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
-
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 exceededmit 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: -
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 exceededmit 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: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 -
@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?
@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
-
@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
-
@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
Cam-Widget (z.B. Cam Snapshot),
Adresse eingeben: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. -
Cam-Widget (z.B. Cam Snapshot),
Adresse eingeben: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.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
-
@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?
@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
-
@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
@kredar Das mit den einzel Bildern schaue ich mir mal an. Das müsste mit ein paar kniffen auch mit dem Adapter funktionieren. PTZ hatte mich aber gerade mehr beschäftigt. Streams auf der Weboberfläche scheint nur mit Linux server und einem umsetzer zu gehen. Es gibt da viele Programme, möchte aber keins empfehlen, da ich selber das noch nicht probiert habe. Unter Windows gibt es vielleicht die möglichkeit das mit docker zum laufen zu bringen, aber das habe ich noch nicht mal gehört.
-
@wolfi Hast du in Settings->Networksettings->advanced->Port Settings->https eingeschaltet?
packen?
