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 Futro S940
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

rakete123

Hat jemand von euch den rtsp Stream anschauen können? Ich bekomme mit vlc nur Audio aber kein Bild.
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

Ja, läuft mit vlc 1a. Es gibt mehrere. Hast Du aus Versehen den Audo-Only erwischt?  :)

Viele Grüße
rob

rakete123

Komisch ich kriege es nicht mit vlc oder mplayer zum laufen. Nutze Debian.
Ne den Audio Stream habe ich nicht versehentlich genommen.
Hast du beide Streams aktiviert? Wie sieht deine Config sonst aus?
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

Ich hab nur einen Stream aktiviert (High): rtsp://cam-ip/ch0_0.h264 und eine SD-Card 16GB drin.


Disable Cloud - on
Recording without Cloud - on
RTSP - on
RTSP Stream - HIGH
RTSP Audio - on
ONVIF - on
ONVIF WS-Discovery - on
ONVIF Profile - HIGH
ONVIF watermark - on

TCP Ports
RTSP Port - 554
ONVIF Port - 80
HTTPD Port - 8080

Also eigentl. alles deafult.


Firmware Version 0.2.0
Base Version 8.2.0.0A_201912270941
Model Suffix y20ga


VG
rob

rakete123

#19
Ok ich habe die gleichen Einstellung.
Bloß meine Base Version ist höher: 8.2.0.0A_202007211802

Aber bei Github habe ich auch Issues entdeckt, in denen ähnliche Probleme gemeldet werden.

Edit: Problem gefunden, mein Notebook ist in einem anderen VLAN. Wenn ich im selben VLAN bin geht es. Hmm ist das ein RTSP Problem? Bisher habe ich wenig Erfahrung mit rtsp.

Edit2: Aha, vlc inkl der Option --rtsp-tcp tut nun auch in einem anderen VLAN :) Also alles gut.
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

romakrau

#20
Hallo zusammen, ich hatte mir auch zwei der fantastischen Kameras bestellt.  Diese hatten allerdings die SW-Version 9.019,02_202007141512 . Dies erfordert den "ALLWinner V2 y21ga_...." Hack. Bei mir führte der erste Versuch mit dem falschen Hack dazu das sich die Kamera aufgehängt hatte. Gottseidank hatte ich vorher ein Backup wie im Hack beschrieben durchgeführt. Dazu sind die Dateien aus der Datei backup.tar.gz in das root-Verzeichnis der SD-Karte zu entpacken. Mittels des Backups konnte ich wie im WIKI von roleoroleo den angegebenen "Unbrick the cam" durchführen und die Kamera wieder beleben. Also nicht verzweifeln. Es gibt immer eine Lösung.
Gruß
Roman

romakrau

UPDATE: Leider funktioniert das "Unbrick the cam" nur auf dem Basteltisch. Sobald die Kamera vom Strom getrennt wird ist die Einstellung vergessen. Schade lieferte schöne Bilder. Werd ich wohl unter Corona-Bastelei verbuchen.

rob

Das klingt weniger lustig.

Hast Du auch versucht, die Original-Firmware zu flashen (https://www2.yitechnology.com/support/firmware_home/id/4)?
Das Ganze mit frisch formatierter SD-Card und Werks-Reset (https://www2.yitechnology.com/support/answer/id/17/tid/3/qid/11/oid/h1)?

Vielleicht lässt sich was retten.

Viele Grüße
rob

romakrau

Hallo Rob,
leider habe ich eine abweichenden Firmware.9 .019.02...
Gruß
Roman

romakrau

Hallo zusammen,
eine gute Nachricht zuerst, die Kamera lebt wieder. Es ist wichtig bei dem "Unbrick the cam" die SD-Karte zu ziehen und eine Menge Geduld mitzubringen. Danach startet der Anmeldeprozese in der App nicht neu. Er muss durch ein längeres Halten des Reset-Tasters eingeleitet werden. Danach leuchtet die LED konstant gelb und geht nach einer Zeit in ein Blinken über. Dann kann der Anmeldeprozess beginnen. Das Aus- und Einschalten der Kamera per App dauert allerdings recht lange. Ist das bei Euch auch so?
Gruß Roman
P.S.: Den Hack Y21ga... werde ich vielleicht Mogen nochmal versuchen. Ich werde berichten.

romakrau

#25
So, dank Corona hatte ich genug Zeit mich mit der Kamera auseinanderzusetzen.
Warnung! Ein falscher Hack führt zu erheblichen Problemen!!

Für Anfänger hier vielleicht ein paar Tipps zum Umgang mit der Kamera/Hack.

YI-App auf dem Handy installieren,
Kamera mit dem Netzteil verbinden,
Es leuchtet die LED konstant gelb und schaltet nach kurzer Zeit mit einem hörbaren Klick in ein Blinken um,
Es ist "Waiting for connect" zu hören,
Jetzt in der App die Kamerarückseite scannen zur Auswahl der richtigen Kamera,
Auswahl bestätigen und gemäß der App weiter,
Danach die SSID und das Passwort eingeben,
Dann erscheint ein QR-Code der vor die Linse zu halten ist,
(Als Tipp: den QR-Code kurz antippen vergrößert den Code und erleichtert das Erkennen),
Gemäß der App auf die Verbindung mit dem WLan warten,
Dann die Kamera in der App einrichten ( Name, usw.),
Kamera vom Strom trennen und SD-Karte gemäß der Github Seite formatieren und Software runterladen,
Dabei ist das Archiv zu entpacken und die Software in das root verzeichnis der SD-Karte zu kopieren,
SD-Karte einstecken und Kamera mit dem Netzteil verbinden,
Nach einer Weile startet der Hack und die Kamera ist mit IP-Adresse:8080 erreichbar.

Die obengenannte Vorgehensweise gilt für die YI-HOME 1080p mit SW 9.019..... und YI-Hack-Allwinner2


Gruß Roman

rob

Hast also Deine Cams retten können  8) Danke für Deine gute Zusammenfassung.

Ergänzend zwei Erfahrungen, die ich machen musste - falls wer auch drüber stolpert.
Zitat von: romakrau am 04 November 2020, 18:25:15
Jetzt in der App die Kamerarückseite scannen zur Auswahl der richtigen Kamera,
Hatte bei mir generell nicht funktioniert, ich musste manuell in der Äpp auswählen. Hängt vielleicht auch von der Güte der Kamera im SmartPhone/ Tablet ab und meine waren wohl nicht im Stande den kleinen Aufkleber zu entschlüsseln.

Zitat von: romakrau am 04 November 2020, 18:25:15
Dann erscheint ein QR-Code der vor die Linse zu halten ist,
(Als Tipp: den QR-Code kurz antippen vergrößert den Code und erleichtert das Erkennen),
Hatte ich mit iPhone5 probiert, ging ums Verrecken nicht. Mit einem Android Tablet klappte es sofort. Keine Ahnung, obs an der Äpp im Appstore liegt. Im Netz gibt es ähnliche Meldungen, dass es wohl mit Äppel Probleme gibt.

Viele Grüße
rob

romakrau

Hallo rob,
ich nutzte ein Apple 5SE ohne Probleme. Anzumerken ist noch das nach einem Fehler bei dem Connect mehr als eine Stunde zu warten ist bevor die Kamera wieder bereit zum Connect ist. Ist am Anfang etwas irritierend.
Gruß Roman

romakrau

Es geht weiter. Zur Zwischenspeicherung nutze ich mein NAS, da ich die SD-Karte in meine RPi schonen möchte. Ich hatte es wie folgt eingerichtet:

RPi Verzeichnisse anlegen mit

sudo mkdir /mnt/fhem/
sudo mkdir /mnt/fhem/YICAM01

Auf dem NAS freigegebenen Ordner anlegen:

/fhem

Darin Ordner anlegen:

YICAM01

Berechtigungen setzen, bei mir spezieller fhem-User

sudo mount -t cifs -o user=<user>,password=<pwd>,rw,file_mode=0777,dir_mode=0777 //IP/fhem/YICAM01 /mnt/fhem/YICAM01

Attribut in def ändern:

attr storage /mnt/fhem/YICAM01

Def für telegram Versand ändern:

set telegram sendImage /mnt/fhem/YICAM01/YICAM_01_snapshot_1.jpg [YICAM_01:snapshot1] [YICAM_01:timestamp_1]), usw....

das wars. Ich bleib dran zum Speichern meherer Sequenzen, löschen bei max Anzahl usw.

Deco

Hallo,

vielen Dank für die Hinweise und Links.
Ich habe mir auch eine solche Kamera gekauft und richte diese gerade ein.
Eingebunden ist sie, CMDs kann ich senden und mir wird per Telegram ein Bild geschickt per get image (wird später via Notify an einen Sensor gekoppelt).

Die Bilder werden auf einem eingebundenen USB-Stick gespeichert.

Nun würde ich aber gerne auch Videos aufnehmen. Gibt es einen Befehl ähnlich get image, wie ich die Kamera dazu bringen kann ein Video für xx Sekunden aufzunehmen und in Pfad xx zu speichern?
Also genauso wie für Snapshots, nur als Video.

Falls nicht, wie bekomme ich dann ein Video erstellt und gespeichert?

