NEWS
EuSec / Eufy Camera Foto + Livestream in VIS einbinden
-
Hallo zusammen!
Ich habe schon die Suche genutzt... ich kann allerdings keine Anleitung finden, wie ich die Objekte des EuSec Adapters (habe aktuell 2 Cameras) in meine VIS einbinden kann. Habe mehrere Möglichkeiten getestet, immer ohne Erfolgt (verschiedene Widgets etc.).
Ich habe einige Objekte... z.B. latest_event_pic_html oder livestream (URL) aber ich bekomme kein Bild. Ich habe nur Anleitungen von IP Cameras gefunden... diese hier haben wohl keine eigene IP?
Es wäre toll wenn mir jemand helfen könnte.
Vielen Dank!
-
Hallo zusammen!
Ich habe schon die Suche genutzt... ich kann allerdings keine Anleitung finden, wie ich die Objekte des EuSec Adapters (habe aktuell 2 Cameras) in meine VIS einbinden kann. Habe mehrere Möglichkeiten getestet, immer ohne Erfolgt (verschiedene Widgets etc.).
Ich habe einige Objekte... z.B. latest_event_pic_html oder livestream (URL) aber ich bekomme kein Bild. Ich habe nur Anleitungen von IP Cameras gefunden... diese hier haben wohl keine eigene IP?
Es wäre toll wenn mir jemand helfen könnte.
Vielen Dank!
@mooly
Hallo moonly,
auf der Suche, meine Eufy Kamera-Bilder auf VIS anzuzeigen, bin ich u.ä. auch auf Deine Frage hier gestoßen.
Auch wenn Deine Frage schon sehr alt ist, werde ich hier mal kurz aufschreiben, wie ich es gestern bei mir zum Laufen gebracht habe.
Vielleicht hilft es Dir oder jemand anderem.
Ich beschreiben hier, wie ich ein Foto bei Bewegungserkennung auf VIS darstelle:Vorab eine Info, damit es stabil läuft.
Der Raspberry Pi sollte vom Router immer die gleiche IP-Adresse erhalten.
In der FritzBox (z.B. meine 7490) bei- Heimnetz - Netzwerk
- bei dem Eintrag für den Raspberry Pi auf BEARBEITEN (Stiftsymbol rechts) klicken,
- bei Freigaben - Adressen im Heimnetz (IP-Adressen)
Den Haken bei 'Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen.' setzen - auf 'ÜBERNEHMEN' klicken
- Dann könnt Ihr die FritzBox wieder verlassen
Sollte der Browser bzw. ioBroker-VIS auf dem gleichen Raspberry Pi laufen wie der ioBroker, könnt Ihr für die <IP> auch "127.0.0.1" eingeben.
"127.0.0.1" wird auch als "localhost" bezeichnet, die es einem Computer ermöglicht, mit sich selbst zu kommunizieren, ohne das Netzwerk/Computer zu verlassen.
Dann wären die Einstellungen in der FritzBox oben nicht nötig.Ich habe auf meinem ioBroker den eusec-Adapter installiert und betreibe die Homebase 3 mit Kameras Eufy Solocam S220.
Wenn Ihr keine Homebase habt, sind die Pfade etwas anders.
Die Pfade sind hier leicht bearbeitet,- T8134 ist das Kameramodell gefolgt von der Seriennummer, hier als xxxxx dargestellt
- T8030 ist das Modell der Homebase gefolgt von der Seriennummer, hier als xxxxx dargestellt
Wenn eine Kamera eine Bewegung erkennt, ändert sich das Foto im im absoluten Pfad:
/opt/iobroker/iobroker-data/files/eusec.0/T8030xxxxx/last_event/T8134xxxxx.jpg
(Dateiname bleibt gleich, Datum, Uhrzeit und eventuell die Größe ändert sich)
Auch der Datenpunkt
eusec.0.T8030xxxxx.cameras.T8134xxxxx.picture_url
wird aktualisiert. Dieser enthält den relativen Pfad zum Bild:
/files/eusec.0/T8030xxxxx/last_event/T8134xxxxx.jpgJetzt zuerst eine Bewegung vor der Kamera machen, bis die Eufy-App eine Bewegung signalisiert.
In den o.a. Pfaden müsste jetzt alles aktualisiert worden sein.Nun ein Test, ob das Foto von der Eufy-Kamera erreichbar ist.
Das Foto von der Eufy-Kamera steht im absoluten Pfad:
/opt/iobroker/iobroker-data/files/eusec.0/T8030xxxxx/last_event/T8134xxxxx.jpgIm Browser eingeben:
- http://<IP-des-ioBrokers>
- Port :8082
- Pfad des Fotos nach '/files' = /eusec.0/T8030xxxxx/last_event/T8134xxxxx.jpg
zusammengesetzt:
http://<IP-des-ioBrokers>:8082/eusec.0/T8030xxxxx/last_event/T8134xxxxx.jpgWenn das Bilderschein => OK
Wenn die URL oben im Browser aufgerufen wird und "404" erscheint, liegt die Datei zwar im Dateisystem,
aber der Web-Server hat sie noch nicht indexiert.- im Terminal (SSH) diesen Befehl ausführen:
iobroker upload eusec
Dieser Befehl ist erforderlich, damit Dateien im Ordner /files/ für den Web-Adapter sichtbar werden.
Danach den eusec Adapter neu starten.
Jetzt müsste der Aufruf
http://<IP-des-ioBrokers>:8082/eusec.0/T8030xxxxx/last_event/T8134xxxxx.jpg
das Kamera-Foto von der letzten Bewegungserkennung anzeigen.
Foto in VIS anzeigen:
"Basic-Image" in VIS positionieren
bei Allgemein - Quelle: http://<IP-des-ioBrokers>:8082{val:eusec.0.T8030xxxxx.cameras.T8134xxxxx.picture_url;val.replace('/files', '')}
- Strecken : AKTIV
- Updatezeit : 1000
- Update bei Aufwachen : AKTIV
- Update bei Viewwechsel: AKTIV
- Addiere nichts zur URL: DE-AKTIVIERT
- allowUserInteractions : DE-AKTIVIERT
Alle Checkbox bei Generell, Sichtbarkeit, CSS Font&Text usw. sollten erstmal NICHT gesetzt/aktiv sein.Im Datenpunkt: "eusec.0.T8030xxxxx.cameras.T8134xxxxx.picture_url"
steht der relative Pfad zum neuen Bild (kann auch immer der gleichen Name sein)
z.B.: /files/eusec.0/T8030xxxxx/last_event/T8134xxxxx.jpg
(Der absolute Pfad wäre: /opt/iobroker/iobroker-data/files/eusec.0/T8030xxxxx/last_event/T8134xxxxx.jpg)
Bei "Basic-Image"-Quelle muss jetzt ähnlich wie im Browser stehen:
http://<IP-des-ioBrokers>:8082{val:eusec.0.T8030xxxxx.cameras.T8134xxxxx.picture_url;val.replace('/files', '')}
Die Besonderheit ist jetzt, dass von dem relativen Pfad das "/files" gelöscht werden muss, mit "val.replace('/files', '')"
Bei mir wurde jetzt immer das neue/aktuelle Bewegungsfoto im VIS-Image angezeigt.Ich habe mehrere Kameras und möchte alle Aktionen der Kameras in einem VIS-"Basic-Image" anzeigen.
Für jede Kamere habe ich folgendes Blockly geschrieben:on({ id: [].concat(['eusec.0.T8030xxxxx.cameras.T8134xxxxx.motion_detected']), change: 'any' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : '')) { setState('0_userdata.0.Kamera_Eufy.KamX_ZeigeBild' /* KamX_ZeigeBild */, getState('eusec.0.T8030xxxxx.cameras.T8134xxxxx.picture_url').val, true); setState('0_userdata.0.Kamera_Eufy.KamX-Foto-auf-VIS' /* KamX-Foto-auf-VIS */, getState('eusec.0.T8030xxxxx.cameras.T8134xxxxx.name').val, true); } });In Worten (für jede Kamera):
bei "eusec.0.T8030xxxxx.cameras.T8134xxxxx.motion_detected" kopiere ich die
"eusec.0.T8030xxxxx.cameras.T8134xxxxx.picture_url"
auf einen User-Datenpunkt, z.B. "0_userdata.0.Kamera_Eufy.KamX_ZeigeBild".
Auf einen zweiten User-Datenpunkt z.B. "0_userdata.0.Kamera_Eufy.KamX-Foto-auf-VIS" kopiere ich den Namen der Kamera "eusec.0.T8030xxxxx.cameras.T8134xxxxx.name", damit ich weiß, welches Kamerabild angezeigt wird.Bei "Basic-Image"-Quelle muss jetzt stehen:
http://<IP-des-ioBrokers>:8082{val:0_userdata.0.Kamera_Eufy.KamX_ZeigeBild;val.replace('/files', '')}
Ein "Basic-String"-Object ID muss jetzt stehen:
"0_userdata.0.Kamera_Eufy.KamX-Foto-auf-VIS"
Dann klappt auch die "gemischte" Anzeige bei mir.Soweit mein Aufbau, ich hoffe, Du oder andere könnt damit etwas anfangen.
-
Und noch etwas.....
Die Kameras und die Homebase kommunizieren über WLAN.
Allerdings sind die Kameras in meiner FritzBox 7490 nicht zu sehen (unter Heimnetz - Netzwerk - Aktive Verbindungen).
Wo anders habe ich gelesen, das die Kameras einen extremen Stromsparmodus fahren und so auch NICHT immer "Online" sind, nur wenn etwas passiert.
Neuere FritzBoxen sollen solche Kamers auch unter "Aktive Verbindungen" anzeigen. (meine 7490 ist etwa 12 Jahre alt)
Ein Ping funktioniert auch nicht.
Kann auch an dem o.a. Grund liegen. Wo anders habe ich auch gelesen, dass solche Kameras auf Ping nicht antworten, aus Datenschutzgründen.
Wer weiß?!?
Die Text-Quellen weiß ich leider nicht mehr....
Ich hoffe, ich konnte so etwas Licht ins Dunkle bringen.