Xiaomi Dafang - Einzelreadings aus MQTT-Device

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

Vorheriges Thema - Nächstes Thema

loungelizard

Folgende Problemstellung:
Xiaomi Dafang WLAN-Kamera mit alternativer Firmware von https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks liefert als MQTT-Status nur einen zusammenhängenden Status-String.
Um daraus einzelne Userreadings zu machen, habe ich den folgenden Code zusammen gezimmert. Vielleicht hilft er anderen auch.

Wenn es Tipps zu optimierterem Coding gibt, gerne her damit.


sub findValueInReading($$$) {


my $DeviceToRead=shift;
my $ReadingToRead=shift;
my $ValueToSearch=shift;
my $totalValue=ReadingsVal($DeviceToRead,$ReadingToRead,0);

#Log 1, "UTIL:findValueInReading: Device: ".$DeviceToRead." - Reading:".$ReadingToRead. " - Value:".$ValueToSearch. " - Reading:".$totalValue;


# Werte kommen im String wie folgt: "Wert":"tatsächlicher Wert"
# Gedanke: Suche die erste Position des Vorkommens "Wert"
# Dann beginnt der Substring an der Position +3 und endet am nächsten Vorkommen von '"'

my $pos1=index($totalValue,$ValueToSearch);
if ($pos1 != -1) {



my $finalPos=$pos1+length($ValueToSearch)+3;
# die 3 kommt von '":"

my $newValue=substr($totalValue,$finalPos);

#nächstes '"' suchen

my $endOfString=index($newValue,'"');

my $finalValue=substr($newValue,0,$endOfString);
#Log 1, "UTIL:findValueInReading: pos1: ".$pos1." - finalPos:".$finalPos. " - newValue:".$newValue. " - endOfString:".$endOfString;

return $finalValue;

}
return "not found";


}


Anschließend noch die Userreadings entsprechend einrichten.
Meine Kamera ist als MQTT-Device wie folgt in FHEM eingerichtet:


nternals:
   CFGFN     
   IODev      mqtt
   NAME       cam_dafang_status
   NR         288652
   STATE      incoming publish received
   TYPE       MQTT_DEVICE
   READINGS:
     2018-03-04 08:45:03   Bitrate         72.2 Mb/s
     2018-03-04 08:45:03   IR-Cut          off
     2018-03-04 08:45:03   LED_Blue        on
     2018-03-04 08:45:03   LED_IR          off
     2018-03-04 08:45:03   LED_Yellow      off
     2018-03-04 08:45:03   Linkquality     100%
     2018-03-04 08:45:03   NoiseLevel      0%
     2018-03-04 08:45:03   RTSP-Server     running
     2018-03-04 08:45:03   SSID           xxx
     2018-03-04 08:45:03   SignalLevel     75%
     2018-03-04 08:45:03   Status          {"Uptime":" 08:45:23 up 1 day, 32 min,  0 users,  load average: 2.98, 3.03, 3.04", "RTSP-Server":"running", "IR-Cut":"off", "Wifi":{"SSID":"xxx", "Bitrate":"72.2 Mb/s", "SignalLevel":"75%", "Linkquality":"100%", "NoiseLevel":"0%"}, "LEDs":{"Blue":"on", "Yellow":"off", "Infrared":"off"}}
     2018-03-04 08:45:02   transmission-state incoming publish received
     2018-03-04 08:45:03   upTime           08:45:23 up 1 day, 32 min,  0 users,  load average: 2.98, 3.03, 3.04
   message_ids:
   sets:
   subscribe:
     topic/dafang/status
     1
   subscribeExpr:
     ^topic\/dafang\/status$
     ^1$
   subscribeReadings:
     topic/dafang/status:
       cmd       
       name       Status
Attributes:
   IODev      mqtt
   autoSubscribeReadings 1
   group      MQTT
   room       ,20_MQTT
   stateFormat transmission-state
   subscribeReading_Status topic/dafang/status
   userReadings upTime { findValueInReading ("cam_dafang_status", "Status", "Uptime")},
RTSP-Server { findValueInReading ("cam_dafang_status", "Status", "RTSP-Server")},
IR-Cut { findValueInReading ("cam_dafang_status", "Status", "IR-Cut")},
SSID { findValueInReading ("cam_dafang_status", "Status", "SSID")},
Bitrate { findValueInReading ("cam_dafang_status", "Status", "Bitrate")},
SignalLevel { findValueInReading ("cam_dafang_status", "Status", "SignalLevel")},
Linkquality { findValueInReading ("cam_dafang_status", "Status", "Linkquality")},
NoiseLevel { findValueInReading ("cam_dafang_status", "Status", "NoiseLevel")},
LED_Blue { findValueInReading ("cam_dafang_status", "Status", "Blue")},
LED_Yellow { findValueInReading ("cam_dafang_status", "Status", "Yellow")},
LED_IR { findValueInReading ("cam_dafang_status", "Status", "Infrared")}


Cheers,
Florian
Raspberry Pi 3: CUL V3 (433 MHz a-culfw 1.21.00), Intertechno V1/V2; Z-Wave: ZME_UZB1, Fibaro Switches, Devolo Sensors, Aeotec Sensor; Xiaomi Mi; Lightify; MAXLAN: Heizkörper, Wandthermostat; Sonstiges: Fritzbox, Unfi, LG-TV, DENON AVR; TabletUI

