ELV "Door Bird" und FHEM

Begonnen von Thorsten Pferdekaemper, 04 Oktober 2015, 09:41:51

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

An diesem Format ist nichts, aber auch gar nichts außergewöhnlich - Millionen von IP-Telefonen verwenden das.

Unkomprimiertes .wav, 8000 Hz Sampling-Rate Mono mit 8 Bit Auflösung sollte funktionieren. "µ-Law" ist nur die Dynamikkompression.

LG

pah

Banis

Zitat von: steffen83 am 30 März 2018, 19:40:49

Zusätzlich speichert er mir zu jedem Motion ein Bild und zu jedem Klingeln ein Bild sowie ein Video welches 120 Sekunden läuft.
Dies wird wie folgt über eine Datei aufgerufen:

klingelbild.sh
#!/bin/bash
wget "http://USER:PW_des_Doorbird@192.168.2.7/bha-api/image.cgi" -O "/mnt/magenta/Klingel-$(date +"%y-%m-%d-%H-%M").jpg";
curl -lk -u XXX_USER_XXX:XXX_PW_FHEM_XXX https://127.0.0.1:8083/fhem?cmd=set%20TelegramBot%20sendPhoto%20/mnt/magenta/Klingel-$(date +"%y-%m-%d-%H-%M").jpg%20Es%20hat%20geklingelt$


klingel.sh
#!/bin/bash
sudo ffmpeg -i "rtsp://USER:PW_des_Doorbird@192.168.2.7:554/mpeg/media.amp" -metadata title="Kamera" -vcodec copy -an -t 120 -y "/mnt/magenta/Klingel-$(date +"%y-%m-%d-%H-%M").mp4"




Ich hab nun leider festgestellt, dass ich das Script klingel.sh (natürlich auf meine Gegebenheiten angepasst) zwar aus der Console ausführen kann, jedoch aus fhem raus. Das Klingelbild.sh Script kann ich problemlos aus fhem heraus ausführen.

Ich denke ich muss dem fhem user auf meinem Raspberry weitere Rechte geben und ich vermute mal, dass ich das über einen Eintrag in sudoers lösen kann. Die Frage ist nur wie der Eintrag genau aussehen sollte. Kann mir hier jemand weiterhelfen?
Intel Nuc i8 mit Proxmox. FHEM läuft als LXC

Prof. Dr. Peter Henning


tox14

Hallo zusammen,

folgender Befehl funktioniert einwandfrei und macht was er soll:

http://xxx.xxx.x.xxx:8083/fhem?cmd=set%20HUEDeviceX%20on-for-timer%2030&fwcsrf=csrf_123456789111111&user=Nutzer&password=Passwort&event=motionsensor&subscribe=1

Es war wichtig, den Zusatz &fwcsrf=csrf_123456789111111 einzufügen sonst funktioniert der Befehl nicht. Den Token könnte man jetzt auch fest in der fhem.cfg setzen.

Problem:

http://doorbird_nutzer:doorbird_passwort@xxx.xxx.x.xxx/bha-api/notification.cgi?url=http%3A%2F%2FXXX.XXX.X.YYY%3A8083%2Ffhem%3Fcmd%3Dset%2520HUEDeviceX%2520on-for-timer%252030&user=Nutzer&password=Passwort&fwcsrf%3Dcsrf_123456789111111&event=motionsensor&subscribe=1

Leider wird der Token nicht mitübergeben und die Lampe schaltet sich nicht ein:

{"BHA": { "RETURNCODE": "1", "NOTIFICATIONS": [{"event": "motionsensor","subscribe": "1","url": "http://xxx.xxx.X.YYY:8083/fhem?cmd=set%20HUEDeviceX%20on-for-timer%2030","user": "Nutzer","password": "Passwort","relaxation": "10"}]}}

Wie habt ihr das Problem gelöst? Ist es möglich den Token mitzuübernehmen?

Beste Grüße

steffen83

Ich habe ihm einen eigenen Zugang gemacht wo nur er in gesonderte ips drauf kommen

defmod WEBdoorbird FHEMWEB 8086 global
attr WEBdoorbird allowfrom 127.0.0.1|192.168.0.10|192.168.0.12|192.168.0.6
attr WEBdoorbird csrfToken none
attr WEBdoorbird editConfig 0



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

Sailor

#95
Ein herzerfrischendes Moin vom "hintern Deich"

Ich habe ebenfalls Interesse mir demnächst einen DoorBird zuzulegen.
Da das Budget aber noch nicht genehmigt wurde, habe ich aus lauter Lust mal wieder ein Modul zu programmieren, vor 4 Stunden schon mal angefangen ein Modul zu schreiben ohne ein Gerät zu haben.  ;D
Zumindest ist die API sehr gut beschrieben.

Mein Modul kann, (wenn überhaupt) zur Zeit nur die Info auslesen.
Später soll der Rest inklusive UDP Auslesung erfolgen.

Wenn Jemand Lust hat den augenblicklichen Stand mal zu testen, dann wäre ich für ein Feedback sehr dankbar.

define myDoorBird DoorBird 192.168.178.240 Username Password

dann noch die Attribute setzen


