Hauptmenü

YI Kamera integrieren

Begonnen von lukasbastelpeter, 03 September 2020, 17:30:24

Vorheriges Thema - Nächstes Thema

lukasbastelpeter

Hi zusammen,

ich habe bei dieser Kamera im Angebot zugeschlagen. Hat jemand Erfahrungen? Ich habe hier in einem anderen Thread ein Hack bei Github für ähnliche Modelle gefunden.

Kamera: https://smile.amazon.de/dp/B01MR82NFZ?ref_=Oct_DLandingS_D_4ac55aeb_NA
Hack: https://github.com/TheCrypt0/yi-hack-v4

VG
# Raspberry Pi
# Homematic, Z-Wave
# HUE, Tradfri
# Harmony
# ESP8266  Basteleien per MQTT

hydrotec

Hallo lukasbastelpeter,

Danke für den Hinweis zu der Cam, hab ich auch gleich mal zugeschlagen.
Ich denke für 20 Euro kann man nicht viel falsch machen.
Und wenn die Linse ähnliche Qualität wie die Xiaomi Dafang hat, dann passt es schon mal.  ;)

Rein theoretisch sollte es, in Verbindung mit dem Hack, über das Modul IPCAM funktionieren.
Auch MQTT, mit etwas Programmieraufwand, sollte möglich sein.
Zumindest habe ich das bei einer Dafang so umgesetzt.

Genaueres kann ich dir erst nach dem Erhalt, und etwas "Bastelzeit", der Camera mitteilen.
Eventuell hast du ja vorher schon eine Lösung parat.

MfG Karsten

rakete123

Moin,
ich habe die auch bestellt und werde ebenfalls basteln. Mal schauen was dabei rauskommt.
Zwave: ZMEEUZB1 (Fibaro, Aeotec, diverse)
Zigbee: Conbee (HUE, Xiaomi, osram)
Homematic: HM-MOD-RPI-PCB + diverse HM-CC-RT-DN
Sonstiges: Harmony, Android, Netatmo, Jabber (talk2fhem)
https://resize2fs.de

rob

Hallo.

Hab da auch gleich zugeschlagen. Ich war eigentl. immer auf der Jagd nach den Dafang-Dingern wg. der Freiheiten durch den Hack, scheinen aber nicht mehr verfügbar zu sein (bezahl- und hackbar).

Heute ist die Lieferung angekommen. Schaut so aus, als wenn man ums Verrecken die Äpp braucht und auch noch nach dem Hack der Cloud-Krams aktiviert sein muss. Wozu dann der Hack?
Das Teil ins Wifi zu kriegen ist m.E. richtig sch... schön :) Bin vom EspEasy verwöhnt: Strom, mit AP verbinden, SSID+PW eingeben, kurz warten und fertsch.

Ich trau dem Äpp-Krams nicht, deswegen will ich ja eine andere Firmware drauf haben. Werd mal etwas tiefer forschen müssen.

Viele Grüße
rob

hydrotec

Hallo rob,

bei mir ist die Kamera auch heute angekommen.  :)

Welchen Hack hattest du verwendet?

So wie ich am WE ein wenig im Internet gestöbert habe, gibt es wohl verschiedene Plattformen.

HiSilicon
https://github.com/shadow-1/yi-hack-v3

MStar
https://github.com/roleoroleo/yi-hack-MStar

Allwinner
https://github.com/roleoroleo/yi-hack-Allwinner

Welche Plattformen von
https://github.com/TheCrypt0/yi-hack-v4
verwendet werden, hab ich noch nicht wirklich erkennen können.

Ansonsten weiterhin viel Erfolg  8)

Gruß Karsten

rob

Hallo Karsten.

Danke Dir. Noch hab ich keinen verwendet, wollte grad starten und mich an dieser Anleitung unter https://github.com/TheCrypt0/yi-hack-v4 langhangeln. Da fiel mir auf, dass dort nix beschrieben ist, wie man werksfrische Cams umfrickelt, die noch nie im eigenen Wifi waren .

Ja, die versch. Hacks hab ich auch gesehen und mir geht es wie Dir: Woran erkennt man, welchen Hack man braucht? Ich starte halt mit obigem. Aber zunächst muss ich ein Phone finden, wo es nicht so schlimm ist die komische Äpp herzunehmen. Komme wohl erst heut Abend dazu  :'(

Viele Grüße
rob


rob

Zwischenstand ... passt jetzt eigentl. nicht mehr so richtig in die Anfängerrubrik, aber vielleicht trotzdem OK :)