shinebar

Hab' heute noch mal für die Steuerung der LEDs direkte Antworten auf die Requests eingebastelt.
https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks/commit/a3e712c7252eb0fca53e3a8e9c437d29996425cd
Wenn Du noch mehr brauchst, sag' nur Bescheid :)

blueberry63

Hallo Florian,

könntest Du mal den Eintrag für die Dafang in der fhem.cfg posten? Irgendwie funktioniert es bei mir nicht. Allerdings hatte ich vorher auch noch nie mit MQTT gearbeitet. Wahrscheinlich stehe ich nur noch auf einem kurzen Schlauch-Stück  ::)

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

loungelizard

Hi,

anbei mein Setting meiner Dafang Kamera als IPCAM:


Internals:
   AUTHORITY  10.x.x.x
   DEF        10.x.x.x
   NAME       cam_dafang_1
   NR         1552
   SEQ        0
   STATE      last: 2018-03-28 00:37:10
   TYPE       IPCAM
   READINGS:
     2018-03-28 00:37:11   last            cam_dafang_1_snapshot.jpg
     2018-03-28 00:36:40   snapshot1       cam_dafang_1_snapshot_1.jpg
     2018-03-28 00:36:45   snapshot2       cam_dafang_1_snapshot_2.jpg
     2018-03-28 00:36:51   snapshot3       cam_dafang_1_snapshot_3.jpg
     2018-03-28 00:37:00   snapshot4       cam_dafang_1_snapshot_4.jpg
     2018-03-28 00:37:10   snapshot5       cam_dafang_1_snapshot_5.jpg
     2018-03-28 00:37:11   snapshots       5
Attributes:
   alias      Kamera Dafang 1
   cmdPanLeft cmd=motor_left
   cmdPanRight cmd=motor_right
   cmdTiltDown cmd=motor_down
   cmdTiltUp  cmd=motor_up
   delay      10
   event-on-update-reading snapshots
   icon       it_camera
   path       cgi-bin/currentpic.cgi
   pathPanTilt cgi-bin/action.cgi?
   room       30_Cameras
   snapshots  5
   storage    /opt/fhem/www/ipcamera/dafang_1/shot
   verbose    5


Raspberry Pi 3: CUL V3 (433 MHz a-culfw 1.21.00), Intertechno V1/V2; Z-Wave: ZME_UZB1, Fibaro Switches, Devolo Sensors, Aeotec Sensor; Xiaomi Mi; Lightify; MAXLAN: Heizkörper, Wandthermostat; Sonstiges: Fritzbox, Unfi, LG-TV, DENON AVR; TabletUI

blueberry63

Hallo Florian,

ich konnte beide Geräte anlegen. Danke für die Tips.

Besteht eigentlich die Möglichkeit, eine Rückmeldung über MOTION von der Kamera zu bekommen? Das könnte ich gerade gut gebrauchen.

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

loungelizard

Ich habe noch keine Möglichkeit gefunden, Bewegungs-trigger zu erkennen. Ich bin auch allgemein noch nicht 100% glücklich mit der Einbindung der Kamera. Den RTSP-Stream kann ich ja auf meinen Android-Tablets nicht anzeigen, und habe im Tablet-UI jetzt einen 5-Sekunden-Refresh auf das Standbild... Ich war jetzt schon drauf und dran, den Stream automatisch zu konvertieren, aber langsam aber sicher mute ich meinem Raspi ein bisschen viel Zusatzaufgaben zu. Ich habe testweise Zoneminder ans Laufen gebracht, aber auch da war der Stream von der Geschwindigkeit nicht akzetabel. Welche Lösungsmöglichkeiten hast Du denn schon probiert?

Raspberry Pi 3: CUL V3 (433 MHz a-culfw 1.21.00), Intertechno V1/V2; Z-Wave: ZME_UZB1, Fibaro Switches, Devolo Sensors, Aeotec Sensor; Xiaomi Mi; Lightify; MAXLAN: Heizkörper, Wandthermostat; Sonstiges: Fritzbox, Unfi, LG-TV, DENON AVR; TabletUI

blueberry63

Mein erster Test: Getriggert über einen Türsensor bekomme ich ein Bild per Telegram geschickt.

Aber es wäre nicht schlecht, wenn man eine Bewegung direkt an der Kamera abgreifen könnte.

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

patrikg

Wie schaut den eure motion.conf aus? Habe ne Dafang mit aktueller Mod Firmware und der Prozess terminiert sofort nach dem Start.
In meiner Konfiguration habe ich nichts geändert nur umbenannt.

Grüße Patrik
FHEM on Raspberry 3, Raspbian, HMLAN, HM-CC-RT-DN, Philips HUE, Energenie SISPMS USB, Homebridge, Xiaomi Flower Mate, Osram Lightify

stenumer