Gruß Deco

romakrau

Hallo Deco,
steht alles in Antwort #9.
Gruß
Roman

Adolar

Zitat von: rob am 07 September 2020, 22:57:12

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


Hallo rob,

ich habe versucht das nachzubasteln..., leider nicht mit dem selben Ergebnis wie bei dir.

Die Kameras haben beide die gehackte Firmware. RTSP und MQTT sind eingeschaltet und laufen auch beide. Ich bekomme das Bild mit dem VLC und die MQTT kann ich mit MQTTfx sehen.
Leider ist mir die Einbindung in FHEM nicht gelungen. Die MQTT Signale kommen nicht in FHEM an. Ich benutze als Broker ebenso Mosquitto. Hat irgendwer eine Ahnung, woran das liegen kann?
Ich habe es genau so wie in deinem Beitrag versucht - natürlich mit meinen Kameranamen.

Gruß

rob

Hallo.

Du schreibst
Zitat von: Adolar am 19 Januar 2021, 09:43:25
Ich habe es genau so wie in deinem Beitrag versucht...
Meine Defines sind wahrscheinlich zum 1:1 nachbasteln nicht so dolle. Eher für den groben Eindruck. Lass Dich bitte nicht von meinem Kauderwelsch verleiten :) In den anderen Posts sind die Configurationen deutlich besser.
Mosquitto nutze ich tatsächlich nicht. Sollte aber auch damit laufen.

Verstehe ich richtig, weder IPCAM noch MQTT wollen laufen? Ich fürchte, da ist detektivische Suche vonnöten.

Wie schauen denn die Defines für Deine Devices IPCAM und Mosquitto aus (magst die Lists davon hier einfügen)?
Was sagt denn das Log?
Was hast Du alles in der Cam konkret eingestellt?
Die Einstellungen der Cam müssen zu den Defines in Fhem passen - nur sicherheitshalber: IP und Port passen?
Hast ggf. ein Passwort auf der Cam eingestellt für HTTP/ RTSP?
Sind Fhem-Server und Kamera im selben Netz mit z.B. fixer IP?
Dürfen sich beide Geräte im Netz gegenseitig sehen (von Fhem aus mal anpingen)?
Wifi-Netz und Lan sind nicht voneinander isoliert (z.B. Gast-Wifi)?
Welche Hack-Version hast Du am Laufen? Ich hab die v0.2.0 noch drauf.

Vielleicht ist es einfacher sich erst einmal auf IPCAM zu konzentrieren und Schritt für Schritt weiter mit MQTT.

Viele Grüße
rob

Adolar

Hallo rob, erstmal Danke für deine Antwort.
Zitat von: rob am 19 Januar 2021, 21:02:39
Verstehe ich richtig, weder IPCAM noch MQTT wollen laufen? Ich fürchte, da ist detektivische Suche vonnöten.

Ja, das sieht so aus.
Allerdings hatte ich gestern noch den HTTPMOD nachgebaut und der gibt mir korrekte Rückmeldungen :).

Das nutzt mir jedoch nicht viel, weil ich eigentlich mit den MQTT Meldungen weiter arbeiten will. Wie schon oben erwähnt, kann ich mit MQTTfx die Meldungen der Kamera sehen. Leider erscheinen sie nicht in FHEM, was ich nicht verstehe.
Zitat von: rob am 19 Januar 2021, 21:02:39
Wie schauen denn die Defines für Deine Devices IPCAM und Mosquitto aus (magst die Lists davon hier einfügen)?
Was sagt denn das Log?
Was hast Du alles in der Cam konkret eingestellt?
Die Einstellungen der Cam müssen zu den Defines in Fhem passen - nur sicherheitshalber: IP und Port passen?
Hast ggf. ein Passwort auf der Cam eingestellt für HTTP/ RTSP?
Sind Fhem-Server und Kamera im selben Netz mit z.B. fixer IP?
Dürfen sich beide Geräte im Netz gegenseitig sehen (von Fhem aus mal anpingen)?
Wifi-Netz und Lan sind nicht voneinander isoliert (z.B. Gast-Wifi)?
Welche Hack-Version hast Du am Laufen? Ich hab die v0.2.0 noch drauf.



Hier die Konfigurationen:

AUTHORITY 192.168.178.165:8080
DEF 192.168.178.165:8080
FUUID 5ffde625-f33f-38e0-d794-310ebf94dfab8f47
NAME yi_neu_4
NR 308
SEQ 0
STATE Defined
TYPE IPCAM
Readings
snapshots 0 2021-01-17 13:33:43
timestamp_1 0 2021-01-17 13:19:22

Attributes

delay 2
disable 0
event-on-update-reading snapshots
path cgi-bin/snapshot.sh?res=high&watermark=yes
pathCmd pathCmd cgi-bin/camera_settings.sh
room Außen
snapshots 5
storage /opt/fhem/log/Bilder/IPCamera/yi_neu_4/Shot
timestamp 0
userReadings
timestamp_1 {ReadingsTimestamp("yi_neu_4","snapshot1",0)}, \
timestamp_2 {ReadingsTimestamp("yi_neu_4","snapshot2",0)}, \
timestamp_3 {ReadingsTimestamp("yi_neu_4","snapshot3",0)}, \
timestamp_4 {ReadingsTimestamp("yi_neu_4","snapshot4",0)}, \
timestamp_5 {ReadingsTimestamp("yi_neu_4","snapshot5",0)}

verbose 0


Log IPCam:

2021-01-07_22:03:51 yi_neu_4 transmission-state: subscribe sent
2021-01-07_22:03:51 yi_neu_4 timestamp_01:
2021-01-07_22:03:53 yi_neu_4 transmission-state: subscription acknowledged
2021-01-07_22:03:53 yi_neu_4 timestamp_01:
2021-01-10_16:28:41 yi_neu_4 transmission-state: subscribe sent
2021-01-10_16:28:41 yi_neu_4 timestamp_01:
2021-01-10_16:28:41 yi_neu_4 transmission-state: subscription acknowledged
2021-01-10_16:28:41 yi_neu_4 timestamp_01:
2021-01-12_18:40:06 yi_neu_4 transmission-state: subscribe sent
2021-01-12_18:40:06 yi_neu_4 timestamp_01:
2021-01-12_18:40:06 yi_neu_4 transmission-state: subscription acknowledged
2021-01-12_18:40:06 yi_neu_4 timestamp_01:
2021-01-12_19:04:50 yi_neu_4 transmission-state: unsubscribe sent
2021-01-12_19:04:50 yi_neu_4 timestamp_01:
2021-01-12_19:04:50 yi_neu_4 transmission-state: unsubscription acknowledged
2021-01-12_19:04:50 yi_neu_4 timestamp_01: 2021-01-07_22:03:51 yi_neu_4 transmission-state: subscribe sent
2021-01-07_22:03:51 yi_neu_4 timestamp_01:
2021-01-07_22:03:53 yi_neu_4 transmission-state: subscription acknowledged
2021-01-07_22:03:53 yi_neu_4 timestamp_01:
2021-01-10_16:28:41 yi_neu_4 transmission-state: subscribe sent
2021-01-10_16:28:41 yi_neu_4 timestamp_01:
2021-01-10_16:28:41 yi_neu_4 transmission-state: subscription acknowledged
2021-01-10_16:28:41 yi_neu_4 timestamp_01:
2021-01-12_18:40:06 yi_neu_4 transmission-state: subscribe sent
2021-01-12_18:40:06 yi_neu_4 timestamp_01:
2021-01-12_18:40:06 yi_neu_4 transmission-state: subscription acknowledged
2021-01-12_18:40:06 yi_neu_4 timestamp_01:
2021-01-12_19:04:50 yi_neu_4 transmission-state: unsubscribe sent
2021-01-12_19:04:50 yi_neu_4 timestamp_01:
2021-01-12_19:04:50 yi_neu_4 transmission-state: unsubscription acknowledged
2021-01-12_19:04:50 yi_neu_4 timestamp_01:




DeviceOverview
MQTT_yi_neu_4 stateFormat Motion: motion_detection
\ um:
Internals
DEF yi_neu_4
FUUID 5ffde946-f33f-38e0-d5a1-0c952edd7c7ff238
IODev Mosquitto
NAME MQTT_yi_neu_4
NOTIFYDEV yi_neu_4
NR 309
STATE stateFormat Motion: motion_detection <br/>\
um:

TYPE MQTT_DEVICE

Readings
timestamp_01 2021-01-17 13:33:31
transmission-state subscription acknowledged 2021-01-17 13:33:31

Attributes
IODev Mosquitto
autoSubscribeReadings 1
event-on-change-reading motion_detection
room Außen
subscribeReading_motion_detection yi_neu_4/motion_detection
userReadings timestamp_01 {ReadingsTimestamp("MQTT_yi_neu_4","motion_detection","")}


Cam:

System
Hostname Yi-neu-4
Firmware Version 0.1.3
Base Version 9.0.19.02_202007141512
Model Suffix y21ga
Serial Number BFUSY44KUK3TN8200810
Local Time Wed Jan 20 10:39:49 CET 2021
Uptime 15h 23m 9s
Load Average 1.32 1.48 1.35
Free/Total Memory 36704/60912 KB
Free SD Space 73%
Network
Address 192.168.178.165
Netmask 255.255.255.0
Gateway 192.168.178.1
MAC 44:01:BB:54:21:34
WiFi ESSID XXXXXXXXX
WiFi Strength 75 %


