Doorbird Modul [Testversion]

Nein da hat sich an sich nichts geändert warum es nicht funktionieren sollte. Geht bei mir auch nach wie vor. Du hattest doch schon mal so ein Problem. Eventuell hat sich was an der Notification geändert. Was neu ist das man die Notifications pro Event einzeln aktivieren/ deaktivieren kann. Du müsstest also noch mal schauen ob überall auch ein Haken gesetzt ist dann vielleicht noch mal Benachrichtigung einrichten drücken. Und dann noch mal schauen wie bereits hier
Doorbird Modul [Testversion] - Seite 2
ob sich irgendwas an der Notification geändert hat, bzw ob das Event vom Browser aus triggert.

Braucht ihr noch eine extra Kategorie in IP-Symcon wo man bei Bedarf die in der Doorbird hinterlegten letzten 20 Bilder wenn es geklingelt hat abrufen kann? Ich habe mal die Bilder verglichen die Doorbird selber macht und die die von IP-Symcon angefordert werden wenn das Event Klingeln eintrifft. Aufgefallen ist mir das der Doorbird selber z.B. Nachts das Bild wohl leicht später macht als das Klingelsignal kommt, weil zunächst noch das IR Licht angeschaltet wird bevor der Doorbird das Bild macht. Das hat den Vorteil das man dann auf alle Fälle was sieht auf dem Bild. Eine Möglichkeit wäre aber auch das Modul prüfen zu lassen ob es dunkel ist, und dann gegebenenfalls erst das IR Licht anzuschalten bevor ein Foto angefordert wird. Was meint ihr da so dazu?

Hm, also bei mir schaltet sich das IR-Licht wenn es dunkel ist direkt bei einer Bewegung ein, wenn dann jemand klingelt ist es bereits aktiv.
Dürfte aber damit zusammenhängen das ich den Bewegungsmelder grundsätzlich aktiviert habe und nur die Benachrichtigung in der App ausgeschaltet habe.
Da ich bei mir auch noch über eine surveillance Anwendung darauf zugreife und Nachts Bewegungen aufzeichne.

Wichtiges Update:

Bugfix Update:
Es hat sich noch ein kleiner, aber wichtiger, Fehler eingeschlichen. Die Bilder werden alle im Arbeitsspeicher gehalten aber beim Beenden von IP-Symcon nicht abgespeichert weil ein Parameter vergessen wurde. Mit dem Modulupdate ist das jetzt für alle Medienelemente die neu angelegt werden behoben.

Damit auch die bereits bestehenden Medienelemente des Doorbird beim Beenden von IP-Symcon abgespeichert werden ist folgendes Skript einmalig auszuführen.


 $InstanzenListe = IPS_GetInstanceListByModuleID("{D489FA0B-765D-451E-8B21-C6B61ECAC00E}");

foreach ($InstanzenListe as $InstanzID)
{
	$catidsnap = IPS_GetObjectIDByIdent("ObjIDSnap", $InstanzID);
	$catidsnap = GetValue($catidsnap);
	$catidhis = IPS_GetObjectIDByIdent("ObjIDHist", $InstanzID);
	$catidhis = GetValue($catidhis);
	$repinfo = RepairSetMediaFile($catidsnap);
	echo $repinfo."
";
	$repinfo = RepairSetMediaFile($catidhis);
	echo $repinfo."
";
}
  
 function RepairSetMediaFile($catid)
 {
 	$mediaids = IPS_GetChildrenIDs($catid);
	$countmedia = count($mediaids);
	for ($i = 0; $i <= ($countmedia-1); $i++)
			{
			$mediaident = IPS_GetObject($mediaids[$i])['ObjectIdent'];
			$mediaident = explode("Pic", $mediaident);
			$mediakey = intval($mediaident[1]);
			//$name = IPS_GetName($mediaids[$i]);
			$name = $mediaident[0]; 
			$picturename = strtolower($name)."pic_";
 			$ImageFile = IPS_GetKernelDir()."media".DIRECTORY_SEPARATOR.$picturename.$mediakey.".jpg";  // Image-Datei
 			IPS_SetMediaFile($mediaids[$i], $ImageFile, False);    // Image im MedienPool mit Image-Datei verbinden
			}
	
	$repinfo = "Es wurden ".$countmedia." Medienelemente in Kategorie ".$catid." gefunden und Files zugewiesen";
	return $repinfo;
 }