Zitat von: blueberry63 am 31 März 2018, 10:49:25
Mein erster Test: Getriggert über einen Türsensor bekomme ich ein Bild per Telegram geschickt.
Moin,
an deiner Lösung wäre ich seeehr interessiert!
Was ich bislang hinbekommen habe:
- alternative Firmware für die Xiaomi Dafang
- Zugriff auf den Stream via VLC
- Bilderstellung via Zeitintervall (durch internes Menue) auf SD-Karte
Wie bekommst du das (ein) Einzelbild ausgelöst?
Wie bekommst du das Bild aus dem Gerät in FHEM?
Gruß Ulf
FHem 5.8 auf NUC
HM: 1xLAN-CFG; 1xLC-SW1-PL2; 1xSEC-SC-2
LaCrosse: myJeeLink cul_868; 6xTX29DHT-IT; 4xTX29-IT; 2xTX29_Umbau
PCA301: myJeeLink cul_868; 5xSteckdose
ESP8266 (Tasmota&ESPEasy FW): 8xSonoff; 2xWeMos

blueberry63

#9
Dann lege ich mal los  :)

Ach ja: ich habe die Kamera als IPCAM-Gerät angelegt, nicht als MQTT-Gerät

Die Kamera:

define WebcamDF2 IPCAM xxx.xxx.xxx.xxx
attr WebcamDF2 basicauth {USERNAME}:{PASSWORD}
attr WebcamDF2 cmdPanLeft cmd=motor_left
attr WebcamDF2 cmdPanRight cmd=motor_right
attr WebcamDF2 cmdTiltDown cmd=motor_down
attr WebcamDF2 cmdTiltUp cmd=motor_up
attr WebcamDF2 credentials /opt/fhem/cred_webcams.conf
attr WebcamDF2 delay 0
attr WebcamDF2 event-on-update-reading snapshots
attr WebcamDF2 icon it_camera
attr WebcamDF2 path cgi-bin/currentpic.cgi
attr WebcamDF2 pathPanTilt cgi-bin/action.cgi?
attr WebcamDF2 room Aussen
attr WebcamDF2 snapshots 5
attr WebcamDF2 storage /data/snapshots/webcamdf
attr WebcamDF2 verbose 5


Über meinen Bewegungsmelder werden 5 Bilder ausgelöst (get WebcamDF2 image):

define n_BewMelder1 notify BewMelder1:.*motionCount.* {\
  if (Value("Alarm") ne "ZUHAUSE") {\
    fhem ("get WebcamDF2 image");;\
    };;\
}


Ein 2. Notify reagiert auf die gerade erzeugten Bilder (snapshots) und schickt das letzte der 5 Bilder per Telegram:

define n_sendSnapshotDF notify WebcamDF2:.*snapshots.* {fhem ("sleep 5;; set Telegram sendPhoto /data/snapshots/webcamdf/WebcamDF2_snapshot.jpg")}


Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

stenumer

Sag schon mal Danke!
Werde ersuchen die Vorlage zu nutzen, bin gespannt!
Gruß Ulf
FHem 5.8 auf NUC
HM: 1xLAN-CFG; 1xLC-SW1-PL2; 1xSEC-SC-2
LaCrosse: myJeeLink cul_868; 6xTX29DHT-IT; 4xTX29-IT; 2xTX29_Umbau
PCA301: myJeeLink cul_868; 5xSteckdose
ESP8266 (Tasmota&ESPEasy FW): 8xSonoff; 2xWeMos

steffen83

#11
Hallo, wie ist denn bei euch der aktuelle Status?
Könnt ihr nun den Stream abgreifen und am Handy schauen? Und nicht nur über VLC sondern mit

https://play.google.com/store/apps/details?id=com.rcreations.ipcamviewer

Motion-Erkennung erkennen und an Fhem weitergeben?

Gruß
Steffen
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

loungelizard

Zitat von: stenumer am 08 Mai 2018, 09:04:31
Wie bekommst du das Bild aus dem Gerät in FHEM?

Mittlerweile hat die alternative Firmware eine Motion Detection erhalten. Die funktioniert bei mir sehr zuverlässig, d.h. ich kann meine externen Bewegungsmelder für etwas anderes verwenden.

Ich lasse mir das Event per MQTT schicken und setze dann ein DoIf auf den Event.
Das Bild schicke ich mir nach wie vor über den Mechanismus, den IPCAM liefert.

  subscribeReading_motion {mqtt_topic_name_ersetzen}/motion

das Doif dann

[cam_dafang_2_status:motion] eq "ON"
)
(
  {

fhem ("set dummy_movement_cam_dafang_2 on") ;
Log 1, "di_cam_movement_dafang_two: Motion detected ";
}
)



Cheers, Florian
Raspberry Pi 3: CUL V3 (433 MHz a-culfw 1.21.00), Intertechno V1/V2; Z-Wave: ZME_UZB1, Fibaro Switches, Devolo Sensors, Aeotec Sensor; Xiaomi Mi; Lightify; MAXLAN: Heizkörper, Wandthermostat; Sonstiges: Fritzbox, Unfi, LG-TV, DENON AVR; TabletUI

steffen83

