VTO Event-Script Anbindung an ioBroker

Du kannst mitsniffen, das würde mir auch schon reichen um zu sehen, ob da wirklich kein Indiz für den User von der VTO daherkommt.
Unter Linux:
Code:
tshark -f "host x.x.x.x" -w /tmp/vtotrace1.pcap
und dann Code eingeben. x.x.x.x ist die IP der VTO.
Das /tmp/vtotrace1.pcap würde auch die Info beinhalten.
 
Hab dir die Datei per PN gesendet
 
Tja, ist offenbar so. Im Event steht leider nichts mit drinnen, was auf den User hindeuten würde.
Du musst dich für diesem Fall also der HTTP API Abfrage bedienen. Sollte ja keine große Sache sein, dass in das Script mit einzubauen.
 
Wird neben dem User auch das eigegebene Passwort nicht gesendet? Schade...

Leider habe ich 0 Ahnung wie ich die API Abfrage ins Script bekomme. Die Events werden nicht über das API abgerufen? Wie funktioniert das sonst?

Ich habe nur die Abfrage der Serial im Script. Auf der müsste man aufbauen. Vielleicht findet sich hier jemand der mir zu Hilfe kommt? :cool:

Code:
`http://${this.dahua_host}/cgi-bin/magicBox.cgi?action=getSystemInfo`
 
Hallo,

ich habe mich jetzt auch mal an dem Thema Dahua und iobroker versucht, bin aber noch nicht weitergekommen. Was ich bereits gemacht habe:
  1. mqtt installiert und konfiguriert. Es gibt mir als Status gelb zurück, da es mir sagt, dass noch nichts verbunden ist (logisch, das JavaScript verbindet sich noch nicht)
  2. dahuavto2mqtt container auf der Synology im Docker zum laufen gebracht und konfiguriert. Hier bekomme ich den ersten Fehler: Failed to retrieve Dahua model, error: HTTPSConnectionPool(host='192.168.178.10', port=443): Max retries exceeded with url: /cgi-bin/magicBox.cgi?action=getSystemInfo (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)'))), Line: 296 -
  3. Als Alternative zu 2. das Script aus Post 6 eingeführt - hier bekomme ich die Fehlermeldung im ioBroker log, die inhaltlich identisch ist mit dem Fehler aus 2: Error: request to https://192.168.178.10:443/cgi-bin/magicBox.cgi?action=getSystemInfo failed, reason: unable to verify the first certificate
Ich vermute, die Fehlermeldungen kommen daher, dass ich kein gültiges Zertifikat für die IP habe - ich aber auch nicht weiß, wie ich ein Zertifikat für lokale IP Adresse erstellen kann oder wie ich diese Prüfung ausschalten kann.
EDIT: Nachdem ich die SSL Verschlüsselung in der VTO ausgeschaltet hatte, konnte ich mich via script und mqtt verbinden

Trotz der Fehlermeldungen sehe ich im docker container von dahuavto2mqtt im Protokoll die Events die Ankommen ( INFO __main__ Publishing MQTT message DahuaVTO/VideoMotion/Event: {'Action': 'Start', 'Code': 'VideoMotion', 'Data': {'LocaleTime': '2021-04-08 10:27:07', 'UTC': 1617874027.0}, 'Index': 0})

Irgendeine Idee?

Ferner noch eine Verständnisfrage: wenn ich dann die Verbindung zum mqtt habe - entweder via javascript in iobroker oder via container im docker, dann kommen "Events" im mqtt an, und ich muss dann noch in iobroker sagen (im mqtt oder mit was anderem), was er bei einem ankommenden Event machen soll, korrekt?
 
Zuletzt bearbeitet:
@riogrande75

Ich bekomme desöfteren im Log folgende Warnung, an was könnte das liegen:

Code:
    (1196) script.js.DAHUA.Dahua_Script: Unknown severity level "[object Object]" by log of [handleGenericPayload# Cannot handle received payload]
Konntest Du das Problem lösen? Ich habe das auch...
 
@rettroo

ich habe das script von riogrande75 nun zum Laufen gebracht. Ich habe im ioBroker nun dein Script als JS gepostet und funktioniert einwandfrei.
Ich möchte nun auf den Event "FingerPrintCheck" reagieren und auf FingerprintID -1 abfragen, allerdings habe ich keinen Weg gefunden? Irgendeine Idee?

Danke
 
Zuletzt bearbeitet von einem Moderator:
in MQTT kommt folgendes an:
{"Data":{"FingerPrintID":6,"LocaleTime":"2021-05-03 08:17:42","UTC":1620026262},"deviceType":"VTO4202F","serialNumber":"xxxxxxxxxx"}

Ich bräuchte den Wert der FingerPrintID. In den Beispiel also die 6
 
Versuch mal folgendes Javacode-Script

Den Datenpunkt "0_userdata.0.FingerPrintID" musst du erstellen und die Pfade anpassen.

Code:
on({id: "mqtt.0.DahuaVTO.AccessControl.Event", change: "any"}, function (obj) { ParseCommand(obj); });

function ParseCommand(obj) {

  let value = obj.state.val;

  let FingerPrintID = "";
 
  try {
    obj = JSON.parse(value);

    UserID = obj.Data.CardNo;
 
    setState('0_userdata.0.FingerPrintID', (FingerPrintID));
   
  } catch (e) {
    return;
  }
}
 
  • Like
Reaktionen: Pseudoreal
Danke, nach leichter Anpassung hat es nun funktioniert:
Code:
on({id: "mqtt.0.DahuaVTO.FingerPrintCheck.Event", change: "any"}, function (obj) { ParseCommand(obj); });
function ParseCommand(obj) {
  let value = obj.state.val;
  let FingerPrintIDJS = "";

  try {
    obj = JSON.parse(value);
    FingerPrintIDJS = obj.Data.FingerPrintID;

    setState('0_userdata.0.FingerPrintID', (FingerPrintIDJS));
  
  } catch (e) {
    return;
  }
}
 
Zuletzt bearbeitet:
Hallo zusammen,

ich habe heue versucht die DahuaDoorbell2MQTT in IoBroker zu installieren, bekomme leider folgende fehlermeldung:

$iobroker-URL https://github.com/cibernox/DahuaDoorbell2MQTT.git --host raspberrypi
Cibernox/DahuaDoorbell2MQTT#b4391632355ba9e7479795c01b0bba21bdc8acf3 installieren
NPM-Version: 6.14.15
npm install cibernox/DahuaDoorbell2MQTT#b4391632355ba9e7479795c01b0bba21bdc8acf3 --loglevel error --prefix "/opt/iobroker" (Systemaufruf)
host.raspberrypi Kann cibernox/DahuaDoorbell2MQTT#b4391632355ba9e7479795c01b0bba21bdc8acf3 nicht installieren: 0
FEHLER: Prozess mit Code 25 beendet

was mache ich falsch?

mit freundlichen Grüßen

Mark
 
[Edit Novize: Überflüssiges Riesenfullquote des Eröffnungsbeitrags gelöscht - siehe Forumsregeln]
@rettroo Kann man mit diesem Script auch die Tür öffnen? Wenn ja welche Einstellungen muss ich vornehmen? Habe vor mir ein Öffner über ioBroker in die VIS zu basteln.
 
Zuletzt bearbeitet:
Hallo, ich muss das Thema nochmal auskramen. Kann mir jemand sagen, wie ich für meine VTO2000A weitere Events einfügen kann? Wie habt ihr es hinbekommen, dass ein Event erzeugt wird, wenn jemand den Fingerprint benutzt?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.