NEWS
[Neuer Adapter] Reolink Kamera
-
@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?
-
Hallo zusammen,
Ich habe das mit PTZpreset mal eingebaut. Bitte mal testen.
Gruß
Oelsion -
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
-
@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
-
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