Und ist der Stream bei euch flüssig? Bei mir laggt es ohne Ende :-(
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

inesa394

Hallo

Ich habe mir auch diese Kamera jetzt zugelegt.Alternative Firmware installiert und in Fhem
als IPCAM eingerichtet.Nur leider bkomme ich beim get image nur  1kb große Dateien als svg abgespeichert
Habe ich was übersehen bei der Einrichtung kann mir jemand helfen vieleicht.

Hier mein ipcam
defmod Xiaomi_Dafang IPCAM 192.168.178.26
attr Xiaomi_Dafang DbLogExclude .*
attr Xiaomi_Dafang cmdPanLeft cmd=motor_left
attr Xiaomi_Dafang cmdPanRight cmd=motor_right
attr Xiaomi_Dafang cmdTiltDown cmd=motor_down
attr Xiaomi_Dafang cmdTiltUp cmd=motor_up
attr Xiaomi_Dafang delay 10
attr Xiaomi_Dafang event-on-update-reading snapshots
attr Xiaomi_Dafang icon it_camera
attr Xiaomi_Dafang path cgi-bin/currentpic.cgi
attr Xiaomi_Dafang pathPanTilt cgi-bin/action.cgi?
attr Xiaomi_Dafang room Status,wohnzimmer
attr Xiaomi_Dafang snapshots 5
attr Xiaomi_Dafang storage /opt/fhem/FHEM
attr Xiaomi_Dafang verbose 5

setstate Xiaomi_Dafang last: 2018-10-05 00:56:28
setstate Xiaomi_Dafang 2018-10-05 00:56:28 last Xiaomi_Dafang_snapshot.svg
setstate Xiaomi_Dafang 2018-10-05 00:55:48 snapshot1 Xiaomi_Dafang_snapshot_1.svg
setstate Xiaomi_Dafang 2018-10-05 00:55:58 snapshot2 Xiaomi_Dafang_snapshot_2.svg
setstate Xiaomi_Dafang 2018-10-05 00:56:08 snapshot3 Xiaomi_Dafang_snapshot_3.svg
setstate Xiaomi_Dafang 2018-10-05 00:56:18 snapshot4 Xiaomi_Dafang_snapshot_4.svg
setstate Xiaomi_Dafang 2018-10-05 00:56:28 snapshot5 Xiaomi_Dafang_snapshot_5.svg
setstate Xiaomi_Dafang 2018-10-05 00:56:28 snapshots 5



Danke Ines

blueberry63

Ich glaube, es fehlt nur:


attr Xiaomi_Dafang pathCmd cgi-bin/action.cgi?


Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

KalleBlomquist

Hallo,

ich greife den Thread nochmal auf und habe eine Frage:

- wie greift ihr die Bewegungserkennung der Kamera in Fhem ab ?

Ich habe die alternative FW drauf und die Cam via dem Modul IPCAM in Fhem eingebunden.
Snapshots etc. funktioniert auch alles.
Ich würde nun auch gerne ein Event vom Bewegungsmelder bekommen, aber wie ?

Gruß Kalle

inesa394

Ich habs so gelöst in Dafang Mqtt aktivieren
Einträge in motion.conf editieren zu
publish_mqtt_message=true
publish_mqtt_snapshot=true
in Fhem ein MQTT Device anlegen
defmod mqtt_device_dafangwz MQTT_DEVICE
attr mqtt_device_dafangwz userattr upTime { findValueInReading ("cam_dafang_status", "Status", "Uptime")}, RTSP-Server { findValueInReading ("cam_dafang_status", "Status", "RTSP-Server")}, IR-Cut { findValueInReading ("cam_dafang_status", "Status", "IR-Cut")}, SSID { findValueInReading ("cam_dafang_status", "Status", "SSID")}, Bitrate { findValueInReading ("cam_dafang_status", "Status", "Bitrate")}, SignalLevel { findValueInReading ("cam_dafang_status", "Status", "SignalLevel")}, Linkquality { findValueInReading ("cam_dafang_status", "Status", "Linkquality")}, NoiseLevel { findValueInReading ("cam_dafang_status", "Status", "NoiseLevel")}, LED_Blue { findValueInReading ("cam_dafang_status", "Status", "Blue")}, LED_Yellow { findValueInReading ("cam_dafang_status", "Status", "Yellow")}, LED_IR { findValueInReading ("cam_dafang_status", "Status", "Infrared")}
attr mqtt_device_dafangwz DbLogExclude .*
attr mqtt_device_dafangwz IODev Mqtt
attr mqtt_device_dafangwz autoSubscribeReadings 1
attr mqtt_device_dafangwz icon mqtt
attr mqtt_device_dafangwz room Mqtt
attr mqtt_device_dafangwz stateFormat transmission-state
attr mqtt_device_dafangwz subscribeReading_Status DafangWz/dafang
attr mqtt_device_dafangwz subscribeReading_auto DafangWz/dafang/night_mode/auto
attr mqtt_device_dafangwz subscribeReading_brightness DafangWz/dafang/brightness
attr mqtt_device_dafangwz subscribeReading_detection DafangWz/dafang/motion/detection
attr mqtt_device_dafangwz subscribeReading_h264 DafangWz/dafang/rtsp_h264_server
attr mqtt_device_dafangwz subscribeReading_horizontal DafangWz/dafang/motors/horizontal
attr mqtt_device_dafangwz subscribeReading_ir DafangWz/dafang/leds/ir
attr mqtt_device_dafangwz subscribeReading_motion DafangWz/dafang/motion
attr mqtt_device_dafangwz subscribeReading_night_mode DafangWz/dafang/night_mode
attr mqtt_device_dafangwz subscribeReading_vertical DafangWz/dafang/motors/vertical


Auf reading motion ein Doif tiggern lassen
([08:00-23:00] and ["mqtt_device_dafangwz:motion"] eq "ON") (set telegram msg Bewegung unter im Wohnzimmer Bild kommt gleich $DEVICE {(localtime)}) (get Xiaomi_Dafang image ) (set telegram sendImage /home/telegram/Xiaomi_Dafang_snapshot.jpg)
ipcam device in fem muss natürlich auch angelegt werden zum holen der Snapshots

cu



KalleBlomquist

Hast Du die u.a. Einträge in die .conf Datei eingefügt, oder nur geändert ?
Bei mir gibt´s die Einträge nämlich garnicht.

publish_mqtt_message=true
publish_mqtt_snapshot=true


KalleBlomquist

OK, gefunden ...
Die Werte stehen nicht in der MQTT.conf sondern in der Motion.conf  8)

steffen83

#20
Hallo in die Runde,

Warum kann ich die Kamera nicht steuern!? Über Pan, TILT etc. geht es nicht.
Nebenfrage: Wenn die Kamera das WLAN verliert? Wählt sie sich bei euch neu ein?
Und könnt ihr über MQTT die Kamera steuern? IR an etc.?
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

loungelizard

Hallo Steffen,
ja geht alles. Verschicke die Befehle zum Steuern allerdings nicht als MQTT, da sehe ich irgendwie keinen Mehrwert drin. Hast Du Sie gemäß Anleitung konfiguriert? Funktionieren die Befehle über die eigene Webseite der Kamera?
WLAN-Connectivity habe ich keine Probleme. Ich monitore das nicht aktiv, hatte aber nach mehreren Monaten nie das Problem, dass die Kamera nicht mehr erreichbar war.

Cheers, Florian
Raspberry Pi 3: CUL V3 (433 MHz a-culfw 1.21.00), Intertechno V1/V2; Z-Wave: ZME_UZB1, Fibaro Switches, Devolo Sensors, Aeotec Sensor; Xiaomi Mi; Lightify; MAXLAN: Heizkörper, Wandthermostat; Sonstiges: Fritzbox, Unfi, LG-TV, DENON AVR; TabletUI

blueberry63

Ich habe auch noch eine Frage zu diesem Thema:
Hat es schon jemand geschafft, bestimmte Positionen zuverlässig anzusteuern?

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

steffen83

#23
Auch wenn das hier nicht so ganz hinpasst, bastelt ihr hier in irgendeine weise weiter?

Ich nämlich ja (und kann ich euch auch bald zur Verfügung stellen)
- Bei mir funktioniert das Recording nicht. Dies versuche ich noch umzuändern. Bis jetzt komme ich mit dem Ton nicht weiter. Bild geht.
- Ich habe Telegram nun auch in die Benutzeroberfläche eingearbeitet. Damit ich rechts über das Menü "Motion - Send Telegram"
- Ich habe herausgefunden, warum oder wie es geht, dass die Kamera nach Motion wieder an die Position X fährt. Dies versuche ich ebenfalls im Menü einzubinden. (was allerdings mehr als schwierig ist)
-> Ihr könnt in der Datei "/system/sdcard/scripts/detectionTracking.sh" ab Spalte 41 die zwei Werte nach else "origin_x_axis=0 und origin_y_axis=0" entsprechend verändern.
- Aktuell ist noch in der Testphase, dass die Kamera automatisch sich kalibriert, wenn sie gestartet wird.

Habt ihr auch noch Dinge die ich evtl. umsetzen kann?

Mein Plan ist es, die Kamera mit in die Alarmanlage einzubinden.
- Wenn Alarmanlage aus -> Kamera fährt in eine Position, wo sie gegen die Wand schaut. Ebenfalls ist "Motion - Send Telegram" dann deaktiviert.
- Wenn Alarmanlage an -> Kamera fährt in die vorgegebene Position und reagiert wieder auf Motion etc.
- Zudem wollte ich das Telegram Menü noch etwas aufblasen um die Kamera auch darüber zu steuern.

Was ich leider noch nicht hinbekommen habe ist ein Netzwerklaufwerk zu Mounten (mit PW Schutz). Damit ich die gespeicherten Bilder direkt auf einem NAS oder FTP etc. habe. Somit könnte der Einbrecher die Kamera mitnehmen :-) Und ich habe noch Bilder von ihm.

Gruß
Steffen
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

Dersch

Der Code ist Gold wert für mich!

Ich habe auch das Problem aber ein leicht anderes Reading:


{"Time":"2018-12-31T21:29:53","ENERGY":{"TotalStartTime":"2018-12-31T16:16:59","Total":0.013,"Yesterday":0.000,"Today":0.013,"Period":0,"Power":22,"ApparentPower":30,"ReactivePower":21,"Factor":0.73,"Voltage":237,"Current":0.127}}


Nun habe ich mir deinen Code in der 99_myUtils.pm etwas abgeändert:

sub findValueInReading($$$) {


my $DeviceToRead=shift;
my $ReadingToRead=shift;
my $ValueToSearch=shift;
my $totalValue=ReadingsVal($DeviceToRead,$ReadingToRead,0);

#Log 1, "UTIL:findValueInReading: Device: ".$DeviceToRead." - Reading:".$ReadingToRead. " - Value:".$ValueToSearch. " - Reading:".$totalValue;


# Werte kommen im String wie folgt: "Wert":"tatsächlicher Wert"
# Gedanke: Suche die erste Position des Vorkommens "Wert"
# Dann beginnt der Substring an der Position +3 und endet am nächsten Vorkommen von '"'

my $pos1=index($totalValue,$ValueToSearch);
if ($pos1 != -1) {



my $finalPos=$pos1+length($ValueToSearch)+2;
# die 3 kommt von '":"

my $newValue=substr($totalValue,$finalPos);

#nächstes '"' suchen

my $endOfString=index($newValue,',"');

my $finalValue=substr($newValue,0,$endOfString);
#Log 1, "UTIL:findValueInReading: pos1: ".$pos1." - finalPos:".$finalPos. " - newValue:".$newValue. " - endOfString:".$endOfString;

return $finalValue;

}
return "not found";


}


Das klappt auch soweit ausser 2 für mich unlösbare Probleme (mangels Programmierfähigkeiten)

1. Wenn ich ein reading Total machen möchte mit "Total":0.013 nimmt er mir aus dem Gesamtreading "TotalStartTime":"2018-12-31T16:16:59"
2. Wenn ich ein reading Current machen möchte ist ein } am Ende im userreading.

Kannst du mir evtl helfen deinen Code so zu ändern, dass ich beide Effekte nicht habe?

Grüße und guten Rutsch! :)
Dirk

steffen83

ich habe es nicht ganz verstanden was du möchtest. Möchtest du die uptime haben?

Dann ändere doch hier etwas:
mqtt-status-interval.sh


uptime=$(/system/sdcard/bin/busybox uptime)
  /system/sdcard/bin/mosquitto_pub.bin -h "$HOST" -p "$PORT" -u "$USER" -P "$PASS" -t "${TOPIC}"/uptime ${MOSQUITTOPUBOPTS} ${MOSQUITTOOPTS} -r -m "$uptime"

Sollte der einfachste Weg sein :-)

und in FHEM:
attr Dafang_Kamera subscribeReading_uptime myhome/dafang-terrasse/uptime
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

Dersch

#26
Hi, danke für die Antwort. Ich möchte Total aus dem Gesamtstatus haben. Aber er nimmt mir TotalStartTime.

BTW: Es geht mir nicht um die Dafang, die habe ich gar nicht. Es geht mir um deinen Code um einen MQTT Gesamtstatus in einzelne Readings zu packen.
Das klaptt soweit auch nur halt mit dem TOTAL Status nicht.

vinc2

Hallo, ich kann zwar nicht zum Thread direkt beitragen, jedoch habe ich ein Problem mit meiner Dafang und Telegram.
Die Dafang ist gehackt und ein Telegrambot erstellt. Leider muss man wohl etwas mehr Wissen haben, um das ganze zu aktivieren.
Kann einer eine kleine Anleitung schreiben bzw. mir die Konfigurationsdateien zum Vergleich bereitstellen?

Noch eine Frage, ist es möglich die IR Led zum Stromsparen abzuschalten oder müssen die IR Leds dauerhaft zur Bewegungserkennung aktiv sein?

steffen83

Hast du die neuste Version drauf?
Weil die kenne ich noch nicht ganz.
Aber schau Mal unter Service ob der Telegram Service startet. Wenn ja schau auch Mal rechts oben im Menü ob du dort Telegram aktivieren kannst.
In der config Datei musst du nur den API Code von deinem Bot eintragen und die Adresse (Zahl) von deinem Account damit du die Nachrichten bekommst.
Ja du kannst alle LEDs abschalten.... Ob sie so viel Strom sparen weiß ich nicht. Betreibst du die über Batterie? Ich habe in meine schon ein D1 Mini eingebaut mit dht22 da die Kamera auf der Terrasse steht (überdacht) um zu schauen ob es Probleme wegen der Feuchtigkeit oder Temperatur gibt. Aber da ist es immer zwischen 30-40% Luftfeuchtigkeit und ca 30 Grad in der Kamera das ist top.
Gruß Steffen

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

vinc2


Ich habe die neuste Version ja.

._telegram-bot  geht man auf Start passiert nix

telegram-bot   läuft hat eine PID


Im Menü rechts kann kein Telegramm aktiviert werden

Andere Meldungen:


mqtt-status: you have to configure mqtt first

mqtt-control: you have to configure mqtt first


Probleme aus den logfiles:



cat: can't open '/run/timelapse.pid': No such file or directory



2019-01-10 03:34:31.333 ( 218.088s) [ivsMoveDetection]         ImpEncoder.cpp:405      0| Will execute command /system/sdcard/scripts/detectionOn.sh
/system/sdcard/scripts/detectionOn.sh: .: line 30: can't open '/system/sdcard/config/mqtt.conf': No such file or directory



77 (   0.033s) [main thread     ]         ImpEncoder.cpp:690      0| Can't load 'v4l2rstpserver.ini'




E/NCU     (  250): open /etc/sensor/jxf22_nd.bin failed: No such file or directory


Ich plane die Dafang mit Netzteil zu betreiben. Ein andere User meinte, Dauerbetrieb wäre für diese Kameras nicht zu empfehlen.

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


steffen83

Ich wurde gefragt, ob ich den Code auch für MQTT2 habe.
In der Tat, ich habe dies mal umgeändert.