IP und Port sollten passen, da ich die Meldungen ja mit MQTTfx sehen kann. Der Broker ist Mosquitto und läuft auf dem selben RPi wie Fhem. IP ist 192.168.178.42 und Port ist 1883. Topic Prefix ist yi-neu-4. Username/Passwort für die Cam habe ich nicht vergeben, da nur im Heimnetz erreichbar. Fhem und Cam sind im selben Netz.

Wie kann ich die Cam von Fhem aus anpingen?
Wie komme ich an die snapshots der Cam - kann es sein, daß sie garkeine macht? Ich finde nicht, wo ich das einstellen kann. Ich finde nur die Videos.

Zitat von: rob am 19 Januar 2021, 21:02:39
Vielleicht ist es einfacher sich erst einmal auf IPCAM zu konzentrieren und Schritt für Schritt weiter mit MQTT.

MQTT würde mir erstmal ausreichen - oder bekommt man auch ein Livebild ins FHEM? Obwohl das mit den Bildern ins Telegram auch sehr nützlich wäre  ::)

Zitat von: rob am 19 Januar 2021, 21:02:39
Viele Grüße
rob

Grüße zurück,
Adolar

rob

Hi.
Zitat von: Adolar am 20 Januar 2021, 10:58:43
Wie kann ich die Cam von Fhem aus anpingen?
z.B. per SSH auf dem FHEM-Server einloggen und "ping 192.168.178.165" ausführen. Naja, wird wohl verfügbar sein.

Danke für die Infos. Ist nicht einfach den Aufbau nachzuvollziehen ohne selbst direkt darauf schauen zu können und so richtig hab ichs wohl noch nicht begriffen  :o

OK, zu Mosquitto kann ich leider nicht viel beitragen. Der Wiki-Eintrag https://wiki.fhem.de/wiki/MQTT#Beispiel:_mosquitto oder Blog http://blog.wenzlaff.de/?p=6487 lesen sich so, als wenn ein paar Schritte mehr nötig sind z.B. Perl-Module für MQTT installieren.

Ich habe mal einen FHEM-Docker Container gestartet zum Testen + einen Mosquitto Conatiner. Im FHEM habe ich den Mosquitto so angelegt

define mosquitto MQTT2_CLIENT mosquitto:1883 (ja statt IP habe ich net-alias für docker)
attr mosquitto autocreate simple

Dann habe ich testweise eine Nachricht losgeschickt:

mosquitto_pub -h 192.168.175.6 -t "testme/eintest:hupe" -m "1234" -i "myDevice"

daraufhin wird ein MQTT2_DEVICE angelegt + Log:

Internals:
   CFGFN     
   CID        mosquitto
   DEF        mosquitto
   DEVICETOPIC MQTT2_mosquitto
   FUUID      60082ced-f33f-3406-062d-a5f91ebbae374bc4
   IODev      mosquitto
   NAME       MQTT2_mosquitto
   NR         46
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2021-01-20 14:15:25   eintest_hupe    1234
Attributes:
   IODev      mosquitto
   readingList mosquitto:testme/eintest_hupe:.* eintest_hupe
   room       MQTT2_DEVICE


Main-Log sagt zu allem:

2021.01.20 14:14:23.433 3: Opening mosquitto device mosquitto:1883
2021.01.20 14:14:23.437 3: mosquitto device opened
2021.01.20 14:15:25.163 2: autocreate: define MQTT2_mosquitto MQTT2_DEVICE mosquitto mosquitto
2021.01.20 14:15:25.163 2: autocreate: define FileLog_MQTT2_mosquitto FileLog ./log/MQTT2_mosquitto-%Y.log MQTT2_mosquitto

Dann habe ich spassenshalber die Cam auf den Docker-Mosquitto umgestellt und die Messages kommen an:

Internals:
   CFGFN     
   CID        mosquitto
   DEF        mosquitto
   DEVICETOPIC MQTT2_mosquitto
   FUUID      60082ced-f33f-3406-062d-a5f91ebbae374bc4
   IODev      mosquitto
   LASTInputDev mosquitto
   MSGCNT     8
   NAME       MQTT2_mosquitto
   NR         46
   STATE      ???
   TYPE       MQTT2_DEVICE
   mosquitto_MSGCNT 8
   mosquitto_TIME 2021-01-20 14:41:05
   READINGS:
     2021-01-20 14:15:25   eintest_hupe    1234
     2021-01-20 14:41:05   end             2021-01-20T14:39:55+0100
     2021-01-20 14:41:05   files_1         2021Y01M20D14H/39M00S60.mp4
     2021-01-20 14:41:05   files_2         2021Y01M20D14H/38M00S60.mp4
     2021-01-20 14:41:05   files_3         2021Y01M20D14H/37M00S60.mp4
     2021-01-20 14:40:40   motion_detection motion_start
     2021-01-20 14:41:05   start           2021-01-20T14:38:55+0100
     2021-01-20 14:35:42   status          online
Attributes:
   IODev      mosquitto
   readingList mosquitto:testme/eintest_hupe:.* eintest_hupe
mosquitto:yicam1/status:.* status
mosquitto:yicam1/motion_detection:.* motion_detection
mosquitto:yicam1/motion_files:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE

Kannst Du versuchen diese Schritte nachzuvollziehen?

Zitat von: Adolar am 01 Januar 1970, 01:26:51
Wie komme ich an die snapshots der Cam - kann es sein, daß sie garkeine macht?
...oder bekommt man auch ein Livebild ins FHEM?
Die Snapshots würde das IPCAM-Device für Dich abspeichern. Die Kamera speichert auf der SD-Karte nur die Videos - soweit ich weiß. Heißt ja nix.
Livebild vielleicht mit Web-Bastelei möglich - hab da aber nix ausprobiert. Der Stream-Link wird immer mit VLC geöffnet.

VG
rob

Adolar

Hi rob
Zitat von: rob am 20 Januar 2021, 15:21:49

OK, zu Mosquitto kann ich leider nicht viel beitragen.

