Xiaomi Dafang - Einzelreadings aus MQTT-Device

Begonnen von loungelizard, 04 März 2018, 08:50:19

Vorheriges Thema - Nächstes Thema

steffen83

Wenn Telegram läuft, dann sollte sie auch laufen. Sprich den Bot von dir doch mal mit /help oder /on /off an

timelapse müllt dir eigentlich nur die SD Karte voll. Nutze ich nicht.

mqtt muss du erst konfigurieren und die datei am ende entsprechend umbenennen.

Wie gesagt, habe die neuste Version nicht getestet. Habe noch eine ältere Version und diese habe ich "manipuliert" :-)

Ich plane sie schon im Dauerbetrieb zu nutzen. Da sie bei mir nun auch schon mehrere Tage läuft (aktuell 6 Tage ohne Probleme)
Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

vinc2

Wie kann ich den den Bot in der Dafangoberfläche ansprechen?
Mqtt hab ich versucht zu konfigurieren(umbenannt etc), leider ist da irgendwas falsch.

Dauerbetrieb über Monate, soll problematisch sein.

steffen83

Hat einer von euch die neuste Version drauf? Habe probleme das mqtt Status einzuschalten bzw. es kommen keine Rückmeldungen an.
Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

steffen83

So liebe Leute, ich habe mich nun mal hingesetzt und Funktionen erweitert und entsprechend Dokumentiert. Zudem habe ich eine komplette MQTT Steuerung die ich euch gern geben möchte.

Mod Version auf die SD Karte kopieren (Stand 25.01.2019)
Folgende Dateien anpassen:
   -   "/config/wpa_supplicant.conf.dist" in "wpa_supplicant.conf" umbenennen und eigene WLAN Daten eintragen
   -   "/config/hostname.conf.dist" in "hostname.conf" umbenennen und den gewünschen Hostname in die Datei eintragen
   -   "/config/telegram.conf.dist" in "telegram.conf" umbenennen und die Telegram Daten eintragen (API-Code und eigene User ID)
   -   "/config/motion.conf.dist" in "motion.conf" umbenennen und folgende sofern gewünscht ändern
         - motion_tracking=off --> motion_tracking=on
         - save_file_date_pattern="+%d-%m-%Y_%H.%M.%S"  --> save_file_date_pattern="+%Y-%m-%d_%H.%M.%S"
   -    "/config/mqtt.conf.dist" in "mqtt.conf.dist" umbenennen und entsprechende MQTT Daten eintragen
   -    "/controlscripts/telegram-bot"
         Nach der Zeile 30 im Bereich Start (echo "$!" > "$PIDFILE") bitte folgendes einfügen:
CURL="/system/sdcard/bin/curl"
. /system/sdcard/config/mqtt.conf
. /system/sdcard/config/telegram.conf
host="$(hostname 2>/dev/null)"
json=$($CURL -s -X GET "https://api.telegram.org/bot$apiToken/sendMessage?chat_id=$userChatId&text="$host" is online now!")

         Somit schickt die Kamera nach dem starten automatisch eine Nachricht an euch.
   -   "/config/recording.conf" Datei anlegen mit folgendem Inhalt:
         -       DCIM_PATH="/system/sdcard/DCIM"
         -       audio="-c:a ac3_fixed "
   -   Sofern ihr möchtet, dass die Kalibrierung direkt beim starten durchläuft, dann erstellt euch folgenden Datei in den "/config/autostart/motor-calibrate" mit dem Inhalt
#!/bin/sh
/system/sdcard/bin/motor -d v -s 100

   -   "/controlscripts/recording" Bitte wie folgt anpassen:
      Zeile 3 auskommentieren #DCIM_PATH="/system/sdcard/DCIM"
      und folgende 2 Zeilen einfügen:
. /system/sdcard/config/recording.conf
. /system/sdcard/config/rtspserver.conf

      Die Zeile (um die 30 rum) /system/sdcard/bin/busybox nohup /system/sdcard/bin/avconv -rtsp_transport tcp -y -i rtsp://0.0.0.0:8554/unicast.........
      ersetzen durch:
/system/sdcard/bin/busybox nohup /system/sdcard/bin/avconv -rtsp_transport udp -y -i "rtsp://$USERNAME:$USERPASSWORD@0.0.0.0:8554/unicast" -vcodec copy -c:a aac -strict experimental "$RECORDING_PATH"  &>/dev/null &
      Somit funktioniert auch wieder die Record Funktion allerdings immer noch OHNE Audio!
   -   "/scripts/telegram-bot-daemon.sh"
      Bitte folgende Zeilen einfügen:
