[Frage] VTO2000A an Loxone anbinden

riogrande75

Aktives Mitglied
Mitglied seit
30 Okt 2017
Beiträge
1,048
Punkte für Reaktionen
175
Punkte
63
Schon mal das hier angesehen?
 

Boyz

Mitglied
Mitglied seit
3 Aug 2006
Beiträge
234
Punkte für Reaktionen
1
Punkte
18
Ja habe ich, leider stürzt das Script ab beim Klingeln.
 

riogrande75

Aktives Mitglied
Mitglied seit
30 Okt 2017
Beiträge
1,048
Punkte für Reaktionen
175
Punkte
63
Stürzt ab? Na dann zeig mal die Fehlermeldungen bzw. was da ausgespuckt wird.
 

Boyz

Mitglied
Mitglied seit
3 Aug 2006
Beiträge
234
Punkte für Reaktionen
1
Punkte
18
Code:
XPS-15-7590:~/Documents/Dahua/php$ php -f DahuaEventHandler.php
<** Dahua VTO Eventempfaenger START **>
2020-11-10 18:12:19.000000: Start login
2020-11-10 18:12:19.000000: Login success
2020-11-10 18:12:19.000000: Started keepAlive thread
2020-11-10 18:12:19.000000: keepAlive back
2020-11-10 18:12:20.000000: Event Manager subscription reply
PHP Fatal error:  Cannot redeclare SaveSnapshot() (previously declared in /home/XXXXXXXXX/Documents/Dahua/php/DahuaEventHandler.php:371) in /home/XXXXXXXXX/Documents/Dahua/php/DahuaEventHandler.php on line 371

XPS-15-7590:~/Documents/Dahua/php$ php -f DahuaEventHandler.php
<** Dahua VTO Eventempfaenger START **>
2020-11-10 18:13:02.000000: Start login
2020-11-10 18:13:02.000000: Login success
2020-11-10 18:13:02.000000: Started keepAlive thread
2020-11-10 18:13:02.000000: keepAlive back
2020-11-10 18:13:03.000000: Event Manager subscription reply
2020-11-10 18:13:09.000000: Event VideoMotion
PHP Fatal error:  Uncaught Error: Call to undefined method Dahua_Functions::SaveSnapshot() in /home/XXXXXXXXX/Documents/Dahua/php/DahuaEventHandler.php:280
Stack trace:
#0 /home/XXXXXXXXX/Documents/Dahua/php/DahuaEventHandler.php(66): Dahua_Functions->EventHandler()
#1 /home/XXXXXXXXX/Documents/Dahua/php/DahuaEventHandler.php(259): Dahua_Functions->KeepAlive()
#2 /home/XXXXXXXXX/Documents/Dahua/php/DahuaEventHandler.php(5): Dahua_Functions->Main()
#3 {main}
  thrown in /home/XXXXXXXXX/Documents/Dahua/php/DahuaEventHandler.php on line 280
 

Boyz

Mitglied
Mitglied seit
3 Aug 2006
Beiträge
234
Punkte für Reaktionen
1
Punkte
18
Kann mir hier jemand weiterhelfen?
 

riogrande75

Aktives Mitglied
Mitglied seit
30 Okt 2017
Beiträge
1,048
Punkte für Reaktionen
175
Punkte
63
Poste mal "uname -a" und "php -v" von deiner Maschine.
Das Script hast du eh nicht verändert (außer IP,user+pw)?

Die Fehlermeldungen deuten für mich übrigens auf einen Copy-Paste Fehler hin.
 

Boyz

Mitglied
Mitglied seit
3 Aug 2006
Beiträge
234
Punkte für Reaktionen
1
Punkte
18
Ich hab das Script mit wget gezogen, daher kann kein Copy-Paste Fehler sein.
Am Ende habe ich noch eine Klammer hinzugefügt, da sonst das Script garnicht gelaufen ist.
Welche PHP Version wird denn unterstützt?