defmod MQTT_DF_Garage MQTT2_DEVICE df-garage
attr MQTT_DF_Garage IODev MQTT2_SERVER
attr MQTT_DF_Garage alexaName Bewegungsmelder_df-garage
attr MQTT_DF_Garage alexaProactiveEvents 1
attr MQTT_DF_Garage autocreate 1
attr MQTT_DF_Garage cmdIcon calibrate:recycling up:control_arrow_up left:control_arrow_left right:control_arrow_right down:control_arrow_down sdcard:sdcard ON
attr MQTT_DF_Garage devStateIcon absent:it_camera@red M;;ON:motion_detector@red M;;OFF:motion_detector@green MT;;OFF:people_sensor@red:motion_tracking+ON MT;;ON:people_sensor@green:motion_tracking+OFF ST;;OFF:telegram@red:motion_send_telegram+ON ST;;ON:telegram@green:motion_send_telegram+OFF
attr MQTT_DF_Garage devicetopic myhome/df-garage
attr MQTT_DF_Garage event-on-change-reading .*
attr MQTT_DF_Garage eventMap /up up:up/\
down down:down/\
left left:left/\
right right:right/\
calibrate calibrate:calibrate/\
remount_sdcard on:sdcard
attr MQTT_DF_Garage genericDeviceType securitysystem
attr MQTT_DF_Garage homebridgeMapping MotionDetected=motion,values=ON:1;;;;OFF:0
attr MQTT_DF_Garage readingList $DEVICETOPIC/night_mode/auto:.* auto_night_mode\
$DEVICETOPIC/leds/blue:.* blue\
$DEVICETOPIC/leds/ir:.* ir\
$DEVICETOPIC/ir_cut:.* ir_cut\
$DEVICETOPIC/motion:.* motion\
$DEVICETOPIC/motion/detection:.* motion_detection\
$DEVICETOPIC/motion/led:.* motion_led\
$DEVICETOPIC/motion/send_mail:.* motion_send_mail\
$DEVICETOPIC/motion/send_telegram:.* motion_send_telegram\
$DEVICETOPIC/motion/snapshot:.* motion_snapshot\
$DEVICETOPIC/motion/tracking:.* motion_tracking\
$DEVICETOPIC/motion/mqtt_publish:.* mqtt_publish\
$DEVICETOPIC/motion/mqtt_snapshot:.* mqtt_snapshot\
$DEVICETOPIC/night_mode:.* night_mode\
$DEVICETOPIC/recording:.* recording\
$DEVICETOPIC/rtsp_server:.* rtsp_server\
$DEVICETOPIC/timelapse:.* timelapse\
$DEVICETOPIC/motion/videoXXX:.* video\
$DEVICETOPIC/leds/yellow:.* yellow\
\
$DEVICETOPIC/motors/horizontal:.* horizontal\
$DEVICETOPIC/motors/vertical:.* vertical\
\
\
$DEVICETOPIC/brightness:.* brightness\
$DEVICETOPIC/light_sensor:.* light_sensor\
$DEVICETOPIC/motor_up_down:.* motor_up_down\
$DEVICETOPIC/motor_left_right:.* motor_left_right\
$DEVICETOPIC/uptime:.* uptime\

attr MQTT_DF_Garage room 2.0 Kamera-> 2.0 Luke,Keller,MQTT2_DEVICE
attr MQTT_DF_Garage setList blue:ON,OFF $DEVICETOPIC/leds/blue/set $EVTPART1\
yellow:ON,OFF $DEVICETOPIC/leds/yellow/set $EVTPART1\
night_mode:ON,OFF $DEVICETOPIC/night_mode/set $EVTPART1\
night_mode_auto:ON,OFF $DEVICETOPIC/night_mode/auto/set $EVTPART1\
ir:ON,OFF $DEVICETOPIC/leds/ir/set $EVTPART1\
ir_cut:ON,OFF $DEVICETOPIC/ir_cut/set $EVTPART1\
motion_detection:ON,OFF $DEVICETOPIC/motion/detection/set $EVTPART1\
motion_led:ON,OFF $DEVICETOPIC/motion/led/set $EVTPART1\
motion_send_mail:ON,OFF $DEVICETOPIC/motion/send_mail/set $EVTPART1\
motion_send_telegram:ON,OFF $DEVICETOPIC/motion/send_telegram/set $EVTPART1\
motion_snapshot:ON,OFF $DEVICETOPIC/motion/snapshot/set $EVTPART1\
mqtt_snapshot:ON,OFF $DEVICETOPIC/motion/mqtt_snapshot/set $EVTPART1\
video:ON,OFF $DEVICETOPIC/motion/video/set $EVTPART1\
rtsp_server:ON,OFF $DEVICETOPIC/rtsp_server/set $EVTPART1\
mqtt_publish:ON,OFF $DEVICETOPIC/motion/mqtt_publish/set $EVTPART1\
motion_tracking:ON,OFF $DEVICETOPIC/motion/tracking/set $EVTPART1\
calibrate:calibrate $DEVICETOPIC/motors/set $EVTPART1\
reboot:ON $DEVICETOPIC/reboot/set $EVTPART1\
remount_sdcard:ON $DEVICETOPIC/remount_sdcard/set $EVTPART1\
recording:ON,OFF $DEVICETOPIC/recording/set $EVTPART1\
timelapse:ON,OFF $DEVICETOPIC/timelapse/set $EVTPART1\
snapshot:ON,OFF $DEVICETOPIC/snapshot/set $EVTPART1\
update:update $DEVICETOPIC/update/set $EVTPART1\
up:up $DEVICETOPIC/motors/vertical/set $EVTPART1\
down:down $DEVICETOPIC/motors/vertical/set $EVTPART1\
left:left $DEVICETOPIC/motors/horizontal/set $EVTPART1\
right:right $DEVICETOPIC/motors/horizontal/set $EVTPART1
attr MQTT_DF_Garage setStateList on off toggle
attr MQTT_DF_Garage stateFormat {my $status = ReadingsAge($name, "auto_night_mode", "");;\
  if ($status > 180) {return "absent"}\
  elsif ($status < 180) {\
  my $motion = ReadingsVal($name,"motion","");;\
my $motion_tracking = ReadingsVal($name,"motion_tracking","");;\
my $motion_send_telegram = ReadingsVal($name,"motion_send_telegram","");;\
my $horizontal = ReadingsVal($name,"horizontal","");;\
my $vertical = ReadingsVal($name,"vertical","");;\
$status = "M;;$motion\nMT;;$motion_tracking\nST;;$motion_send_telegram\n<br>Position $horizontal;;$vertical";;\
return $status;;\
}\
  }