Weitere Neuerung:
Es gibt jetzt noch die Möglichkeit im Modul Formular eine Email Adresse einzutragen und optional einen Haken zu setzten um die Email Benachrichtigung zu aktivieren. Dann wir bei jedem Klingeln eine Email an die hinterlegte Adresse verschickt mit dem aktuellen Klingelbild als Attachment.

Voraussetzung ist ein in IP-Symcon installiertes und konfiguriertes SMTP Modul auf das dann in der Konfiguration des Doorbird Moduls verwiesen wird.

Hallo Fonzo,

vielen Dank für Dein Modul. Funktioniert weitgehend einwandfrei.
Irgendwie habe ich aber leider kein Livebild hinbekommen.
Als ich aber den Wert in der Doorbird Video Variable wie folgt geändert hatte, hat es dann geklappt.

<img src=„http://DOORBIRD-IP/bha-api/video.cgi?http-user=NAME&http-password=PASSWORT“ style=„width: 960px; height:540px;“ >

Das ist interessant. Welchen Browser benutzt Du denn? Wenn ich Deine Variante ausprobiere bekomme ich ebenfalls ein Bild angezeigt, es funktionieren bei mir also beide Varianten. Bemerkenswert ist, dass bei deiner Variante das Bild breiter in einem anderen Format dargestellt wird, mit aus meiner Sicht weniger Verzerrung, bzw. Stauchung durch das Fischauge.

Wie ist es denn beim Rest geht da auch beides? Was soll denn ins Modul? Eine Auswahl beider Varianten oder das ganze als img Tag?

Ich nutze die Variable zur Ansicht in der IOS App auf meinem Handy.
Die Höhe und Breite habe ich einfach an dem Verhältnis der Auflösung (720P) angepasst. Daher ist es nicht verzerrt und beim Apfelhandy im Querformat ein Vollbild.

Ich habe mit einem Update des Moduls in dem Konfigurationsformular eine Alternative View Option hinzugefügt.
doorbirdaltview.png
Wenn es Probleme mit der Live Bild Anzeige geben sollte kann hier ein Haken gesetzt werden um die Option s.o. zum Ausprobieren zu übernehmen.

Komischerweise funktionieren bei mir beide Varianten sowohl im Webfront als auch Mobil. Hauptsache eine Option funktioniert bei Dir was auch immer da den Unterschied ausmacht.

Gute Idee.
Kannst Du vielleicht noch eine weitere Alternative für den externen Zugang einrichten?
Hier müsste dann die Adresse mit Port angegeben werden, da ich eine Portweiterleitung für das Livebild eingerichtet habe.
Zur Zeit habe ich mir eine Variable natürlich selber mit diesen Wert beschrieben.

Ja, guck, damit bekomme ich nun auch direkt ein Livebild! :slight_smile:

Kannst du mir mal sagen wie du das gemacht hast? Ich bekomme in der iOS App kein Bild angezeigt. Habe auch einfach einen Link auf die LiveBild Variable erstellt.

Das ist ja mal wieder strange :confused:. Bei mir geht das einfach so auch mit Link. Keine Ahnung was das schon wieder ist. Wie sprichst du denn den Webfront an mit der Mobilen App? Ist da eine IP Adresse eingetragen oder die Connect URL?

Bist Du im gleichen Netzwerk ?

Port Adresse für die Doorbell oder Port für IP-Symcon?

Für die Doorbird.
Ich habe einen anderen öffentlichen Port genommen und diesen dann an Port 80 zur Doorbird weitergeleitet.

so z.B. müsste der Eintrag in Deinem Modul aussehen:

Externe Domain: „meineDomain.de
Öffentlicher Port: „44455“

Somit würde der link dann wie folgt aussehen:

<img src=„http://meineDomain.de:44455/bha-api/video.cgi?http-user=NAME&http-password=PASSWORT“ style=„width: 960px; height:540px;“ >

Ich habe mal ein Modul Update hochgeladen, dort kann man jetzt den Port ändern sowie die Betreffzeile und den Text der Email anpassen.

Sollte irgendwas nicht funktionieren bitte Rückmeldung geben.

Wenn ich meine Domainname bei Hostname eintrage kommt eine Fehlermeldung:
undefined variable: hostcheck in module.php on line 140

Schau mal bitte ob es jetzt nach dem Update eventuell geht.

Geht das inzwischen wieder bei Dir? Ansonsten schaue Dir noch mal den Notification Return vom Doorbell an und prüfe vielleicht unter Webhooks ob Du da vielleicht doppelte Einträge bei Doorbird Webhook stehen hast. Falls ja alten Webhook löschen.