Ich hab die aktuelle Version noch mal geladen, jetzt kommt Syntax Error

PHP:
PHP Parse error:  syntax error, unexpected end of file in /home/XXX/Documents/Dahua/php/DahuaEventHandler.php on line 388
Bash:
uname -a
Linux XPS-15-7590 5.8.0-28-generic #30-Ubuntu SMP Thu Nov 5 13:24:33 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
php -v
PHP 7.4.9 (cli) (built: Oct 26 2020 15:17:14) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.9, Copyright (c), by Zend Technologies
Edit: In der aktuelle Version musste ich zwei Klammern rein machen am ende :)

PHP:
    fclose($fp);
    copy($filename, $path."/Doorbell.jpg");
    }
}
}
?>
Die Fehlermeldung ist nach wie vor gleich:
Bash:
<** Dahua VTO Eventempfaenger START **>
2020-11-15 16:11:26.000000: Start login
2020-11-15 16:11:26.000000: Login success
2020-11-15 16:11:26.000000: Started keepAlive thread
2020-11-15 16:11:26.000000: keepAlive back
2020-11-15 16:11:26.000000: Event Manager subscription reply
2020-11-15 16:11:43.000000: Event Call from VTO
PHP Fatal error:  Cannot redeclare SaveSnapshot() (previously declared in /home/XXX/Documents/Dahua/php/DahuaEventHandler.php:371) in /home/XXX/Documents/Dahua/php/DahuaEventHandler.php on line 371
 
Zuletzt bearbeitet:

riogrande75

Aktives Mitglied
Mitglied seit
30 Okt 2017
Beiträge
1,048
Punkte für Reaktionen
175
Punkte
63
Kann nur irgendein Syntax (Klammer) Fehler sein, nix gravierendes. Auf meinem "alten" Debian 10 läufts witzigerweise so.... o_O
Gib mir bitte ein wenig Zeit, ich arbeite in einem Krankenhaus und da geht's aktuell ordentlich ab...
 
  • Like
Reaktionen: kuzco-ip

Boyz

Mitglied
Mitglied seit
3 Aug 2006
Beiträge
234
Punkte für Reaktionen
1
Punkte
18
Kein Stress :) Viel Erfolg
 

kuzco-ip

Mitglied
Mitglied seit
4 Feb 2019
Beiträge
540
Punkte für Reaktionen
33
Punkte
28
Auf meinem deb9 und 10 habe ich auch kein Problem.
 

Boyz

Mitglied
Mitglied seit
3 Aug 2006
Beiträge
234
Punkte für Reaktionen
1
Punkte
18
Welche PHP Version hast du?

Auf Linux Mint 18 und PHP Version 7.0.33, selbe verhalten.
Bash:
php -f DahuaEventHandler.php
<** Dahua VTO Eventempfaenger START **>
2020-11-15 21:57:48.000000: Start login
2020-11-15 21:57:48.000000: Login success
2020-11-15 21:57:48.000000: Started keepAlive thread
2020-11-15 21:57:48.000000: keepAlive back
2020-11-15 21:57:48.000000: Event Manager subscription reply
2020-11-15 21:58:08.000000: Event VideoMotion
PHP Fatal error:  Uncaught Error: Call to undefined method Dahua_Functions::SaveSnapshot() in /home/XXX/DahuaEventHandler.php:280
Stack trace:
#0 /home/XXX/DahuaEventHandler.php(66): Dahua_Functions->EventHandler(Array)
#1 /home/XXX/DahuaEventHandler.php(259): Dahua_Functions->KeepAlive(60)
#2 /home/XXX/DahuaEventHandler.php(5): Dahua_Functions->Main()
#3 {main}
  thrown in /home/XXX/DahuaEventHandler.php on line 280
 
Zuletzt bearbeitet:

kuzco-ip