attr MQTT_DF_Garage verbose 0
attr MQTT_DF_Garage webCmd sdcard:calibrate:left:up:down:right

setstate MQTT_DF_Garage M;;OFF\
MT;;ON\
ST;;ON\
<br>Position 1400;;450
setstate MQTT_DF_Garage 2022-01-18 15:56:29 IODev MQTT2_SERVER
setstate MQTT_DF_Garage 2022-01-19 18:52:40 auto_night_mode ON
setstate MQTT_DF_Garage 2022-01-19 18:52:22 blue OFF
setstate MQTT_DF_Garage 2021-03-24 14:55:42 calibrate set calibrate
setstate MQTT_DF_Garage 2021-03-24 14:53:09 down set down
setstate MQTT_DF_Garage 2022-01-19 18:52:45 horizontal 1400
setstate MQTT_DF_Garage 2022-01-19 18:52:37 ir ON
setstate MQTT_DF_Garage 2022-01-19 18:52:39 ir_cut OFF
setstate MQTT_DF_Garage 2021-08-10 12:07:00 left set left
setstate MQTT_DF_Garage 2022-01-18 16:48:09 motion OFF
setstate MQTT_DF_Garage 2022-01-19 18:52:40 motion_detection ON
setstate MQTT_DF_Garage 2022-01-19 18:52:40 motion_led ON
setstate MQTT_DF_Garage 2022-01-19 18:52:42 motion_send_mail OFF
setstate MQTT_DF_Garage 2022-01-19 18:52:42 motion_send_telegram ON
setstate MQTT_DF_Garage 2022-01-19 18:52:41 motion_snapshot OFF
setstate MQTT_DF_Garage 2022-01-19 18:52:43 motion_tracking ON
setstate MQTT_DF_Garage 2022-01-19 18:52:41 mqtt_publish ON
setstate MQTT_DF_Garage 2022-01-19 18:52:41 mqtt_snapshot ON
setstate MQTT_DF_Garage 2022-01-19 18:52:40 night_mode ON
setstate MQTT_DF_Garage 2021-03-25 09:58:47 reboot set ON
setstate MQTT_DF_Garage 2022-01-19 18:52:43 recording OFF
setstate MQTT_DF_Garage 2021-03-24 14:57:21 remount_sdcard set on
setstate MQTT_DF_Garage 2021-03-24 15:03:59 right set right
setstate MQTT_DF_Garage 2022-01-19 18:52:39 rtsp_server ON
setstate MQTT_DF_Garage 2022-01-19 18:52:44 timelapse OFF
setstate MQTT_DF_Garage 2021-03-28 12:17:47 tracking set OFF
setstate MQTT_DF_Garage 2021-03-24 14:50:41 up set
setstate MQTT_DF_Garage 2022-01-19 18:52:45 vertical 450
setstate MQTT_DF_Garage 2022-01-19 18:52:34 yellow OFF

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

masterpete23

Danke. Hast du an der Dafang etwas "speziell" konfiguriert? Thema Motion Detection ->mqtt?
Funktioniert dies? wie schaut es mit telegram direkt von der CAM aus - ist dies zuverlässig?
Welche sw Version hast du auf der Dafang laufen?

steffen83

Hallo,

nein ich habe selbst nichts spezielles in der Software/Kamera eingestellt. Ich nutzte die neueste Software.

Telegram läuft leider nicht so perfekt wie früher mal. Bei mir schickt er keine BIlder. Höchstens VIdeos oder nur Nachrichten.
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

masterpete23


steffen83

korrekt. Wenn bei dir das mit dem Telegram funktioniert, würde ich mich über eine RM freuen.
Mich interessiert da besonders Bild bei Alarm (per Telegram)
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

masterpete23

Danke. Wie ist telegram einzurichten? Das würde ich gerne einmal testen - will aber nix falsch machen.
Dann könnte ich es nochmal feedbacken

steffen83

Das sind ja Einstellungen von der Kamera die musst du dort machen. Im conf Ordner der Teil mit Telegramm.
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