Hab eine Weile rumtrainiert und der Hack ist jetzt drin. War zwischendrin sehr wütend (jetzt wartet ein kühles Bier auf mich, zum Abkühlen ;D ). Muss nun das Finetuning angehen (Fhem einbinden usw.)

kurz:
- hab den yi-hack-v4 auf SD gepackt --> tut sich nix
- auch yi-hack-MStar tat nix
- erst yi-hack-Allwinner brachte Erfolg

Tatsächlich muss man auf die Rückseite der Cam schauen und die Info der aktuellen Firmware auf der Cam haben. Bei mir schaut es aus wie BPUS - fand ich halt nirgends. Mit einer Lupe fand ich, es könnte auch BFUS heißen.
Also MStar bemüht , wo aber steht "Yi 1080p Home BFUS    4.5.0*    y203c" --> lt. App habe ich aber Firmware 8.2.0
Also Allwinner rangeholt, wo steht "Yi 1080p Home BFUS    8.2.0*    y20ga" --> lt. App passt das schon eher

SD-Card via App formatiert, geleert und die Files vom Hack drauf entpackt. Power von der Cam weg, Card rein und Power hin - plötzlich tut sich was. Dauer ca. 2min.
Hack ist aktiv, Cam weiterhin via App erreichbar und WebIf via http://ip_der_cam:8080 zugreifbar.

Ich frickel noch ein wenig und schaue mal wie das in Fhem einbinde  :o

Viele Grüße
rob




PS:
Was mich verärgert hatte: die Äpp
- hab ein altes ungenutztes Iphone5 verwendet
- Äpp geladen und gestartet
- erste Überraschung: benötige einen Account, sonst geht nix - als Standort hab ich UK genommen, geht keinen was an wo ich sitze (weiß die Äpp eh)
- also registiert mit Wegwerfmail (https://muellmail.com ging 1A)
- in der Äpp einloggen nach Registrierung und weiter
- mit + Cam hinzufügen und Modell aussuchen - QR scannen hat nicht geklappt, also manuell gewählt
- Cam einschalten bis sie was sabbelt von "Waiting to connect" - das musste ich seeehr oft anhören
- Phone muss mit dem Ziel Wifi verbunden sein, dann wird die richtige SSID vorbelegt - nach aktiven Netzen scannen is nich :(
- zweite Überraschung: Passphrase muss eingetippt werden - meine ist 63 Zeichen lang mit vielen Sonderzeichen ... na wenigstens geht hier copy&paste
- nach "Mit WLAN verbinden" wird ein QR-Code angezeigt, den man der Cam vor die Nase halten muss bis es erkannt wurde - hat bei mir ums Verrecken nicht geklappt
- musste nach zig Versuchen mit dem Iphone aufgeben, hab ein Tablet rausgekramt, Äpp druff, angemeldet usw. --> QR wurde von Cam sofort erkannt
- ein wenig später fand ich auf der SD-Card unter log in einem Zipfile u.a. die WPA-Supplicant-Config mit den Wifi-Daten im Klartext
Warum zum Teu*el kann man nicht gleich diese Config auf die Card packen und die Cam liest es ein? Dieses QR-gefrickel hat mich doch sehr genervt. Wäre m.E. auch für den Hack ein todo.

hydrotec

Bin ich froh das ich nicht der Einzige bin der sich die Haare rauft  ;)

Bei mir war es ähnlich.

Zuerst Allwinner auf die SD gelegt, reingesteck und die Kamera hochgefahren.
Auf dem mobile nach verfügbaren Wlan Netzen gesucht, aber nichts gefunden.
Dachte ich könnte mir auf diesem Weg die App ersparen. Falsch gedacht.  >:(
Ok, also App runter geladen, hat alles soweit funktioniert wie in der App beschrieben.
Kamera wurde auch im Router angezeigt.
Doch dann ging es los.
Nochmal die Allwinner-SD rein, hochfahren, kein Zugriff auf die WEB Oberfläche.
Also gut, dann mal MStar versucht, wieder kein Zugriff.
Einen haben wir noch, TheCrypt0 versucht, auch kein Zugriff.
Dann habe ich mir gedacht, eventuell ist die SD-Karte mit 32GB zu groß.
Also Karte partitioniert auf 16GB und dann mit MStar in die Kamera geschoben.
Immer noch kein Zugriff, bis mir aufgefallen ist, das ich zur IP-Adresse auch noch den Port 8080 angeben könnte.
Und siehe da, voller Zugriff auf die WEB-Oberfläche und den Einstellungen.

Was mich etwas irritiert hat, das die im Git-Hub beschrieben LED Signale nicht passen.
Bei mir leuchtete die gelbe LED dauerhaft, dann kam ein höhrbares klicken, darauf blinkte die blaue LED, bis Wlan verbunden ist, und anschließend dauerhaft.
Als nächstes versuche ich doch noch einmal den Allwinner.

Naja, was soll's, jetzt hab ich erst mal genug vom Testen, Hunger  ;)

Schönen Abend noch  :)
Gruß Karsten

rob

#8
@lukasbastelpeter: bevor ich es vergesse: vielen lieben Dank für diesen Super-Tipp. Hab gleich zwei davon geordert und zu diesem Preis sind die Dinger wirklich supi  8)