Nee, MQTT läuft. Habe mehrere Tasmotas am laufen und zigbee2mqtt, läuft alles super. Am Broker wird es nicht liegen, auch wenn ich nicht den mqtt2client sondern Mosquitto als Broker benutze. Oder macht der mqtt2client irgendetwas anders? Ich würde ungern einen zweiten Broker installieren.
Zudem ich wie gesagt die Readings mit MQTTfx unter Windows (an meinem PC) empfange. Leider kommen sie in FHEM nicht an.
Zitat von: rob am 20 Januar 2021, 15:21:49
Die Snapshots würde das IPCAM-Device für Dich abspeichern.
Achso, das IPCAM Modul initiiert die snapshots....
Dann verstehe ich es nicht. :-[  :(
Gruß,
Adolar

rob

Hi.

Tja, sorry, dann kann ich leider nicht sagen, wo es klemmen könnte :(
Vielleicht kennt sich wer besser aus als ich und kann unterstützen.

Viele Grüße
rob

Adolar


TL60

Hallo, vielleicht können wir uns dem Thema MQTT etwas annähern. Du hast geschrieben:Nee, MQTT läuft. Habe mehrere Tasmotas am laufen und zigbee2mqtt, läuft alles super.Was hast du den in den Tasmota Definitionen als IODev drinstehen? Evtl. kannst du bitte auch einen kurzen Ausschnitt aus den RAW-Definitions des Devices zeigen, also in etwa so:defmod MQTT2_DVES_1A74D5 MQTT2_DEVICE DVES_1A74D5
attr MQTT2_DVES_1A74D5 IODev MQTT2FHEM
attr MQTT2_DVES_1A74D5 devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot
attr MQTT2_DVES_1A74D5 event-on-change-reading .*
attr MQTT2_DVES_1A74D5 group IR-Geraet
attr MQTT2_DVES_1A74D5 icon IR
attr MQTT2_DVES_1A74D5 model tasmota_ir
Mein IODev hier wäre also MQTT2FHEM. Grundsätlich ist es so: die Kamera sendet an den Broker (Mosquitto) und FHEM holt sich mit Hilfe des IODev die Informationen vom Broker. (die MQTT Freaks werden mich jetzt steinigen, weil das wirklich sehr laienhaft ausgedrückt ist). Insofern ist der Gedanke mit MQTT2Client nicht abwegig.
Gruß Thomas

Adolar

Hallo Thomas,

hier z.B. ein Sonoff POW mit Tasmota geflasht:

defmod POW_03 TASMOTA_DEVICE POW-03 /FHEM/Keller/%topic%/%prefix%
attr POW_03 IODev Mosquitto
attr POW_03 alias POW_03-Media_Wohnzimmer
attr POW_03 autoSubscribeReadings 1
attr POW_03 event-aggregator sensor-energy-power:240:none:mean:500,sensor-energy-apparentpower:320:none:mean:500,sensor-energy-current:320:none:mean:500,sensor-energy-factor:320:none:mean:500,sensor-energy-reactivepower:320:none:mean:500,sensor-energy-voltage:320:none:mean:500
attr POW_03 group Tasmota
attr POW_03 icon measure_power_meter
attr POW_03 room 1.1_Wohnzimmer,4.5_Devices
attr POW_03 stateFormat sensor-energy-power W Heute: sensor-energy-today KWh Total: sensor-energy-total KWh State: result-power


IODev ist immer Mosquitto - der Broker

Gruß,
Adolar

TL60

#40
Ok, jetzt brauche ich ein List vom tasmota_device. Und noch eine Frage nach welcher Anleitung bist du vorgegangen um die Tasmota devices in FHEM zu integrieren. Evtl. einen Link.
Gruß Thomas
Edit: FHEMSchon mal neu gestartet.

Adolar

Ich hatte mich an den Videos und Blogbeiträgen von haus-automatisierung.com langgehangelt. Ist schon ne Weile her.

Restart Läuft

Was meinst du mit "List"?

TL60

Einfach in die Eingabe rechts von dem + Zeichen list tasmota_device und wenn du schon dabei bist auch ein list Mosquitto beides bitte einzeln in Code-Tags, die Raute # oberhalb der Tastatur.
Es ist so das die Implementierung von Mosquitto zu der Zeit noch ziemlich a Anfang war, mittlerweile hat sich FHEM da ziemlich stark entwickelt, es gibt einen eigenen Server (Broker) MQTT2Server und die beiden Module MQTT2Client, für die Verbindung zu einem externen Broker und MQTT2Device für einzelne Geräte. Mit dem Einsatz dieser Module läuft ziemlich viel automatisch ab und es gibt für fast alleGerätearten sogenannte attrTemplate files, die das Anlegen neuer Geräte fast  zum KInderspiel machen. Ich denke, hier hast du ein Problem das die Topics aus der Kamera nicht in das Schema der Geräteanlage passen.

Adolar

#43
list tasmota_device geht nicht, da es Gerätetypen sind.
list Typ=TASMOTA_DEVICE ergibt die Liste der Geräte:

H801_01
H801_02
H801_03
H801_04
H801_05
POW_01
POW_03
POW_04
POW_05
S20_01
S20_02
S20_03
Shelly_01
Shelly_02
TH10_01
WK_KuehlPOW02


list Mosquitto ergibt eine weiße Seite mit Sanduhr - geht irgendwie nicht.

Du meinst ich soll den Broker wechseln? Ich glaube, dann passe ich. Da werde ich warten, bis ich FHEM neu aufsetze, was ich über kurz oder lang (eher lang wegen mangelnder Zeit) eh vorhabe.

Ich bin jetzt mit "wildem rumprobieren" soweit gekommen, daß ich bei der IPCam snapshots bekomme, wenn ich sie mit set auslöse. Bekomme sie dann auch via Telegram.
Jedoch kann ich wie ein Wilder vor der Cam rumspringen und bekomme KEINE snapshots. Ich verstehe es nicht....


TL60

Perspektivisch solltest du sicher umsteigen, siehe auch aktuell hierhttps://forum.fhem.de/index.php/topic,93724.msg1123826.html#msg1123826 und den Post darüber.Aktuell bin ich auch etwas ratlos, zumal ich nicht weiß wie dein IO Device Mosquitto definiert ist (IP-Adresse und Port) Evtl kann man auch erstmal den MQTT-Server parallel zum Mosquitto einrichten und darauf die Cam einrichten und dann nach und nach alle Geräte umziehen.
Gruß Thomas

Adolar

Mosquitto liegt auf dem selben RPi wie FHEM und hat somit die selbe IP wie FHEM. IP ist 192.168.178.42 undPort ist 1883

Hier der Raw Code:


defmod Mosquitto MQTT 127.0.0.1:1883
attr Mosquitto privacy 1
attr Mosquitto room FHEM

setstate Mosquitto opened
setstate Mosquitto 2021-01-20 20:52:28 connection active
setstate Mosquitto 2021-01-20 19:37:28 state opened


EDIT: Kann ich denn die beiden Broker nebeneinander laufen lassen - nur ein anderer Port?

TL60

Exakt das geht,habe ich auch so defmod MQTT2FHEM MQTT2_SERVER 1884 global
attr MQTT2FHEM autocreate simple
attr MQTT2FHEM room Gateways
aber wirklich aufpassen das der Port nicht doppelt  benutzt wird, sonst hängt  FHEM sich auf und bleibt stehen. Dann in der Kamera nur den Port ändern und autocreate sollte automatisch ein Device in der Art anlegen defmod MQTT2_yi_cam1 MQTT2_DEVICE yi_cam1
attr MQTT2_yi_cam1 IODev MQTT2FHEM
attr MQTT2_yi_cam1 group MqttCam
attr MQTT2_yi_cam1 readingList yi_cam1:yicam1/status:.* status\
yi_cam1:yicam1/motion_detection:.* motion_detection\
yi_cam1:yicam1/ai_human_detection:.* ai_human_detection\
yi_cam1:yicam1/motion_files:.* { json2nameValue($EVENT) }
attr MQTT2_yi_cam1 room MQTT2_DEVICE
Der Vollständigkeit halber noch mein MQTT Device (läuft auf einem anderen Rechner) defmod mqtt MQTT 192.168.178.138:1883
attr mqtt room Gateways

Vielleicht ist das ja ein Weg.
toi, toi, toi
Thomas

Adolar

Kannst du mir noch sagen, welchen Port ich nehmen kann? Wie finde ich auf dem RPi raus, ob der gewählte Port frei ist?

Edit sagt mir eben, daß du 1884 genommen hast... Ist das sicher ein freier Port?

TL60

Netstat [url http://www.nwlab.net/tutorials/netstat/offene-ports-netstat.html[/url] ? sollte gehen um Ports anzuzeigen. Ansonsten mal Google fragen. In meinem System weiß ich welche Ports frei und welche vergeben sind, bei dir musst du das selber rausfinden und ja standardmäßig ist Port 1884 frei.
Gruß Thomas

Adolar

Ja, so läufts :D, Danke.

defmod MQ2_yi_neu_4 MQTT2_DEVICE yi_neu_4
attr MQ2_yi_neu_4 IODev MQTT2FHEM
attr MQ2_yi_neu_4 readingList yi_neu_4:yi_neu_4/status:.* status\
yi_neu_4:yi_neu_4/motion_detection:.* motion_detection\
yi_neu_4:yi_neu_4/ai_human_detection:.* ai_human_detection\
yi_neu_4:yi_neu_4/motion_files:.* { json2nameValue($EVENT) }\
yi_neu_4:FHEM/Au\xc3\x9fen/yi-neu-4/status:.* status\
yi_neu_4:FHEM/Au\xc3\x9fen/yi-neu-4/ai_human_detection:.* ai_human_detection\
yi_neu_4:FHEM/Au\xc3\x9fen/yi-neu-4/motion_detection:.* motion_detection\
yi_neu_4:FHEM/Au\xc3\x9fen/yi-neu-4/motion_files:.* { json2nameValue($EVENT) }
attr MQ2_yi_neu_4 room Außen
attr MQ2_yi_neu_4 stateFormat motion_detection

setstate MQ2_yi_neu_4 motion_stop
setstate MQ2_yi_neu_4 2021-01-20 21:54:09 ai_human_detection human_stop
setstate MQ2_yi_neu_4 2021-01-20 21:56:19 end 2021-01-20T21:55:09+0100
setstate MQ2_yi_neu_4 2021-01-20 21:56:19 files_1 2021Y01M20D21H/55M00S60.mp4
setstate MQ2_yi_neu_4 2021-01-20 21:56:19 files_2 2021Y01M20D21H/54M00S60.mp4
setstate MQ2_yi_neu_4 2021-01-20 21:56:19 files_3 2021Y01M20D21H/53M00S60.mp4
setstate MQ2_yi_neu_4 2021-01-20 21:56:19 files_4 2021Y01M20D21H/52M27S00.mp4
setstate MQ2_yi_neu_4 2021-01-20 21:55:09 motion_detection motion_stop
setstate MQ2_yi_neu_4 2021-01-20 21:56:19 start 1970-01-01T01:00:00+0100
setstate MQ2_yi_neu_4 2021-01-20 21:52:30 status online


Hast du bei StataFormat auch nur motion_detetion und keine Zeit?

Muß jetzt ins Bett, mache morgen weiter.
Darf ich dich weiter "ausquetschen"? z.B. wie ich die mp4 per Telegram verschicken kann?

Gute Nacht und vielen Dank

Adolar

TL60

Prima! Ich bin gerne  (im Rahmen meiner Möglichkeiten) behilflich.
Gruß und gute Nacht
Thomas

Adolar

Hallo und guten Abend,

ich habe inzwischen noch die zweite Cam in Betrieb genommen, die verhält sich wie die erste. Alles funktioniert soweit bis auf den Umstand, daß das IPCam Modul keine snapshots macht bzw. nur dann, wenn ich auf get image klicke. Dann kommen sie in dem angegebenen Pfad an und werden auch per Telegram verschickt. Rumhampeln vor der Cam bewirkt NIX!
Der Bewegungsmelder bin also ich  ::).

Hat wer eine Idee?


defmod yi_neu_4 IPCAM 192.168.178.165:8080
attr yi_neu_4 cmd01 switch_on=yes
attr yi_neu_4 cmd02 switch_on=no
attr yi_neu_4 cmd03 save_video_on_motion=yes
attr yi_neu_4 cmd04 save_video_on_motion=no
attr yi_neu_4 cmd05 sensitivity=low
attr yi_neu_4 cmd06 sensitivity=medium
attr yi_neu_4 cmd07 sensitivity=high
attr yi_neu_4 cmd09 led=no
attr yi_neu_4 cmdPos08 led=yes
attr yi_neu_4 delay 2
attr yi_neu_4 disable 0
attr yi_neu_4 event-on-update-reading snapshots
attr yi_neu_4 icon it_camera
attr yi_neu_4 path cgi-bin/snapshot.sh?res=high&watermark=yes
attr yi_neu_4 pathCmd pathCmd cgi-bin/camera_settings.sh
attr yi_neu_4 room Außen
attr yi_neu_4 snapshots 2
attr yi_neu_4 storage /opt/fhem/log/Bilder/IPCamera/yi_neu_4/Shot
attr yi_neu_4 timestamp 0
attr yi_neu_4 userReadings timestamp_1 {ReadingsTimestamp("yi_neu_4","snapshot1",0)}, \\
timestamp_2 {ReadingsTimestamp("yi_neu_4","snapshot2",0)},
attr yi_neu_4 verbose 0

setstate yi_neu_4 last: 2021-01-20 23:38:51
setstate yi_neu_4 2021-01-20 23:38:53 last yi_neu_4_snapshot.jpg
setstate yi_neu_4 2021-01-20 23:38:49 snapshot1 yi_neu_4_snapshot_1.jpg
setstate yi_neu_4 2021-01-20 23:38:51 snapshot2 yi_neu_4_snapshot_2.jpg
setstate yi_neu_4 2021-01-20 23:38:53 snapshots 2
setstate yi_neu_4 2021-01-20 23:38:53 timestamp_1 2021-01-20 23:38:49

hydrotec

Hallo Adolar,

ich vermute da liegt ein Missverständnis vor.
Wie du richtig erkannt hast, kann man mit dem Modul "49_IPCAM.pm" snapshots von der angelegten Kamera holen.
Und es ist auch richtig das dies nur über den get Befehl geht.
Was intern mit dem Modul nicht geht, ist auf motion der Kamera zu reagieren.
Soll heißen, du solltest ein weiteres Device anlegen, welches auf motion triggert.
Am einfachsten über ein MQTT oder MQTT2 Device.
Dann kannst du mit notify oder doif den get Befehl von IPCAM anstoßen.

Schau dir die Beiträge in Post 8-9 nochmal in Ruhe an.

Gruß Karsten

Adolar

Hi Karsten,

Zitat von: hydrotec am 21 Januar 2021, 21:01:43
.....
Was intern mit dem Modul nicht geht, ist auf motion der Kamera zu reagieren.
Soll heißen, du solltest ein weiteres Device anlegen, welches auf motion triggert.
....

Schau dir die Beiträge in Post 8-9 nochmal in Ruhe an.

Gruß Karsten

Da habe ich wohl etwas falsch verstanden...
Ein weiteres Gerät, ja, das sollte nun gehen, da ja MQTT funktioniert.

Post 9 übersteigt meine Fähigkeiten um einiges, leider.

Danke und Gruß,
Adolar

TL60

Hallo, doif ist nun auch nicht unbedingt mein Spezialgebiet. Es gibt aber Hilfestellung zum automatisierten Anlegen von doif und auch notify. Notify ist vielleicht im Anfang einfacher. Den Event Monitor von FHEM kennst du, dort hast du auch die Möglichkeit aus einem einlaufenden Event halbautomatisch ein Notify bzw.doif anzulegen. Vielleicht schaust du dir das Mal an. Links unten im Menü der letzte Punkt, am besten in einem neuen Fenster öffnen.
Gruß Thomas

hydrotec

Hallo Adolar,

kannst du mal bitte die RAW-definition vom MQTT-device deiner yi_neu_4 posten.

Gruß Karsten

Adolar

So läuft. Ich bekomme zwei snapshots auf's Händie wenn eine Person erkannt wird. Wird morgen ausgibig getestet.

Nochmal Danke @all

Zitat von: hydrotec am 21 Januar 2021, 22:53:05
Hallo Adolar,

kannst du mal bitte die RAW-definition vom MQTT-device deiner yi_neu_4 posten.

Gruß Karsten

Aber gerne doch:

defmod MQ2_yi_neu_4 MQTT2_DEVICE yi_neu_4
attr MQ2_yi_neu_4 IODev MQTT2FHEM
attr MQ2_yi_neu_4 readingList yi_neu_4:yi_neu_4/status:.* status\
yi_neu_4:yi_neu_4/motion_detection:.* motion_detection\
yi_neu_4:yi_neu_4/ai_human_detection:.* ai_human_detection\
yi_neu_4:yi_neu_4/motion_files:.* { json2nameValue($EVENT) }\
yi_neu_4:FHEM/Au\xc3\x9fen/yi-neu-4/status:.* status\
yi_neu_4:FHEM/Au\xc3\x9fen/yi-neu-4/ai_human_detection:.* ai_human_detection\
yi_neu_4:FHEM/Au\xc3\x9fen/yi-neu-4/motion_detection:.* motion_detection\
yi_neu_4:FHEM/Au\xc3\x9fen/yi-neu-4/motion_files:.* { json2nameValue($EVENT) }
attr MQ2_yi_neu_4 room Außen
attr MQ2_yi_neu_4 stateFormat motion_detection

hydrotec

#57
Okay, du verwendest MQTT2, da kann ich dir weniger helfen.
Ich verwende Mosquitto mit dem Modul "00_MQTT.pm"
Doch TL60 hat dir ja schon den Tipp mit Eventmonitor gegeben,
und so wie es aussieht funktioniert es ja.

Bin gerade noch in einem Testlauf wie man Aufnahmen über ffmpeg auf ein definiertes Verzeichnis bekommt,
und bei mehreren Kameras auch die zugehörige Aufnahme stopt.
Prinzipiell funktioniert es, doch eher alpha als beta ;-)

Gruß Karsten

Adolar

Ich hatte es mit Mosquitto nicht hinbekommen. MQTT2 sieht sehr vielversprechend aus und läuft bei mir jetzt parallel.

Wozu ffmpeg?

Gruß,
Adolar

hydrotec

Zitat von: Adolar am 21 Januar 2021, 23:41:10
Wozu ffmpeg?

Um den rtsp-stream der Kamera in ein video-file zu wandeln.

hydrotec

Hallo an alle Interessierten,
die eine Möglichkeit suchen, um den von einer Kamera zur Verfügung gestellten rtsp-stream in ein video-file zu exportieren.

Mit nur einer Kamera kann man es über scripts lösen,
doch wenn man mehrere Kameras hat, besteht die Schwierigkeit die richtige Aufnahme zu stoppen.

Die folgende Funktion arbeitet ohne scripts.
Vorraussetzung ist ein installiertes ffmpeg auf dem System,
und ein mit Schreibrechten versehenes Aufnahmeverzeichnis.

Der hier vorgestellte code ist nicht perfekt, ein Profi würde das eventuell anders gestalten.
(Wenn jemand Verbesserungsvorschläge hat wie man die Funktion einfacher, oder besser umsetzen kann, gerne her damit)
Doch generell funktioniert das Ganze, hab ich mit zwei Kameras getestet, bzw. am laufen.


Ok, dann versuche ich mal die Funktion zu beschreiben.
Sollte etwas unklar sein, Rückfragen sind erwünscht.

Zuerst braucht man ein device welches das motion der Kamera erkennt, um darauf reagieren zu können.
Vermutlich wird es bei den meisten Kameras über MQTT/MQTT2 umgesetzt.
Prinzipiell ist es egal, man benötigt ja nur das event.

Danach noch ein DOIF, welches auf das event reagiert, mit dem Funktionsaufruf erstellen.
(Der trigger muss natürlich auf das vorher angelegte device der Kamera angepasst werden.
([mq_XXX_01:"^motion:.ON$"]) {camera_ffmpeg_XX("$SELF", 'address stream', 'camera name', 'destination', 'duration')}

Beschreibung des Funktionaufrufes:
{camera_ffmpeg_XX(...)} ->  Funktionsbezeichnung
                                              - Muss einmalig sein, da jede Kamera ihre eigene Funktionsbezeichnung benötigt.
                                              - Bspl.: camera_ffmpeg_01, camera_ffmpeg_02, ...
"$SELF"                            ->  Damit die readings in das aufrufende Device geschrieben werden.
'address stream'              ->  Die Adresse unter welcher der rtsp-stream der Kamera aufgerufen werden kann.
                                              - Bspl.: 'rtsp://192.168.178.186:8554/unicast' oder 'rtsp://{USERNAME}:{PASSWORD}\@192.168.178.186:8554/unicast'
'camera name'                 ->  Eine einmalige Bezeichnung
                                             - Am einfachsten den Namen der Kamera welche motion triggert verwenden
                                             - Bspl.: 'mq_XXX_01'
'destination'                     ->  Verzeichnispfad wo die Dateien später landen sollen
                                              - kann ein lokales oder entferntes Verzeichnis sein
'duration'                          ->  Aufnahmedauer in Sekunden



Anschließend noch die im Anhang befindliche "99_myUtils_camera.pm" in das Verzeichnis,
in dem auch die anderen "99_myUtils" Dateien angelegt sind, kopieren.
Entweder direkt kopieren, oder den Inhalt der Datei über die FHEM Oberfläche (Edit files) in eine "99_myUtils" einfügen.
https://wiki.fhem.de/wiki/99_myUtils_anlegen

Jetzt ist noch etwas eigene Arbeit angesagt.
In der angelegten "99_myUtils_camera.pm" MUSS für jede Kamera eine Funktion vorhanden sein.
Heißt, man kopiert den ganzen Block einer Kamera, und passt die Funktion dementsprechend an.
Beispiel:
sub camera_ffmpeg_01 {...}
sub camera_ffmpeg_02 {...}
sub camera_ffmpeg_03 {...}
usw.

Genauso wird für jede Kamera ein DOIF mit dem jeweiligen Funktionsaufruf benötigt.
Beispiel:
{camera_ffmpeg_01(...)}
{camera_ffmpeg_02(...)}
{camera_ffmpeg_03(...)}
usw.

Das war es im Prinzip schon.


Kurzbeschreibung:
Die Kamera triggert das DOIF, ffmpeg wird gestartet, und die PID an fhem übergeben.
Nachdem die eingestellte Dauer abgelaufen ist, wird ffmpeg mit der zugewiesenen PID wieder gestoppt.
Sollte während der laufenden Aufnahme die Kamera erneut triggern, wird die aktuell noch laufende Aufnahme um die eingestellte Dauer verlängert.
Die zugehörige PID bleibt erhalten, auch wenn ein anderes Gerät ffmpeg startet.


Viel Spaß damit
Gruß Karsten



Ein Beispiel wie ich es mit zwei Kameras am laufen habe.

Kamera 1

Device welches motion triggert

defmod mq_dafang_01 MQTT_DEVICE
attr mq_dafang_01 DbLogExclude .*
attr mq_dafang_01 IODev Mosquitto
attr mq_dafang_01 cmdIcon calibrate:recycling up:control_arrow_up left:control_arrow_left right:control_arrow_right down:control_arrow_down
attr mq_dafang_01 event-on-change-reading motion
attr mq_dafang_01 eventMap /vertical up:up/vertical down:down/horizontal left:left/horizontal right:right/calibrate calibrate:calibrate/
attr mq_dafang_01 group zone_hallway_general
attr mq_dafang_01 publishSet brightness:slider,0,1,100 myhome/Dafang_01/brightness/
attr mq_dafang_01 publishSet_auto_night_mode ON OFF myhome/Dafang_01/night_mode/auto/set
attr mq_dafang_01 publishSet_blue ON OFF myhome/Dafang_01/leds/blue/set
attr mq_dafang_01 publishSet_calibrate calibrate myhome/Dafang_01/motors/set
attr mq_dafang_01 publishSet_detection ON OFF myhome/Dafang_01/motion/detection/set
attr mq_dafang_01 publishSet_horizontal left right myhome/Dafang_01/motors/horizontal/set
attr mq_dafang_01 publishSet_ir ON OFF myhome/Dafang_01/leds/ir/set
attr mq_dafang_01 publishSet_ir-cut ON OFF myhome/Dafang_01/ir_cut/set
attr mq_dafang_01 publishSet_motion_tracking ON OFF myhome/Dafang_01/motion/tracking/set
attr mq_dafang_01 publishSet_night_mode ON OFF myhome/Dafang_01/night_mode/set
attr mq_dafang_01 publishSet_reboot ON myhome/Dafang_01/reboot/set
attr mq_dafang_01 publishSet_remount_sdcard ON myhome/Dafang_01/remount_sdcard/set
attr mq_dafang_01 publishSet_rtsp_h264_server ON OFF myhome/Dafang_01/rtsp_h264_server/set
attr mq_dafang_01 publishSet_rtsp_mjpeg_server ON OFF myhome/Dafang_01/rtsp_mjpeg_server/set
attr mq_dafang_01 publishSet_send_mail ON OFF myhome/Dafang_01/motion/send_mail/set
attr mq_dafang_01 publishSet_send_telegram ON OFF myhome/Dafang_01/motion/send_telegram/set
attr mq_dafang_01 publishSet_snapshot ON myhome/Dafang_01/snapshot/set
attr mq_dafang_01 publishSet_vertical up down myhome/Dafang_01/motors/vertical/set
attr mq_dafang_01 publishSet_yellow ON OFF myhome/Dafang_01/leds/yellow/set
attr mq_dafang_01 room 08_Camera->Dafang_01
attr mq_dafang_01 stateFormat Motion: motion - am: motion_timestamp
attr mq_dafang_01 subscribeReading_auto myhome/Dafang_01/night_mode/auto
attr mq_dafang_01 subscribeReading_blue myhome/Dafang_01/leds/blue
attr mq_dafang_01 subscribeReading_brightness myhome/Dafang_01/brightness
attr mq_dafang_01 subscribeReading_data myhome/Dafang_01/*
attr mq_dafang_01 subscribeReading_detection myhome/Dafang_01/motion/detection
attr mq_dafang_01 subscribeReading_horizontal myhome/Dafang_01/motors/horizontal
attr mq_dafang_01 subscribeReading_ir myhome/Dafang_01/leds/ir
attr mq_dafang_01 subscribeReading_ir-cut myhome/Dafang_01/ir_cut
attr mq_dafang_01 subscribeReading_motion myhome/Dafang_01/motion
attr mq_dafang_01 subscribeReading_night_mode myhome/Dafang_01/night_mode
attr mq_dafang_01 subscribeReading_rtsp_h264_server myhome/Dafang_01/rtsp_h264_server
attr mq_dafang_01 subscribeReading_rtsp_mjpeg_server myhome/Dafang_01/rtsp_mjpeg_server
attr mq_dafang_01 subscribeReading_send_mail myhome/Dafang_01/motion/send_mail
attr mq_dafang_01 subscribeReading_send_telegram myhome/Dafang_01/motion/send_telegram
attr mq_dafang_01 subscribeReading_tracking myhome/Dafang_01/motion/tracking
attr mq_dafang_01 subscribeReading_uptime myhome/Dafang_01
attr mq_dafang_01 subscribeReading_vertical myhome/Dafang_01/motors/vertical
attr mq_dafang_01 subscribeReading_yellow myhome/Dafang_01/leds/yellow
attr mq_dafang_01 userReadings motion_timestamp {ReadingsTimestamp("mq_dafang_01","motion","")}
attr mq_dafang_01 webCmd calibrate:left:up:down:right

Doif mit dem Funktionsaufruf

defmod di_dafang_01_ffmpeg_automatic DOIF (([mq_dafang_01:"^motion:.ON$"]) and ([rgr_myhome:presence] eq "absent")) ({camera_ffmpeg_01("$SELF", 'rtsp://192.168.178.186:8554/unicast', 'mq_dafang_01', '/mnt/ipcam/dafang_01/movie', '60')})
attr di_dafang_01_ffmpeg_automatic DbLogExclude .*
attr di_dafang_01_ffmpeg_automatic do always
attr di_dafang_01_ffmpeg_automatic group zone_hallway_general
attr di_dafang_01_ffmpeg_automatic room 08_Camera->Dafang_01


Kamera 2

Device welches motion triggert

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 zone_livingroom_general
attr mq_yi_home_01 room 08_Camera->Yi_Home_01
attr mq_yi_home_01 stateFormat Motion: motion_detection - am: motion_timestamp
attr mq_yi_home_01 subscribeReading_motion_detection yi_home_01/motion_detection
attr mq_yi_home_01 userReadings motion_timestamp {ReadingsTimestamp("mq_yi_home_01","motion_detection","")}

Doif mit dem Funktionsaufruf

defmod di_yi_home_01_ffmpeg_automatic DOIF (([mq_yi_home_01:"^motion_detection:.motion_start$"]) and ([?du_yi_home_01_ffmpeg_switch:state] eq "on")) ({camera_ffmpeg_02("$SELF", 'rtsp://192.168.178.187/ch0_0.h264', 'mq_yi_home_01', '/mnt/ipcam/yi_01/movie', '120')})
attr di_yi_home_01_ffmpeg_automatic DbLogExclude .*
attr di_yi_home_01_ffmpeg_automatic do always
attr di_yi_home_01_ffmpeg_automatic group zone_livingroom_general
attr di_yi_home_01_ffmpeg_automatic room 08_Camera->Yi_Home_01



In der angehängten 99_myUtils_camera.pm ist noch eine Funktion zum Löschen älterer Dateien vorhanden.
Diese Funktion nur verwenden wenn die Pfade zu den Verzeichnissen angepasst ist.
(Hatte ich nur auf die Schnelle für mich gebastelt)

Aufnahmen löschen

defmod at_camera_ffmpeg_file_delete at *00:10:00 {camera_ffmpeg_file_delete()}
attr at_camera_ffmpeg_file_delete DbLogExclude .*
attr at_camera_ffmpeg_file_delete group zone_apartment_automatic
attr at_camera_ffmpeg_file_delete room 08_Camera->General


Henni

Erstmal vielen Dank and rob und hydrotec, von euch habe ich viel gelernt. Bei mir läuft jetzt alles, wie es soll.
In meinem meinem MQTT2 log habe ich nun folgenden Einträge gefunden:
2021-01-22_16:18:25 MQTT2_yi_cam motion_detection: motion_start
2021-01-22_16:18:27 MQTT2_yi_cam motion_detection_image: ����JFIF��C 

  ��C      

��8�"��    ���}!1AQa"q2���#B��R��$3br�    %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz���������������������������������������������������������������������������    ���w!1AQaq"2�B����   #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�������������������������������������������������������������������������� ?��� r�ɣŠ��   ����}jMB��
]�mL���5��-"���=*�S1��h�֬GUӭY���Va5K�Y�s@U��5%XD�   W�9z�GJr�� +Ҕu�^���N�)i�.
:�u���s@ 5:�)�� �F(1NQ�;m(^hU�KH:R��Z�*�5:@/JZR��4�9�x���@PqNPsR*�S�y�   �-`R�E.
4�U�I�J��,/JZE�c4�֦^��S/J��֊Z�zR�/JZu(�IJ:��Җ��4�F�S�i�p(�74ݹ�J��L{����>cQH�N*�o���`�-�#�*�.............

Das wird natürlich im Reading für motion_detection_image genau so übernommen. Ist das normal? Kann man das rausfiltern?

hydrotec

Hallo Henni,

poste mal bitte die Definition des device. (list oder RAW-definition)

Zitat2021-01-22_16:18:27 MQTT2_yi_cam motion_detection_image:
Kann mir nicht vorstellen das über MQTT Bilder versendet werden können.

Gruß Karsten

Henni

#63
Hi Karsten,
meintest du vom Log? Der wurde, wie bei euch, automatisch angelegt.
defmod FileLog_MQTT2_yi_cam FileLog ./log/MQTT2_yi_cam-%Y.log MQTT2_yi_cam
attr FileLog_MQTT2_yi_cam logtype text
attr FileLog_MQTT2_yi_cam room MQTT2_DEVICE

setstate FileLog_MQTT2_yi_cam active
setstate FileLog_MQTT2_yi_cam 2021-01-22 23:48:17 linesInTheFile 199


ZitatKann mir nicht vorstellen das über MQTT Bilder versendet werden können.
Bei mir scheint der Empfang/Decodieren das Problem zu sein. Das Senden kommt ja rein von der Cam?
Die Cam hat FW 9.0.19*, daher benutze ich Allwinner v2. Evtl liegt es daran? Gibt auch ein open issue, könnte mit meinem vielleicht zusammenhängen?
https://github.com/roleoroleo/yi-hack-Allwinner-v2/issues/35

Hier auch nochmal für die cam
defmod MQTT2_yi_cam MQTT2_DEVICE yi_cam
attr MQTT2_yi_cam IODev m2s
attr MQTT2_yi_cam readingList yi_cam:yicam/motion_detection:.* motion_detection\
yi_cam:yicam/motion_detection_image:.* motion_detection_image\
yi_cam:yicam/motion_files:.* { json2nameValue($EVENT) }\
yi_cam:yicam/status:.* status
attr MQTT2_yi_cam room MQTT2_DEVICE

setstate MQTT2_yi_cam 2021-01-22 23:48:17 end 2021-01-22T22:47:07+0000
setstate MQTT2_yi_cam 2021-01-22 23:48:17 files_1 2021Y01M22D22H/47M00S60.mp4
setstate MQTT2_yi_cam 2021-01-22 23:47:07 motion_detection motion_stop
setstate MQTT2_yi_cam 2021-01-22 23:46:09 motion_detection_image ����JFIF��C\
 \         <-hier abgeschnitten, da ewig lang
setstate MQTT2_yi_cam 2021-01-22 23:48:17 start 2021-01-22T22:46:07+0000
setstate MQTT2_yi_cam 2021-01-22 16:08:28 status online


Gruß Stefan
Nachtrag:
Konnte beim Cam Interface in der MQTT section folgendes finden:
Topic Suffix for jpeg image
"motion_detection_image"
A raw jpeg image is sent to this topic when a motion is detected.

https://forum.fhem.de/index.php?topic=99173.0 hier wird versucht ein png(Karte) eines Roborocks zu empfangen. Es scheint nicht unmöglich zu sein


hydrotec

Guten Morgen Stefan,

was es nicht alles gibt  ???
Kannte ich seither noch nicht, bzw. hatte ich nicht benötigt, müsste ich mich auch erst einmal eine gewisse Zeit damit beschäftigen.
Was sich mir noch nicht ganz erschließt, was für einen Vorteil bringt es, einen snapshot über MQTT zu übermitteln.
Da FHEM mit den reinen Daten des image offensichtlich nichts anfangen kann, müsste man also noch eine zusätzliche Software installieren.
Und da bin ich mir etwas unschlüßig, warum sollte ich den Raspi zusätzlich mit etwas beschäftigen, was die Kamera schon von Haus aus erledigt.
Aber ich lasse mich gerne eines Besseren belehren.

Eventuell gibst du mal einen kurzen Umriss was du erreichen möchtest.

Gruß Karsten

Henni

Hi Karsten,
im Grunde ging es mir um 2 Sachen:
1. Ist das "Verhalten" normal (da ich es bei euren Beispielen nicht gesehen hatte)? Antwort in diesem Fall klar ja
2. Aus deiner Argumentation und da ich auch die Videos/snapshots anders aufs NAS bekomme, würde ich gerne dieses (heißt es MQTT topic?) rausfiltern, da mein Log "zugespamt" wird. Bei den Kameraeinstellungen ist es nicht möglich (Testweise den Namen auf "" gesetzt, wird dennoch als motion_detection_image versendet) Lese mich mal hier ein: https://wiki.fhem.de/wiki/MQTT_Einf%C3%BChrung_Teil_2, wobei ich gerne wohl ein "-" hätte, aber es nur "+" gibt.
Danke für dein Feedback
VG

hydrotec

Hallo Stefan,

mit MQTT2 kann dir bestimmt jemand anderes weiterhelfen, welcher sich besser damit auskennt.
Doch wenn ich mir dein mqtt-cam-device anschaue, und das von rob ansehe,
sind da schon Unterschiede.
Wie du schon richtig erwähnt hast, kannst du es in der Konfiguration der Kamera nicht so ohne Weiteres unterbinden.
Ich könnte mir vorstellen, das wenn du die setList folgendermaßen anpasst, die Topics ignoriert werden.
defmod MQTT2_yi_cam MQTT2_DEVICE yi_cam
attr MQTT2_yi_cam IODev m2s
attr MQTT2_yi_cam readingList yi_cam:yicam/motion_detection:.* motion_detection\
yi_cam:yicam/motion_files:.* { json2nameValue($EVENT) }\
yi_cam:yicam/status:.* status
attr MQTT2_yi_cam room MQTT2_DEVICE


Versuch macht kluch  ;)

Gruß Karsten

Henni

das war dann sogar die Lösung  :D
Hatte auch schon früh diese Idee gehabt, nur wurden meine Änderungen nie "übernommen"
attr MQTT2_yi_cam autocreate 0 war halt noch nötig ;)
Danke nochmal :)


Grist

Hallo zusammen,

ich habe diesen Thread jetzt gefunden...falls jemand eine Lösung mit Node-Red braucht:
https://discourse.nodered.org/t/yi-hack-send-video-files-to-telegram/41490/7

Apropos, ich bräuchte bitte eure Hilfe:
1. Ich habe die Kamera mit dem IPCAM Modul definiert: "define yi IPCAM 192.168.x.x:8080" + "attr yi basicauth user:passwd"
Diese Zugangsdaten "user:passwd" sind als Klartext in FHEM sichtbar. Wie könnte man sie verstecken?

2. "attr yi webCmd on:off" ist gesetzt. Was mus noch definiert werden, damit on & off funktioniert?

3. Ähnlich zu 2. -> Ich brauche etwas wie "set yi on" bzw. "set yi off"

VG

hydrotec

Hallo Grist,

zu allen drei Punkten findest du in der commandref eine Antwort.
IPCAM

zu Punkt
1) Attributes -> basicauth -> credentials
2) Attributes -> cmd01, cmd02, cmd03, ..
3) Set -> cmd 1 .. 15

Anwendungsbeispiele findest du unter Antwort #8 und #9.

Zitat von: Grist am 05 März 2021, 12:15:14
2. "attr yi webCmd on:off" ...
wird nicht benötigt.

Gruß Karsten

Grist

Hallo Karsten,

Zitat von: hydrotec am 07 März 2021, 11:06:32
zu Punkt
1) Attributes -> basicauth -> credentials

Die Lösung mit dem "credentials" hatte ich schon gesehen...hab mich gefragt, ob es wohl eine andere Lösung gäbe...ohne eine Datei anzulegen...

Zitat von: hydrotec am 07 März 2021, 11:06:32
2) Attributes -> cmd01, cmd02, cmd03, ..
3) Set -> cmd 1 .. 15

Ich habe anhand der Beispiele #8 und #9 die Kamera angelegt...habe aber vergessen, pathCmd anzugelegen...jetzt tut es!

Danke und Gruß
Steve

cosmo87

Hallo,

ich bin relativ neu hier und wollte fragen ob mir jemand bezüglich der YI Kamera behilflich sein kann.
Ich hoffe dieser Post ist hier nicht unpassend.

Ich habe mir letztens dieser hier gekauft:
https://www.amazon.de/gp/product/B07YG2TTM3/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1

Darauf musste ich feststellen dass ich NUR mit der App den Stream anschauen kann würde aber gerne von der App unabhängig sein.
So bin ich auf diesen Thread gestoßen und konnte auch den "Yi Hack" von AllwinnerV2 "halb" erfolgreich installieren.
Jedoch bekomme ich mit dem VLC, via rtsp, kein Bild.
Kann hier jemand behilflich sein?

Toll wäre es noch wenn ich,bei Bewegungerkennung, mittels FHEM oder IOBroker eine Benachrichtigung auf mein Handy bekomme aber hierzu muss ich mich als blutiger Anfänger erst noch reinkämpfen  ::)

Gruß

hydrotec

Hallo cosmo87,

vermutlich funktioniert der Hack nicht mit dieser Kamera.

https://github.com/TheCrypt0/yi-hack-v4/issues/163
https://github.com/roleoroleo/yi-hack-Allwinner-v2/issues/105

Musst du etwas im Internet suchen ob schon jemand einen Hack entwickelt hat, oder selber hacken  ;)

Kannst du mittels Webbrowser auf die Kamera zugreifen?


Ansonsten noch schöne Ostern
Gruß, Karsten

cosmo87

Hallo Karsten,

ich war tatsächlich so naiv und dachte IP Camera bleibt IP Camera (IP eingeben, rtsp port dazu, fertig)

Selbst den hack schreiben wird zeitlich etwas schwer momentan (Abschlussprüfungen) und in Skripten bin ich auch blutiger Anfänger :)

Ja mit dem Browser komme ich drauf. Ein paar Einstellungen kann ich auch setzen aber nicht alle (zB. IR LED kann ich nicht deaktivieren)
Aber ich bekomme weder eine FTP, noch eine SSH oder eine RTSP (via VLC) Verbindung zustande.

Ich wünsche euch auch Frohe Ostern
Gruß

hydrotec

@cosmo87

Zitat von: cosmo87
... IP Camera bleibt IP Camera ...
Es gibt ein Modul in Fhem, mit dem könntest du deine Kamera einbinden.
Beschreibung hier

Zitat von: cosmo87
Ja mit dem Browser komme ich drauf.
Gut, dann solltest du auch zu den entsprechenden Informationen, die du benötigst, kommen.
yi-hack-Allwinner/wiki

Doch generell empfehle ich dir einen neuen Thread zu erstellen, es ist ja nicht wirklich eine "Yi" Cam.
Den Titel am Besten so wählen, das auch andere, welche diese Kamera besitzen oder Erfahrungen damit haben, dir helfen können.
Etwas detaillierter beschreiben was du schon versucht hast, oder welche Informationen dir zur Verfügung stehen.
Zitat von: cosmo87
... den "Yi Hack" von AllwinnerV2 "halb" erfolgreich installieren. ...
Ist nicht wirklich aussagekräftig  ;)

Viel Erfolg noch
Gruß, Karsten

rob

Zitat von: Henni am 23 Januar 2021, 00:10:27
Nachtrag:
Konnte beim Cam Interface in der MQTT section folgendes finden:
Topic Suffix for jpeg image
"motion_detection_image"
A raw jpeg image is sent to this topic when a motion is detected.
Nach irgendeinem der Updates hab ich mir das auch eingefangen  ;D

Falls es jmd nutzen möchte: Ja, es wird tatsächlich ein Snapshot von der Cam via MQTT verschickt. Bei jedem Motion-Event. Als Reading weniger schön, aber versendet über Telegram doch sehr nice...

Wie? Zunächst die Readingslist anpassen, dann das "hässliche" Reading löschen und etwas vor der Cam herum hampeln  ;)

Readingslist vorher:

yi_cam1:yicam1/motion_detection:.* motion_detection
yi_cam1:yicam1/motion_files:.* { json2nameValue($EVENT, 'motion_files_', $JSONMAP) }
yi_cam1:yicam1/status:.* status
yi_cam1:yicam1/ai_human_detection:.* ai_human_detection
yi_cam1:yicam1/motion_detection_image:.* motion_detection_image


nachher:

yi_cam1:yicam1/motion_detection:.* motion_detection
yi_cam1:yicam1/motion_files:.* { json2nameValue($EVENT, 'motion_files_', $JSONMAP) }
yi_cam1:yicam1/status:.* status
yi_cam1:yicam1/ai_human_detection:.* ai_human_detection
yi_cam1:yicam1/motion_detection_image:.* { my $myPaparazzo='/var/tmp/scrot.jpg'; open (myFile, '> '.$myPaparazzo) or die $! ; print myFile "$EVENT" ; close (myFile); fhem('set HomeBot sendImage @123456789 '.$myPaparazzo.' ...hab ich dich!')}

Statt @123456789 nehmt Ihr Euren gewünschten Peer oder lasst es weg, um an den default Peer zu senden. Bitte die Leerzeichen beachten/ beibehalten. Pfad/ Filename: nehmt irgendwas, wo Fhem auch zugreifen darf.

Reading löschen:

deletereading MQTT2_yi_cam1 motion_detection_image


Löst Ihr die Motion-Detection aus, sollte das Bild direkt in Telegram auftauchen und es gibt keine hässliche Readingtapete im Device (Retain beim Server bleibt leider hässlich).

Kann man natürlich alles weiter optimieren und der obige Aufruf gehört ggf. besser in die 99_myUtils.pm. Zum Veranschaulichen dürfte es OK sein  ;D  :P

Vorteil: Ein Notify, nur um den Screenshot usw. bei Bewegung zu triggern, benötigt man nun nicht mehr (macht man damit noch weitere Dinge, sollte das wirklich in die 99_myUtils.pm ausgelagert werden).

Viele Grüße
rob

matthias soll

Hallo zusammen,

ich probiere grade mit meiner gehackten Yi Cam rum.
Ist es möglich das zuletzt von mqtt gesendete video auf meinem Floorplan abzuspielen?
Oder zumindest das letzte Bild auf dem Floorplan anzuzeigen und diesen automatisch zu aktualisieren?
Gruß
Matthias

Udomatic

Hallo,

habe eine YI Cam 1080P Home mit YI Hack am Laufen. Soweit alles gut bis auf den FTP Upload. Nutze dazu ein QNAP NAS. Habe auf der QNAP einen Ordner angelegt und über das YI Hack Front-End entsprechend die FTP Daten hinterlegt (Benutzer und PW sowie Pfad).

Jetzt das Problem. Die Cam hat mal angefangen Daten upzuloaden tut jetzt aber nichts mehr und ich verstehe nicht warum. Gibt es ein Log wo ich mehr dazu heraus finden kann?
Stehe gerade etwas auf dem Schlauch, woran es hängen kann. Läuft der FTP Upload eigentlich zuverlässig?
2x Raspberry 3B+, 1x Raspberry 4, Signalduino 433 (Somfy), CUL_HM (HM-MOD-RPI-PCB), MQTT, Hue, ConBee 2, Sonos, AVM DECT, Netatmo, eufy, Nuki,

rob

Hallo.

Die FTP-Funktionalität habe ich bislang noch nicht benötigt. Vielleicht könnte Dir am ehesten geholfen werden, wenn Du direkt im Github Repo ein Issue aufmachst. Ein paar gibt es dort bzgl. FTP schon: https://github.com/roleoroleo/yi-hack-Allwinner/issues?q=is%3Aissue+ftp+is%3Aclosed
Vielleicht hat hier aber auch jmd. schon Ideen.

Viele Grüße
rob

Udomatic

Zitat von: rob am 18 November 2021, 09:50:47
Hallo.

Die FTP-Funktionalität habe ich bislang noch nicht benötigt. Vielleicht könnte Dir am ehesten geholfen werden, wenn Du direkt im Github Repo ein Issue aufmachst. Ein paar gibt es dort bzgl. FTP schon: https://github.com/roleoroleo/yi-hack-Allwinner/issues?q=is%3Aissue+ftp+is%3Aclosed
Vielleicht hat hier aber auch jmd. schon Ideen.

Viele Grüße
rob

D.h. du lässt deine Video ausschließlich auf der SD-Karte?
2x Raspberry 3B+, 1x Raspberry 4, Signalduino 433 (Somfy), CUL_HM (HM-MOD-RPI-PCB), MQTT, Hue, ConBee 2, Sonos, AVM DECT, Netatmo, eufy, Nuki,

rob

Ja, aktuell schon. Wenn dann und wann etwas nützliches dabei war, hab ich mir das über das WebUI geholt. Hat für mich bisher gereicht, aber ist natürlich kein "Ideal-Workflow" :)