motion_send_telegramOn() {
. /system/sdcard/scripts/common_functions.sh
motion_send_telegram on && $TELEGRAM m "Motion send Telegram started"
}
motion_send_telegramOff() {
. /system/sdcard/scripts/common_functions.sh
motion_send_telegram off && $TELEGRAM m "Motion send Telegram stopped"
}

      Den respond bitte komplett ersetzen, ist leichter:
respond() {
case $1 in
/mem) sendMem;;
/shot) sendShot;;
/on) detectionOn;;
/off) detectionOff;;
/sendmotionon) motion_send_telegramOn;;
/sendmotionoff) motion_send_telegramOff;;
/textalerts) textAlerts;;
/imagealerts) imageAlerts;;
/help) $TELEGRAM m "######### Bot commands #########\n# /mem - show memory information\n# /shot - take a shot\n# /on - motion detect on\n# /off - motion detect off\n# /sendmotionon - Send Motion Telegram on\n# /sendmotionoff - Send Motion Telegram off\n# /textalerts - Text alerts on motion detection\n# /imagealerts - Image alerts on motion detection";;
*) $TELEGRAM m "I can't respond to '$1' command"
esac
}

   -   Über das Webinterface Settings folgendes ändern:
         -   System die Timezone auf -1 (eins) dann braucht ihr den NTP Server nicht verändern
         -   HTTP Passwort nach euren Wünschen anpassen
         -   Auto Night Mode stelle ich immer von HW auf SW (habe damit bessere Erfahrungen gemacht)
         -    Video Settings habe ich mit User und Passwort versehen. Zudem habe ich die Auflösung auf 1600x900 angepasst. 1920x1080 geht bei mir nicht.
   -   Über das Webinterface Services folgendes ändern:
         -   mqtt-status, mqtt-control, telgram-bot  starten und den Autorun aktivieren
   -   Über SSH Port 21 einloggen mit "root" und "ismart12" und mit dem Befehl "passwd" das root Passwort ändern!