Weiterer Zwischenstand:
- einbinden in Fhem geht z.B. via IPCAM-Modul 1A
- Motion Detection via MQTT ebenfalls 1A

Zur Cam selbst:
- überraschend gute Sicht im stockdunklen Raum - meine SV3C mit zig IR-Leds kann da nicht ansatzweise mithalten
- Umschaltung hell/ dunkel klappt zuverlässig
- RTSP-Stream lässt sich easy in OpenPLI als TV-Kanal hinzufügen (z.B. dahin umschalten wenn es klingelt usw.)
- Audio funktioniert bidirektional - Micro und Lautsprecher haben eine gute Leistung
- Auflösung Video im Vergleich absolut i.O.
- Motion detect läuft prima, soweit ich das jetzt testen konnte

ein paar Beobachtungen:
- Wifi credentials lassen sich nicht direkt ändern, nur via QR-Methode per Äpp
- Hack bietet im WebIf "Disable Cloud" an
  --> habe trotzdem in OpenWRT den Wan-Zugriff gekappt
  --> plötzlich kann ich weder Snapshots noch Videostream im Lan erreichen, ssh und WebIf laufen jedoch gut
  --> Fhem zeigt Fehlermeldung im Log  :o   
2020.09.07 21:44:20 1: IPCAM YiCam1 Wrong or not supported image format: error while reading source image:
edit: ich war zu voreilig, nach einem Reboot braucht die Cam etwas Zeit bis alles verfügbar ist, dachte es liegt an der Firewall-Änderung

- Fhem zeigt im Log periodisch unabhängig davon noch eine andere Meldung

2020.09.07 21:08:52 1: Error parsing >]
< for files
2020.09.07 21:08:52 1: Error parsing >]
< for files
2020.09.07 21:10:33 1: Error parsing >]
< for files
2020.09.07 21:12:33 1: Error parsing >]
< for files
2020.09.07 21:14:09 1: Error parsing >]
< for files
2020.09.07 21:15:27 1: Error parsing >]
< for files
2020.09.07 21:16:51 1: Error parsing >]
< for files
2020.09.07 21:19:46 1: Error parsing >]
< for files
2020.09.07 21:20:46 1: Error parsing >]
< for files
2020.09.07 21:21:58 1: Error parsing >]
< for files
2020.09.07 21:23:48 1: Error parsing >]
< for files
2020.09.07 21:24:52 1: Error parsing >]
< for files

weiß noch nicht woher das kommt, liegt vielleicht an den MQTT-Messages
- oben genannte Audio-Funktion benötigt leider die Äpp

Cam und Hack sind eine feine Sache. Die Stirnfalten sind jetzt wieder glatt  ;D

Viele Grüße
rob



falls wen die Devicedefis als Beispiel interessieren (MQTT-Device ist komplett automatisch angelegt worden):

defmod YiCam1 IPCAM xxx.xxx.xxx.xxx:8080
attr YiCam1 cmd01 res=high&watermark=yes
attr YiCam1 delay 2
attr YiCam1 disable 0
attr YiCam1 path cgi-bin/snapshot.sh
attr YiCam1 room 99_Security
attr YiCam1 snapshots 5
attr YiCam1 storage ./www/snapshots

setstate YiCam1 last: 2020-09-07 22:05:44
setstate YiCam1 2020-09-07 22:05:47 last YiCam1_snapshot.jpg
setstate YiCam1 2020-09-07 22:05:37 snapshot1 YiCam1_snapshot_1.jpg
setstate YiCam1 2020-09-07 22:05:39 snapshot2 YiCam1_snapshot_2.jpg
setstate YiCam1 2020-09-07 22:05:42 snapshot3 YiCam1_snapshot_3.jpg
setstate YiCam1 2020-09-07 22:05:44 snapshot4 YiCam1_snapshot_4.jpg
setstate YiCam1 2020-09-07 22:05:33 snapshot5 YiCam1_snapshot_5.jpg
setstate YiCam1 2020-09-07 22:05:37 snapshots 5



defmod MQTT2_yi_cam1 MQTT2_DEVICE yi_cam1
attr MQTT2_yi_cam1 IODev myMQTT_Server
attr MQTT2_yi_cam1 readingList yi_cam1:yicam1/motion_detection:.* motion_detection\
yi_cam1:yicam1/motion_files:.* { json2nameValue($EVENT) }
attr MQTT2_yi_cam1 room MQTT2_DEVICE
attr MQTT2_yi_cam1 stateFormat motion_detection

setstate MQTT2_yi_cam1 motion_stop
setstate MQTT2_yi_cam1 2020-09-07 22:21:46 end 2020-09-07T22:20:36+0200
setstate MQTT2_yi_cam1 2020-09-07 22:21:46 files_1 2020Y09M07D22H/20M00S60.mp4
setstate MQTT2_yi_cam1 2020-09-07 22:21:46 files_2 2020Y09M07D22H/19M00S60.mp4
setstate MQTT2_yi_cam1 2020-09-07 22:21:46 files_3 2020Y09M07D22H/18M32S28.mp4
setstate MQTT2_yi_cam1 2020-09-07 22:21:46 files_4 2020Y09M07D22H/17M00S60.mp4
setstate MQTT2_yi_cam1 2020-09-07 22:20:36 motion_detection motion_stop
setstate MQTT2_yi_cam1 2020-09-07 22:21:46 start 2020-09-07T22:18:31+0200


 

hydrotec

#9
Kleiner Zwischenstand (Update)

Zwischenzeitlich die Kamera wieder auf Werkseinstellungen gesetzt, bzw. Hack entfernt. (unhack.tar.gz)
Wlan Einstellungen bleiben erhalten.
Ein Update der Kamera, über die App, installiert. (8.2.0.0A_202007211802)
SD-Karte (32GB) auf Standard Einstellungen formatiert, und yi-hack-Allwinner 0.1.9 (y20gam_0.1.9.tgz) nach Anleitung aufgespielt.
Karte in die Kamera, und nach ein wenig LED-Disco, startet die Kamera ganz normal.
Oberfläche über http://IP:8080 funktioniert.

Jetzt zu FHEM
Erst mal über das Modul 49_IPCAM.pm eingebunden.
Vorneweg, MQTT funktioniert auch.
Doch so wirklich nützliche Informationen, ausser motion_detection, sind nicht dabei.
Deswegen erst mal schauen was mit IPCAM so geht.

Update:

Zu den Einstellungen der Kamera.
Über den Hack lässt sich die Cloud-Funktion abschalten.
Das funktioniert auch ganz gut soweit.
(Danach wird die Kamera in der App nicht mehr gefunden)
Was dann aber auch mit deaktiviert wird, sind die Cloud basierten Anwendungen.
(z.B. AI-Human-Detection, Baby-crying-detect oder das Updaten der YI Kamera Software)
Die funktionieren nur mit der App.
Im Anhang hab ich noch meine derzeitigen Einstellungen des Hacks, und ein Bild der Kamera ohne Deckel mit angeheftet.
(Alles getestet und funktionabel)  8)


Ein paar Cmd's eingefügt, was ganz wunderbar funktioniert, doch ich werde sie vermutlich eh nicht nutzen, und wieder entfernen.
Zum Testen allemal gut  ;)
defmod IP_YI_Home_01 IPCAM 192.168.78.87:8080
attr IP_YI_Home_01 DbLogExclude .*
attr IP_YI_Home_01 basicauth {USERNAME}:{PASSWORD}
attr IP_YI_Home_01 cmd01 switch_on=yes
attr IP_YI_Home_01 cmd02 switch_on=no
attr IP_YI_Home_01 cmd03 save_video_on_motion=yes
attr IP_YI_Home_01 cmd04 save_video_on_motion=no
attr IP_YI_Home_01 cmd05 sensitivity=low
attr IP_YI_Home_01 cmd06 sensitivity=medium
attr IP_YI_Home_01 cmd07 sensitivity=high
attr IP_YI_Home_01 cmd08 led=yes
attr IP_YI_Home_01 cmd09 led=no
attr IP_YI_Home_01 cmd10 ir=yes
attr IP_YI_Home_01 cmd11 ir=no
attr IP_YI_Home_01 cmd12 rotate=yes
attr IP_YI_Home_01 cmd13 rotate=no
attr IP_YI_Home_01 delay 2
attr IP_YI_Home_01 event-on-update-reading snapshots
attr IP_YI_Home_01 group Cam_YI_Home_01
attr IP_YI_Home_01 icon it_camera
attr IP_YI_Home_01 path cgi-bin/snapshot.sh?res=high&watermark=yes
attr IP_YI_Home_01 pathCmd cgi-bin/camera_settings.sh
attr IP_YI_Home_01 room Camera
attr IP_YI_Home_01 snapshots 5
attr IP_YI_Home_01 storage /media/fhem/ipcamera/yi_01/shot
attr IP_YI_Home_01 timestamp 0
attr IP_YI_Home_01 userReadings timestamp_1 {ReadingsTimestamp("IP_YI_Home_01","snapshot1",0)}, \
timestamp_2 {ReadingsTimestamp("IP_YI_Home_01","snapshot2",0)}, \
timestamp_3 {ReadingsTimestamp("IP_YI_Home_01","snapshot3",0)}, \
timestamp_4 {ReadingsTimestamp("IP_YI_Home_01","snapshot4",0)}, \
timestamp_5 {ReadingsTimestamp("IP_YI_Home_01","snapshot5",0)}
attr IP_YI_Home_01 verbose 0


Damit kann ich mir schon mal per Telegram Bilder zusenden lassen.  :)
defmod DI_IP_YI_Home_01_Image_Telegram DOIF ([IP_YI_Home_01:"^snapshots:.5$"]) \
(set MyTelegram sendImage /media/fhem/ipcamera/yi_01/shot/IP_YI_Home_01_snapshot_1.jpg [IP_YI_Home_01:snapshot1] [IP_YI_Home_01:timestamp_1]) \
(set MyTelegram sendImage /media/fhem/ipcamera/yi_01/shot/IP_YI_Home_01_snapshot_2.jpg [IP_YI_Home_01:snapshot2] [IP_YI_Home_01:timestamp_2]) \
(set MyTelegram sendImage /media/fhem/ipcamera/yi_01/shot/IP_YI_Home_01_snapshot_3.jpg [IP_YI_Home_01:snapshot3] [IP_YI_Home_01:timestamp_3]) \
(set MyTelegram sendImage /media/fhem/ipcamera/yi_01/shot/IP_YI_Home_01_snapshot_4.jpg [IP_YI_Home_01:snapshot4] [IP_YI_Home_01:timestamp_4]) \
(set MyTelegram sendImage /media/fhem/ipcamera/yi_01/shot/IP_YI_Home_01_snapshot_5.jpg [IP_YI_Home_01:snapshot5] [IP_YI_Home_01:timestamp_5])
attr DI_IP_YI_Home_01_Image_Telegram DbLogExclude .*
attr DI_IP_YI_Home_01_Image_Telegram devStateIcon cmd_1:general_an cmd_2:general_aus
attr DI_IP_YI_Home_01_Image_Telegram do always
attr DI_IP_YI_Home_01_Image_Telegram group Cam_YI_Home_01
attr DI_IP_YI_Home_01_Image_Telegram icon helper_doif
attr DI_IP_YI_Home_01_Image_Telegram room Camera,Doif