debug 1
room Test
verbose 5


und dann den get - Befehl ausführen.

Ich bin an den Logs und Bildschirmausgaben Interessiert.

ACHTUNG! Zur Zeit protokoliert es auch Username und Passwörter. Bitte durch "XXCorrectXX" oder "XXCorrectXX" ersetzen. Ich weiss dann schon Bescheid!  ;)

Gruss
    Sailor
******************************
Man wird immer besser...

Frank_Huber

Jetzt wo das Wetter Modul fertig ist und mein Test System nichts mehr zu tun hat mach ich da gerne mit.
DoorBird D2101V ist vorhanden.

Gesendet von meinem Doogee S60 mit Tapatalk


Sailor

Hallo Frank

Zitat von: Frank_Huber am 13 Januar 2019, 09:59:51
Jetzt wo das Wetter Modul fertig ist und mein Test System nichts mehr zu tun hat mach ich da gerne mit.
DoorBird D2101V ist vorhanden.

Ja dann mal los!  ;D

Gruss
    Sailor
******************************
Man wird immer besser...

steffen83

Hallo, bin auch beim Testen dabei. D101. Und sobald ich die PM reinlade und define mache ist mein FHEM weg :-(

Gruß
Steffen

--- weitere Infos folgen, heute keine Zeit
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

Frank_Huber

Zitat von: Sailor am 13 Januar 2019, 10:28:13
Ja dann mal los!  ;D
FHEM und Raspbian Stretch Tagesaktuell.
Nach dem Define des DoorBird startet FHEM neu.
2019.01.13 12:08:38 3: DoorBird : DoorBird - Credentials have been encrypted for further use.
Undefined subroutine &main::UrlGenerator called at ./FHEM/73_DoorBird.pm line 162.
2019.01.13 12:08:39 1: Including fhem.cfg


Sailor

#100
Hallo Frank

Zitat von: Frank_Huber am 13 Januar 2019, 12:10:29
Nach dem Define des DoorBird startet FHEM neu.
2019.01.13 12:08:38 3: DoorBird : DoorBird - Credentials have been encrypted for further use.
Undefined subroutine &main::UrlGenerator called at ./FHEM/73_DoorBird.pm line 162.


Ups Sorry, das war noch eine Altlast aus der ersten Testphase.
Anbei die korrigierte Version

Aber sobald du verbose auf 5 gesetzt hast, dürften einige Log-Einträge entstanden sein.

ACHTUNG! Zur Zeit protokoliert es auch Username und Passwörter. Bitte durch "XXCorrectXX" oder "XXCorrectXX" ersetzen. Ich weiss dann schon Bescheid!  ;)

Gruss
    Sailor
******************************
Man wird immer besser...

Frank_Huber

get DoorBird InfoRequest liefert:
ZitatDoorBird : DoorBird_Get - This option is not implemented yet. Choose RAW or JSON

list:
Internals:
   CFGFN     
   DEF        192.168.12.206 crypt:xxxx crypt:yyyy
   NAME       DoorBird
   NR         718
   RevisonAPI 0.24
   STATE      define
   TYPE       DoorBird
   helper:
     PollingTimeout 5
     URL        999.999.999.999
Attributes:
   verbose    5


