NEWS
[Neuer Adapter] Reolink Kamera
-
Da Du anscheinend kurz nach der Eröffnung dieses Threades das letzte mal hier warst und hier sowie auf GitHub das ganze eher von @oelison weitergeführt wird wollte ich fragen, ob an diesem Adapter noch gearbeitet wird?
Oder habe ich was übersehen?Mir geht es genauso wie @hammerhead86 habe auch eine E1 Outdoor, PTZ oder zumindest die festen PTZ - Preset Punkte anzusteuern sowie auslösen eines screenshots wären schon mal super.
Leider weis ich nicht wie man das alles Programmiert, aber wenn ich was helfen/testen kann einfach melden.
Schöne Grüße
Chistian -
@csr Also der soll noch wachsen dieser Adapter. Das mit der PTZ steuerung scheint auch möglich zu sein. Werden wir aber ohne testen programieren müssen.
-
wie kann ich die aktuelle Test Version installieren?
bzw. wo zu finden?
Möchte die E1 outDoor testen. -
@wolfi https://github.com/aendue/ioBroker.reolink habe gerade meine pullrequest gemerged.
-
@oelison
sorry
Benutzer definierte Installation
von https://nodei.co/npm/iobroker.reolink/ ???
funktioniert nicht
oder wie ?Gruß
-
@wolfi
Du mußt schon den github link nehmen. npm paket gibt es noch nicht.
Dann auf installieren clicken und Kaffe holen. (Ach ne jetzt etwas spät)
Erst kommt:
$ iobroker url https://github.com/aendue/ioBroker.reolink --host server --debug
install aendue/ioBroker.reolink#3a7a52d347193545b4a34c159ea19a326bed7093
NPM version: 6.14.8
Installing aendue/ioBroker.reolink#3a7a52d347193545b4a34c159ea19a326bed7093... (System call)
Dann nach vielen minuten:
npm ..........
upload [0] reolink.admin /opt/iobroker/node_modules/iobroker.reolink/admin/words.js words.js application/javascript
Process exited with code 0 -
Weiß jemand den Syntax (url http.....) um
Bei der E1 Outdoor die preset Punkte anzufahren? -
@oelison sagte in [Neuer Adapter] Reolink Kamera:
Dann auf installieren clicken und Kaffe holen. (Ach ne jetzt etwas spät)
Den Kaffee könnte man sich sparen, wenn man nodejs16/npm8 verwenden würde. Da flutscht das nämlich in kurzer Zeit durch.
-
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
-
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.
-
@kredar In der Beschreibung wird gesagt, dass die meisten Browser bei einer gleichen URI den Cache zurück geben, also immer das gleiche Bild.
-
@oelison oi, könnt ihr das zeug mal in packen?
-
@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.
-
@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. -
@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. -
@da_woody Habe ich übersehen. Ja, die hat ja ne eigene IP.
-
@oelison war nicht gegen dich gerichtet. aber schön, daß es dich weitergebracht hat!
-
@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
-
@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?