Über HTTPMOD kann man sich den Status der Cam anzeigen, und vermutlich auch noch weitere Dinge damit erledigen.
Ist im Wiki von Allwinner ganz gut beschrieben.
https://github.com/roleoroleo/yi-hack-Allwinner/wiki/Web-services-description
defmod HTTP_YI_Home_01_conf_camera HTTPMOD http://192.168.78.87:8080/cgi-bin/get_configs.sh?conf=camera 60
attr HTTP_YI_Home_01_conf_camera userattr reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name reading05JSON reading05Name reading06JSON reading06Name reading07JSON reading07Name reading08JSON reading08Name reading09JSON reading09Name
attr HTTP_YI_Home_01_conf_camera DbLogExclude .*
attr HTTP_YI_Home_01_conf_camera enableControlSet 1
attr HTTP_YI_Home_01_conf_camera extractAllJSON 0
attr HTTP_YI_Home_01_conf_camera group Cam_YI_Home_01
attr HTTP_YI_Home_01_conf_camera reading01JSON SWITCH_ON
attr HTTP_YI_Home_01_conf_camera reading01Name SWITCH_ON
attr HTTP_YI_Home_01_conf_camera reading02JSON SAVE_VIDEO_ON_MOTION
attr HTTP_YI_Home_01_conf_camera reading02Name SAVE_VIDEO_ON_MOTION
attr HTTP_YI_Home_01_conf_camera reading03JSON SENSITIVITY
attr HTTP_YI_Home_01_conf_camera reading03Name SENSITIVITY
attr HTTP_YI_Home_01_conf_camera reading04JSON AI_HUMAN_DETECTION
attr HTTP_YI_Home_01_conf_camera reading04Name AI_HUMAN_DETECTION
attr HTTP_YI_Home_01_conf_camera reading05JSON BABY_CRYING_DETECT
attr HTTP_YI_Home_01_conf_camera reading05Name BABY_CRYING_DETECT
attr HTTP_YI_Home_01_conf_camera reading06JSON LED
attr HTTP_YI_Home_01_conf_camera reading06Name LED
attr HTTP_YI_Home_01_conf_camera reading07JSON IR
attr HTTP_YI_Home_01_conf_camera reading07Name IR
attr HTTP_YI_Home_01_conf_camera reading08JSON NULL
attr HTTP_YI_Home_01_conf_camera reading08Name NULL
attr HTTP_YI_Home_01_conf_camera reading09JSON ROTATE
attr HTTP_YI_Home_01_conf_camera reading09Name ROTATE
attr HTTP_YI_Home_01_conf_camera room Camera
attr HTTP_YI_Home_01_conf_camera stateFormat Cam on: SWITCH_ON <br/>\
Video on motion: SAVE_VIDEO_ON_MOTION <br/>\
Sensitivty: SENSITIVITY <br/>\
Human detect: AI_HUMAN_DETECTION <br/>\
Crying detect: BABY_CRYING_DETECT <br/>\
Status-LED: LED <br/>\
IR-LED: IR <br/>\
Rotate: ROTATE
attr HTTP_YI_Home_01_conf_camera timeout 5
attr HTTP_YI_Home_01_conf_camera verbose 0


Um die Aufnahmefunktion, wie ich sie verwende, zu nutzen, musste ich doch noch ein MQTT-Device anlegen.
Da ich Mosquitto anstatt MQTT2 im Einsatz habe, ist das Device folgendermaßen angelegt.
(Zu MQTT2 hat "rob" schon nützliche Informationen bereitgestellt.)  :D
defmod MQ_YI_Home_01 MQTT_DEVICE
attr MQ_YI_Home_01 DbLogExclude .*
attr MQ_YI_Home_01 IODev Mosquitto
attr MQ_YI_Home_01 event-on-change-reading motion_detection
attr MQ_YI_Home_01 group Cam_YI_Home_01
attr MQ_YI_Home_01 icon it_camera
attr MQ_YI_Home_01 room Camera
attr MQ_YI_Home_01 stateFormat Motion: motion_detection <br/>\
um: timestamp_01
attr MQ_YI_Home_01 subscribeReading_motion_detection yi_01/motion_detection
attr MQ_YI_Home_01 userReadings timestamp_01 {ReadingsTimestamp("MQ_YI_Home_01","motion_detection","")}



EDIT 2021-01-22
Weitere Methode ohne scripts
Antwort #60


Und damit die Videos auch auf meiner NAS landen, mussten noch diese Devices und Scripte herhalten.

Devices
defmod DU_MQ_YI_Home_01_FFmpeg dummy
attr DU_MQ_YI_Home_01_FFmpeg DbLogExclude .*
attr DU_MQ_YI_Home_01_FFmpeg event-on-change-reading state
attr DU_MQ_YI_Home_01_FFmpeg group Cam_YI_Home_01
attr DU_MQ_YI_Home_01_FFmpeg room Camera,Dummy
attr DU_MQ_YI_Home_01_FFmpeg webCmd on:off

defmod DU_MQ_YI_Home_01_Motion dummy
attr DU_MQ_YI_Home_01_Motion DbLogExclude .*
attr DU_MQ_YI_Home_01_Motion group Cam_YI_Home_01
attr DU_MQ_YI_Home_01_Motion room Camera,Dummy,Residents
attr DU_MQ_YI_Home_01_Motion webCmd on:off

Dieser Dummy simuliert zur Zeit noch ein Presence-Device.
defmod DU_MQ_YI_Home_01_aktiv dummy
attr DU_MQ_YI_Home_01_aktiv DbLogExclude .*
attr DU_MQ_YI_Home_01_aktiv event-on-change-reading state
attr DU_MQ_YI_Home_01_aktiv genericDeviceType switch
attr DU_MQ_YI_Home_01_aktiv group Cam_YI_Home_01
attr DU_MQ_YI_Home_01_aktiv room Camera,Dummy,Homekit
attr DU_MQ_YI_Home_01_aktiv setList on off
attr DU_MQ_YI_Home_01_aktiv webCmd on:off

defmod DI_DU_MQ_YI_Home_01_Motion_OnOff DOIF ([DU_MQ_YI_Home_01_aktiv] eq "on") (set DU_MQ_YI_Home_01_Motion on) DOELSE (set DU_MQ_YI_Home_01_Motion off)
attr DI_DU_MQ_YI_Home_01_Motion_OnOff DbLogExclude .*
attr DI_DU_MQ_YI_Home_01_Motion_OnOff devStateIcon cmd_1:general_an cmd_2:general_aus
attr DI_DU_MQ_YI_Home_01_Motion_OnOff group Cam_YI_Home_01
attr DI_DU_MQ_YI_Home_01_Motion_OnOff icon helper_doif
attr DI_DU_MQ_YI_Home_01_Motion_OnOff room Camera,Doif,Residents

defmod DI_MQ_YI_Home_01_FFmpeg DOIF (([DU_MQ_YI_Home_01_FFmpeg] eq "on") and ([DU_MQ_YI_Home_01_Motion] eq "on")) {system('/usr/local/bin/myffmpeg_yi01_on.sh&');;;;} \
DOELSEIF\
(([DU_MQ_YI_Home_01_FFmpeg] eq "off") and ([DU_MQ_YI_Home_01_Motion] eq "on")) {system('/usr/local/bin/myffmpeg_off.sh&');;;;}
attr DI_MQ_YI_Home_01_FFmpeg DbLogExclude .*
attr DI_MQ_YI_Home_01_FFmpeg devStateIcon cmd_1:general_an cmd_2:general_aus
attr DI_MQ_YI_Home_01_FFmpeg event-on-change-reading cmd
attr DI_MQ_YI_Home_01_FFmpeg group Cam_YI_Home_01
attr DI_MQ_YI_Home_01_FFmpeg icon helper_doif
attr DI_MQ_YI_Home_01_FFmpeg room Camera,Doif

defmod DI_MQ_YI_Home_01_Motion DOIF ((([MQ_YI_Home_01:"^motion_detection:.motion_start$"]) and ([DU_MQ_YI_Home_01_Motion] eq "on")) and [DU_MQ_YI_Home_01_aktiv] eq "on") (set DU_MQ_YI_Home_01_FFmpeg on) DOELSE (set DU_MQ_YI_Home_01_FFmpeg off)
attr DI_MQ_YI_Home_01_Motion DbLogExclude .*
attr DI_MQ_YI_Home_01_Motion devStateIcon cmd_1:general_an cmd_2:general_aus
attr DI_MQ_YI_Home_01_Motion do resetwait
attr DI_MQ_YI_Home_01_Motion event-on-change-reading cmd
attr DI_MQ_YI_Home_01_Motion group Cam_YI_Home_01
attr DI_MQ_YI_Home_01_Motion icon helper_doif
attr DI_MQ_YI_Home_01_Motion room Camera,Doif,Residents
attr DI_MQ_YI_Home_01_Motion wait 0:15

defmod AT_myffmpeg_delete at *01:00:00 {system('/usr/local/bin/myffmpeg_delete.sh&');;}
attr AT_myffmpeg_delete DbLogExclude .*
attr AT_myffmpeg_delete group Home Sicherheit
attr AT_myffmpeg_delete room Camera


Scripte
myffmpeg_yi01_on.sh
#!/bin/sh

NAS_PATH="/media/fhem/ipcamera/yi_01/movie"
SUB_DIR1="$(date +%Y-%m)"
SUB_DIR2="$(date +%d)"
FILE_NAME="$(date +%Y_%m_%d__%H_%M_%S.mp4)"
DEST="$NAS_PATH/$SUB_DIR1/$SUB_DIR2"
RECORDING_PATH="$NAS_PATH/$SUB_DIR1/$SUB_DIR2/$FILE_NAME"
DURATION="00:00:10"
FF_TITLE="$(date +%Y_%m_%d__%H_%M_%S)"
FF_ARTIST="kst"
FF_COMMENT="Livestream Yi_01"
FF_DATE="$(date +%Y)"
FF_COPYRIGHT="(c) $FF_DATE by kst"