log:
2019.01.13 18:29:29 3: DoorBird : DoorBird - Credentials have been encrypted for further use.
2019.01.13 18:29:29 1: PERL WARNING: Use of uninitialized value $option in concatenation (.) or string at ./FHEM/73_DoorBird.pm line 272.
2019.01.13 18:29:29 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/73_DoorBird.pm line 278.
2019.01.13 18:29:38 5: DoorBird : DoorBird_Get - name                               : DoorBird
2019.01.13 18:29:38 5: DoorBird : DoorBird_Get - command                            : ?
2019.01.13 18:29:38 5: DoorBird : DoorBird_Get - option                             :
2019.01.13 18:29:44 5: DoorBird : DoorBird_Get - name                               : DoorBird
2019.01.13 18:29:44 5: DoorBird : DoorBird_Get - command                            : Info_Request
2019.01.13 18:29:44 5: DoorBird : DoorBird_Get - option                             :
2019.01.13 18:29:44 5: DoorBird : DoorBird_Get - usage                              : Unknown argument $service, choose one of Info_Request:noArg
2019.01.13 18:29:44 5: DoorBird : DoorBird_BlockingGet - CommandURL                 : http://999.999.999.999/bha-api/info.cgi?httpuser=xxx&http-password=yyy
2019.01.13 18:29:44 5: DoorBird : DoorBird_Get - Info_Request - err                 : 999.999.999.999: malformed or unsupported URL
2019.01.13 18:29:44 1: PERL WARNING: Use of uninitialized value $data in concatenation (.) or string at ./FHEM/73_DoorBird.pm line 307.
2019.01.13 18:29:44 5: DoorBird : DoorBird_Get - Info_Request - data                :
2019.01.13 18:29:44 1: PERL WARNING: Use of uninitialized value $option in pattern match (m//) at ./FHEM/73_DoorBird.pm line 310.
2019.01.13 18:29:44 1: PERL WARNING: Use of uninitialized value $option in pattern match (m//) at ./FHEM/73_DoorBird.pm line 314.

netbus

list:
Internals:
   CFGFN     
   DEF        192.168.1.28 crypt:xxxxxxxx crypt:xxxxxxx
   NAME       myDoorBird
   NR         41748
   RevisonAPI 0.24
   STATE      define
   TYPE       DoorBird
   helper:
     PollingTimeout 5
     URL        192.168.1.28
Attributes:
   debug      1
   room       Unsorted
   verbose    5


Debug:
2019.01.14 08:48:25.243 5: myDoorBird : DoorBird_Get - name                               : myDoorBird
2019.01.14 08:48:25.244 5: myDoorBird : DoorBird_Get - command                            : Info_Request
2019.01.14 08:48:25.244 5: myDoorBird : DoorBird_Get - option                             : JSON
2019.01.14 08:48:25.244 5: myDoorBird : DoorBird_Get - usage                              : Unknown argument $service, choose one of Info_Request:,RAW,JSON
2019.01.14 08:48:25.247 5: myDoorBird : DoorBird_BlockingGet - CommandURL                 : http://192.168.1.28/bha-api/info.cgi?httpuser=xxxxxx&http-password=xxxxxx
2019.01.14 08:48:25.248 5: myDoorBird : DoorBird_Get - Info_Request - err                 : 192.168.1.28: malformed or unsupported URL
2019.01.14 08:48:25.248 5: myDoorBird : DoorBird_Get - Info_Request - data                :
2019.01.14 08:48:25.249 5: myDoorBird : DoorBird_Get - Data cannot be parsed by JSON for  : Info_Request

Sailor

#103
Zitat von: netbus am 14 Januar 2019, 08:49:55

2019.01.14 08:48:25.248 5: myDoorBird : DoorBird_Get - Info_Request - err                 : 192.168.1.28: malformed or unsupported URL


So ein Käse, habe die falsche Variable verwendet um die URL zu erstellen.
Bei mir kommt mit der neuen Version nicht mehr diese Meldung...

Dafür bekomme ich ein

2019.01.14 08:52:17.385 5: myDoorBird : DoorBird_Get - Info_Request - err                 : http://192.168.178.240/bha-api/info.cgi?httpuser=Username&http-password=SecretP: Can't connect(1) to http://192.168.178.240:80: IO::Socket::INET: connect: No route to host

und diese Fehlermeldung ist korrekt, da ich kein Gerät habe.

Ich bin daher gespannt auf Eure Rückmeldung!

Gruß
   Sailor
******************************
Man wird immer besser...

steffen83

Also ich bekommen folgendens:
Internals:
   DEF        192.168.0.6 crypt:xxxx crypt:xxxx
   NAME       myDoorBird
   NR         911
   RevisonAPI 0.24
   STATE      define
   TYPE       DoorBird
   helper:
     PollingTimeout 5
     URL        192.168.0.6
Attributes:
   debug      1
   room       2.0 Kamera-> 1.0 Doorbird


Als RAW:
2019.01.14 09:44:10 5 : myDoorBird : DoorBird_Get - name : myDoorBird
2019.01.14 09:44:10 5 : myDoorBird : DoorBird_Get - command : Info_Request
2019.01.14 09:44:10 5 : myDoorBird : DoorBird_Get - option : RAW
2019.01.14 09:44:10 5 : myDoorBird : DoorBird_Get - usage : Unknown argument $service, choose one of Info_Request:,RAW,JSON
2019.01.14 09:44:10 5 : myDoorBird : DoorBird_BlockingGet - CommandURL : http://192.168.0.6/bha-api/info.cgi?httpuser=xxxx&http-password=xxxx
2019.01.14 09:44:10 5 : myDoorBird : DoorBird_Get - Info_Request - err :
2019.01.14 09:44:10 5 : myDoorBird : DoorBird_Get - Info_Request - data : <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>401 - Unauthorized</title> </head> <body> <h1>401 - Unauthorized</h1> </body> </html>


JSON:
2019.01.14 09:44:52 5 : myDoorBird : DoorBird_Get - name : myDoorBird
2019.01.14 09:44:52 5 : myDoorBird : DoorBird_Get - command : Info_Request
2019.01.14 09:44:52 5 : myDoorBird : DoorBird_Get - option : JSON
2019.01.14 09:44:52 5 : myDoorBird : DoorBird_Get - usage : Unknown argument $service, choose one of Info_Request:,RAW,JSON
2019.01.14 09:44:52 5 : myDoorBird : DoorBird_BlockingGet - CommandURL : http://192.168.0.6/bha-api/info.cgi?httpuser=xxx&http-password=xxx
2019.01.14 09:44:52 5 : myDoorBird : DoorBird_Get - Info_Request - err :
2019.01.14 09:44:52 5 : myDoorBird : DoorBird_Get - Info_Request - data : <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>401 - Unauthorized</title> </head> <body> <h1>401 - Unauthorized</h1> </body> </html>
2019.01.14 09:44:52 5 : myDoorBird : DoorBird_Get - Data cannot be parsed by JSON for : Info_Request
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