Mitglied
Mitglied seit
4 Feb 2019
Beiträge
540
Punkte für Reaktionen
33
Punkte
28
Ich nutze PHP 7.0.33-0+deb9u10 (cli) (built: Oct 6 2020 17:08:28) ( NTS .

Habe mal eben das php-Script mit dem was ich nutze verglichen. Ich habe natürlich ein paar Änderungen wegen des Event-Handlings durchgeführt, die sind aber nicht relevant. Es gibt jedoch einen neuen Eintrag "//Missing DoorCard event #2"
Code:
    //Missing DoorCard event #2
    elseif($eventCode == 'DoorCard'){
        if($eventList['Action'] == 'Pulse'){
        $cardno=($eventData['Number']);
        logging("DoorCard ".$cardno." was used at door");
    }
dort fehlt meines Erachtens am Ende die zweite Klammer. Also es müsste heissen:
Code:
    //Missing DoorCard event #2
    elseif($eventCode == 'DoorCard'){
        if($eventList['Action'] == 'Pulse'){
        $cardno=($eventData['Number']);
        logging("DoorCard ".$cardno." was used at door");
        }
    }
 
  • Like
Reaktionen: riogrande75

riogrande75

Aktives Mitglied
Mitglied seit
30 Okt 2017
Beiträge
1,048
Punkte für Reaktionen
175
Punkte
63
Ja, scheint so als ob sich da bei mir ein Fehler eingeschlichen hatte - ist nun gefixt.
Bitte um neuerlichen Download und Rückmeldung.
 
  • Like
Reaktionen: kuzco-ip

Boyz

Mitglied
Mitglied seit
3 Aug 2006
Beiträge
234
Punkte für Reaktionen
1
Punkte
18
Script läuft schon mal ohne Modifikation, leider kommt der Fehler noch.
Bash:
<** Dahua VTO Eventempfaenger START **>
2020-11-16 19:17:20.000000: Start login
2020-11-16 19:17:20.000000: Login success
2020-11-16 19:17:20.000000: Started keepAlive thread
2020-11-16 19:17:20.000000: keepAlive back
2020-11-16 19:17:20.000000: Event Manager subscription reply
2020-11-16 19:17:54.000000: Event VideoMotion
PHP Fatal error:  Uncaught Error: Call to undefined function curl_init() in /home/XXX/Documents/Dahua/php/DahuaEventHandler.php:377
Stack trace:
#0 /home/XXX/Documents/Dahua/php/DahuaEventHandler.php(280): Dahua_Functions->SaveSnapshot()
#1 /home/XXX/Documents/Dahua/php/DahuaEventHandler.php(66): Dahua_Functions->EventHandler()
#2 /home/XXX/Documents/Dahua/php/DahuaEventHandler.php(259): Dahua_Functions->KeepAlive()
#3 /home/XXX/Documents/Dahua/php/DahuaEventHandler.php(5): Dahua_Functions->Main()
#4 {main}
  thrown in /home/XXX/Documents/Dahua/php/DahuaEventHandler.php on line 377
 

riogrande75

Aktives Mitglied
Mitglied seit
30 Okt 2017
Beiträge
1,048
Punkte für Reaktionen
175
Punkte
63
Da geht was bei deiner PHP Installation ab. Ich nehme an php-curl.
Post mal die Ausgabe von phpinfo:
Code:
<?php
phpinfo();
phpinfo(INFO_MODULES);
?>
 
Zuletzt bearbeitet:

Boyz

Mitglied
Mitglied seit
3 Aug 2006
Beiträge
234
Punkte für Reaktionen
1
Punkte
18
Hast recht! an dem Modul habe ich auch nicht gedacht, jetzt funktioniert es :)
Vielleicht kannst du in dein Script ein Check einbauen
PHP:
echo "curl: ", extension_loaded('curl') ? 'OK' : 'php-curl installieren';
Was kann ich denn mit den Informationen jetzt anfangen ? Wie bekomme ich die api url ?
Bash:
<** Dahua VTO Eventempfaenger START **>
2020-11-17 10:29:16.000000: Start login
2020-11-17 10:29:17.000000: Login success
2020-11-17 10:29:17.000000: Started keepAlive thread
2020-11-17 10:29:17.000000: keepAlive back
2020-11-17 10:29:17.000000: Event Manager subscription reply
2020-11-17 10:29:40.000000: Unknown event received
array(4) {
  ["id"]=>
  int(2)
  ["method"]=>
  string(24) "client.notifyEventStream"
  ["params"]=>
  array(2) {
    ["SID"]=>
    int(513)
    ["eventList"]=>
    array(1) {
      [0]=>
      array(4) {
        ["Action"]=>
        string(5) "Start"
        ["Code"]=>
        string(10) "AlarmLocal"
        ["Data"]=>
        array(2) {
          ["LocaleTime"]=>
          string(19) "2020-11-17 10:26:49"
          ["UTC"]=>
          float(1605605209)
        }
        ["Index"]=>
        int(7)
      }
    }
  }
  ["session"]=>
  int(2147483406)
}
2020-11-17 10:29:41.000000: Event Call from VTO
2020-11-17 10:29:41.000000: Event: Invite,  Action Pulse, CallID 0 Lock Number 2
2020-11-17 10:29:41.000000: Event BackKeyLight with State 1
2020-11-17 10:29:41.000000: Event VideoMotion
2020-11-17 10:29:42.000000: Event BackKeyLight with State 2
2020-11-17 10:29:42.000000: Event Rtsp-Session from 10.10.10.41 connected
2020-11-17 10:29:44.000000: Event BackKeyLight with State 6
2020-11-17 10:29:45.000000: Event Rtsp-Session from 10.10.10.41 disconnected
2020-11-17 10:29:46.000000: Unknown event received
array(4) {
  ["id"]=>
  int(2)
  ["method"]=>
  string(24) "client.notifyEventStream"
  ["params"]=>
  array(2) {
    ["SID"]=>
    int(513)
    ["eventList"]=>
    array(1) {
      [0]=>
      array(4) {
        ["Action"]=>
        string(4) "Stop"
        ["Code"]=>
        string(10) "AlarmLocal"
        ["Data"]=>
        array(2) {
          ["LocaleTime"]=>
          string(19) "2020-11-17 10:26:55"
          ["UTC"]=>
          float(1605605215)
        }
        ["Index"]=>
        int(7)
      }
    }
  }
  ["session"]=>
  int(2147483406)
}
2020-11-17 10:29:48.000000: Event VideoMotion
2020-11-17 10:29:52.000000: Event BackKeyLight with State 0
 

Boyz

Mitglied
Mitglied seit
3 Aug 2006
Beiträge
234
Punkte für Reaktionen
1
Punkte
18
Wie siehts denn aus?
 

Boyz

Mitglied
Mitglied seit
3 Aug 2006
Beiträge
234
Punkte für Reaktionen
1
Punkte
18
Anscheinend hat es noch niemand geschafft die URL raus zu bekommen...
Werde mir was selber basteln müssen.
 

riogrande75

Aktives Mitglied
Mitglied seit
30 Okt 2017
Beiträge
1,048
Punkte für Reaktionen
175
Punkte
63
Keiner hier hat eine Ahnung, was du mit dieser ominösen API URL willst. Somit wird dir auch niemand helfen.

Wenn du die VTO an die Loxone anbinden willst, dann musst du schon mitteilen, WAS du GENAU willst.
Da gibts sehr viel Optionen.
"Spricht" denn Loxone SIP? Wenn nein, dann lässt sich zumindest der Video-Stream (rtsp...) und mit einigen kleinen Änderungen am Script wohl auch das Klingeln und Türöffnen implementieren.
Reicht dir das?