if [ ! -d "$DEST"  ]; then
mkdir -m 0777 -p "$DEST"
ffmpeg -loglevel quiet -rtsp_transport tcp -y -i "rtsp://{USERNAME}:{PASSWORD}@192.168.78.87/ch0_0.h264" -vcodec copy -metadata title="$FF_TITLE" -metadata comment="$FF_COMMENT" -metadata artist="$FF_ARTIST" -metadata copyright="$FF_COPYRIGHT" -metadata date="$FF_DATE" "$RECORDING_PATH"
else
ffmpeg -loglevel quiet -rtsp_transport tcp -y -i "rtsp://{USERNAME}:{PASSWORD}@192.168.78.87/ch0_0.h264" -vcodec copy -metadata title="$FF_TITLE" -metadata comment="$FF_COMMENT" -metadata artist="$FF_ARTIST" -metadata copyright="$FF_COPYRIGHT" -metadata date="$FF_DATE" "$RECORDING_PATH"
fi

myffmpeg_off.sh
#!/bin/bash

if pidof ffmpeg; then
killall ffmpeg
fi

myffmpeg_delete.sh
#!/bin/bash

find /media/fhem/ipcamera/yi_01/movie -mtime +2 -delete
find /media/fhem/ipcamera/yi_01/movie -empty -delete



Damit bin ich erst einmal zufrieden.  ;)

Klar, Feinheiten gibt es immer wieder mal zu korrigieren, doch so allgemein kann die Kamera mehr als erwartet.
Gut, das die Quallität der Aufnahmen nicht mit einer hochpreisigen Kamera mithalten kann, dürfte klar sein.
Etwas pixelig und ab und zu Artefakte, doch für den Heimgebrauch gut zu verwenden.

Was ich noch nicht hinbekommen habe. (Muss mich noch ein wenig einlesen)
   - motion_detection über IPCAM
   - "toggle" bei den cmd's
   - Readings zu dem aktuellen Status der Cam

Aber wie sagt man, morgen ist auch noch ein Tag.  8)

Gruß Karsten

rob

Danke Karsten fürs Teilen, gefällt mir.

Bezüglich der Logeinträge: kommt tatsächlich von den MQTT-Nachrichten. Teilweise sind welche dabei, wo nur ein ] drin steht und das merkt Fhem zurecht an.
Habe auf Github ein Issue eröffnet. Wurde schon gefixt und wird wohl mit dem nä. Hack-Release verteilt  :)

Viele Grüße
rob

hydrotec

Hallo rob,

Dankeschön für die Zustimmung.


Hab heute noch ein wenig gebastelt(siehe Antwort #9), und bin erst mal mit dem Ergebnis zufrieden.

Ich finde das sehr schön, das du du bei einem Problem gleich nachhakst, und nicht wartest bis es sich von selbst erledigt.  ;)
Was noch besser ist, das man dadurch gleich gesehen hat, das der Hack noch lebt.

Ansonsten wünsche ich dir, und auch allen anderen die bei diesem Angebot zugeschlagen haben, noch viel Spaß mit dieser Kamera.

Einen schönen Abend noch  8)
Bye, Karsten

lukasbastelpeter

Hallo ihr fleißigen.

Ich habe einfach blind bestellt weil ich für den Preis einfach neugierig war. Natürlich direkt 5 Stück. Da ich jetzt frischer Vater bin habe ich nicht so viel Zeit zu Skripten und zu basteln. Deswegen einen super großen Dank, dass ihr das soweit gebracht habt. Wenn ich irgendwann mal Zeit habe brauche ich eine StepByStep Anleitung :D

Danke!
# Raspberry Pi
# Homematic, Z-Wave
# HUE, Tradfri
# Harmony
# ESP8266  Basteleien per MQTT

KyleK

Mist, Kamera ist ausverkauft :(
FHEM on Raspberry Pi 3B+
CUL868
7x MAX! Thermostat, 8x MAX! Fensterkontakte
Conbee II + deConz, TradFri Lampen, Osram Smart+ Steckdosen

rob

Falls Du zufällig 4Stk. kaufen wolltest - die gibts noch im 4er Pack: https://www.amazon.de/%C3%9Cberwachungskamera-Sicherheitskamera-Bewegungsmelder-2-Wege-Audio-Haustier-Monitor-4-St%C3%BCck-1080-P/dp/B077YFGWN7
Kostet dann 22,75 je Stk. - auch nicht soo schlecht :)

Viele Grüße
rob