Und hier dann noch die MQTT Steuerung in FHEM
defmod DF_Luke MQTT_DEVICE
attr DF_Luke IODev myBroker
attr DF_Luke cmdIcon calibrate:recycling up:control_arrow_up left:control_arrow_left right:control_arrow_right down:control_arrow_down
attr DF_Luke event-on-change-reading .*
attr DF_Luke eventMap /vertical up:up/vertical down:down/horizontal left:left/horizontal right:right/calibrate calibrate:calibrate/
attr DF_Luke icon it_camera
attr DF_Luke publishSet brightness:slider,0,1,100 myhome/df-luke/brightness/
attr DF_Luke publishSet_auto_night_mode ON OFF myhome/df-luke/night_mode/auto/set
attr DF_Luke publishSet_blue ON OFF myhome/df-luke/leds/blue/set
attr DF_Luke publishSet_calibrate calibrate myhome/df-luke/motors/set
attr DF_Luke publishSet_detection ON OFF myhome/df-luke/motion/detection/set
attr DF_Luke publishSet_horizontal left right myhome/df-luke/motors/horizontal/set
attr DF_Luke publishSet_ir ON OFF myhome/df-luke/leds/ir/set
attr DF_Luke publishSet_ir-cut ON OFF myhome/df-luke/ir_cut/set
attr DF_Luke publishSet_motion_tracking ON OFF myhome/df-luke/motion/tracking/set
attr DF_Luke publishSet_night_mode ON OFF myhome/df-luke/night_mode/set
attr DF_Luke publishSet_reboot ON myhome/df-luke/reboot/set
attr DF_Luke publishSet_remount_sdcard ON myhome/df-luke/remount_sdcard/set
attr DF_Luke publishSet_rtsp_h264_server ON OFF myhome/df-luke/rtsp_h264_server/set
attr DF_Luke publishSet_rtsp_mjpeg_server ON OFF myhome/df-luke/rtsp_mjpeg_server/set
attr DF_Luke publishSet_send_mail ON OFF myhome/df-luke/motion/send_mail/set
attr DF_Luke publishSet_send_telegram ON OFF myhome/df-luke/motion/send_telegram/set
attr DF_Luke publishSet_snapshot ON myhome/df-luke/snapshot/set
attr DF_Luke publishSet_vertical up down myhome/df-luke/motors/vertical/set
attr DF_Luke publishSet_yellow ON OFF myhome/df-luke/leds/yellow/set
attr DF_Luke room MQTT
attr DF_Luke stateFormat Motion:motion
attr DF_Luke subscribeReading_auto myhome/df-luke/night_mode/auto
attr DF_Luke subscribeReading_blue myhome/df-luke/leds/blue
attr DF_Luke subscribeReading_brightness myhome/df-luke/brightness
attr DF_Luke subscribeReading_data myhome/df-luke/*
attr DF_Luke subscribeReading_detection myhome/df-luke/motion/detection
attr DF_Luke subscribeReading_horizontal myhome/df-luke/motors/horizontal
attr DF_Luke subscribeReading_ir myhome/df-luke/leds/ir
attr DF_Luke subscribeReading_ir-cut myhome/df-luke/ir_cut
attr DF_Luke subscribeReading_motion myhome/df-luke/motion
attr DF_Luke subscribeReading_night_mode myhome/df-luke/night_mode
attr DF_Luke subscribeReading_rtsp_h264_server myhome/df-luke/rtsp_h264_server
attr DF_Luke subscribeReading_rtsp_mjpeg_server myhome/df-luke/rtsp_mjpeg_server
attr DF_Luke subscribeReading_send_mail myhome/df-luke/motion/send_mail
attr DF_Luke subscribeReading_send_telegram myhome/df-luke/motion/send_telegram
attr DF_Luke subscribeReading_tracking myhome/df-luke/motion/tracking
attr DF_Luke subscribeReading_uptime myhome/df-luke
attr DF_Luke subscribeReading_vertical myhome/df-luke/motors/vertical
attr DF_Luke subscribeReading_yellow myhome/df-luke/leds/yellow
attr DF_Luke webCmd calibrate:left:up:down:right


Habt ihr noch Verbesserungsvorschläge?
Ich selbst arbeite noch daran, wie man ein Netzwerklaufwerk einbinden kann. Somit hätte ich bei Alarm, das Video schon gern direkt Extern (SMB) gespeichert. Habt ihr da was? Oder wie realisiert ihr dies?
Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

DoubleD

Weiß einer von euch ob die xiaomi Xiaofang 1S bzw. die Wyzecam V2 (mit alternativer Firmware) auch mit dem ipcam modul funktionieren?

andre07

steffen83 Danke für deine Code funktioniert bei mir gut

timtom

Hallo zusammen, ich bin auf der Suche nach einer IP Cam auf diesen Thread gestoßen und begeistert von der Entwicklung. Da die Dafang aktuell irgendwie nicht so gut zu bekommen ist, würde mich interessieren, ob es etwas vergleichbares auch für die YI Dome gibt?

AxelSchweiss

Schau mal in der Bucht ( Suchauftrag).
Da habe ich meine gerade für 18 Euro geschossen.
Was soll ich sagen ... cooles Teil

Aber habt ihr auch das Problem das bei der Kalibirierfahrt die Kamera abstürzt ?
Konkret fähr sie erst nach Rechts zum Anschlag dann an den Linken Anschlag , bleibt dort stehen und rührt sich nicht mehr.
Auch auf einen Ping kommt nix mehr.


steffen83

Axel, wo gibt es die Kamera!? Schicke Mal Link bitte

Gesendet von meinem MI 8 mit Tapatalk

Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

AxelSchweiss

Zitat von: steffen83 am 11 Mai 2019, 19:42:24
Axel, wo gibt es die Kamera!? Schicke Mal Link bitte
Wie schon gesagt ... eBay ...  jetzt gibts die dort nicht mehr .... weil .... habe jetzt ich  ;D
Suche einfach dort nach "dafang" und mache einen Suchauftrag dafür. So habe ich es auch gemacht.
(Mit nem Kauf beim Chinesen bin ich angegangen ... war Betrug ... habe das Geld aber via Paypal wieder bekommen.)

AxelSchweiss

Zitat von: steffen83 am 11 Mai 2019, 19:42:24
Axel, wo gibt es die Kamera!? Schicke Mal Link bitte
Schau mal hier :
https://www.zapals.com/xiaomi-mijia-dafang-1080p-gimbal-ip-security-camera-for-home.html
Mit 26$ kalppt das auch mit dem Zoll ... vorausgesetzt da kommt nicht noch Versand dazu.
Der Preis ist wirklich gut.

steffen83

Shipping kommt noch hinzu. Klappt bei euch eigentlich über den Hack Firmware die Sprachübertragung
2 Wege Talk?

Gesendet von meinem MI 8 mit Tapatalk

Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

AxelSchweiss

Wusste gar nicht das das geht ?
Wie macht man das ?

Soundausgabe mittels audioplay klappt bei mir

steffen83

Nein das geht nicht nur mit der original Software

Gesendet von meinem MI 8 mit Tapatalk

Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM