Mobotix T24 und T25 Gegensprechanlage PHP Modul

Hi,

update auf R1, macht aber keinen Unterschied

11/11/2016 11:43:56*| VariableManager*| [daddel\T24/T25 Sprechanlage\Ereignis: AS,SB_Arm_Record_AS
] = 1478861036
11/11/2016 11:43:56*| VariableManager*| [daddel\T24/T25 Sprechanlage\letzte Aktivität] = AS,SB_Arm_Record_AS
 am 11.11.2016 11:43:56
11/11/2016 11:44:02*| VariableManager*| [daddel\T24/T25 Sprechanlage\Ereignis: AS,SB_Arm_Record_AS
] = 1478861042
11/11/2016 11:44:02*| VariableManager*| [daddel\T24/T25 Sprechanlage\letzte Aktivität] = AS,SB_Arm_Record_AS
 am 11.11.2016 11:44:02
11/11/2016 11:44:08*| VariableManager*| [daddel\T24/T25 Sprechanlage\Ereignis: AS,SB_Arm_Record_AS
] = 1478861048
11/11/2016 11:44:08*| VariableManager*| [daddel\T24/T25 Sprechanlage\letzte Aktivität] = AS,SB_Arm_Record_AS
 am 11.11.2016 11:44:08
11/11/2016 11:45:13*| VariableManager*| [daddel\T24/T25 Sprechanlage\Beleuchtung] = 3785.5

Hi,

habe jetzt mal etwas an

public function ProcessHookData()

geändert damit es funktioniert…

if (isset($_GET) && isset($_GET['event']))
	{
	$_myEvent = str_replace("%0A", "", $_GET['event']); //da kommt Mist von der T25
	$timestamp = time();
	$identReplaceChars = array(' ', ',', '-', '.', ':', ';', '+', '*', '~', '!', '?', '/', '\\', '[', ']', '{', '}', '&', '%', '$', '§', '\"', '\'', '=', '´', '`', '<', '>', '|', '#');

	$_my_new_event = explode(",", $_myEvent);

	foreach($_my_new_event as $result)
		{
		$result = trim($result);

		$eventID = @IPS_GetObjectIDByIdent("event_" . str_replace($identReplaceChars, '_', $result) , $instanceID);
		if ($eventID == false)
			{
			$eventID = IPS_CreateVariable(3);
			IPS_SetIdent($eventID, "event_" . str_replace($identReplaceChars, '_', $result));
			IPS_SetName($eventID, "Ereignis: " . $result);
			IPS_SetParent($eventID, $instanceID);
			IPS_SetIcon($eventID, "Hourglass");
			IPS_SetHidden($eventID, true);
			}

		SetValue($eventID, $timestamp);
		if (IPS_GetProperty($instanceID, "T25LogTimestamp") == true) SetValue(IPS_GetObjectIDByIdent("lastEvent", $instanceID) , $result . " am " . date("d.m.Y H:i:s", $timestamp));
		  else SetValue(IPS_GetObjectIDByIdent("lastEvent", $instanceID) , $result);
		$data = array(
			"event" => $result,
			"timestamp" => date("d.m.Y H:i:s", $timestamp) ,
			"unix_timestamp" => $timestamp
		);
		@IPS_SetProperty($instanceID, "T25LastEventJSON", json_encode($data));
		if (IPS_GetProperty($instanceID, "T25LogMode") == true) IPS_LogMessage(IPS_GetObject($instanceID) ['ObjectName'], "Ereignis ausgelöst: " . $result);
		}
	}

Baue ich demnächst in das Release ein, Danke!

Fix dafür ist oben.

Hallo,

erst einmal ein Danke an dansh für die Enwicklung diese Moduls.

Ich habe hier nun mehrere T24 installiert - da muss ich ja eine instanceid mit übergeben, denn sonst
funktioniert immer nur die zuletzt initialisierte Instanz.
Aber wo und wie konnte ich bisher nicht herausfinden. Ich nehme an in der Netzwerkmeldung in der T24,
aber die Syntax ist mir nicht klar.
Kann mir da jemand auf die Sprünge helfen?

Gruss
Olli

Hi Olli,

das ist korrekt. Ich hatte bei einem Kunden ebenfalls das „Problem“ das er mehrere Mobotix Gegensprechanlagen im Einsatz hat und diese in IPS einbinden wollte. Daraufhin habe ich bei der Übergabe von der Mobotix an IPS einen weiteren Parameter eingebaut damit unterschieden werden kann welche Gegensprechanlage ausgelöst hat.

Gib in der Mobotix Netzwerkmeldung einfach bei der URL den Parameter

&instanceid=<id der jeweilig zuständigen mobotix instanz>

mit dann weiß mein Modul welche deiner Anlagen gerade etwas gesendet hat.

Grüße
Daniel

Hallo Daniel,

vielen Dank. Funktioniert prima. :slight_smile:

Gruss
Olli

Hallo Daniel,

seit dem letzten Update wird bei mir bei jedem Event eine neue Variable angelegt.
Kannst du dir das bitte mal anschauen?

Besten Dank
Gruß
Jens

Ich habe auch das Update gemacht aber kann das Problem nicht nachstellen.
Sicher das du sonst nichts geändert hast ?
Kommt eine Fehlermeldung im Log ?

Ich werde noch einmal alles prüfen und im Log schauen.
Das Modul zeigt in Module ein rotes Ausrufezeichen wo normalerweise das Update angezeigt wird.
Genauere Info folgt

bekomme folgende Meldung:

24.04.17 22:12:59*| TimerPool*| T24 Sprechanlage (timer_updatedata): <br />
<b>Warning</b>: file_get_contents(http://...@192.68.1.203:80/control/camerainfo): failed to open stream: Connection timed out in <b>/mnt/data/symcon/modules/SymconT25/T25/simple_html_dom.php</b> on line <b>76</b><br />

24.04.17 22:18:48*| T24 Sprechanlage*| $_GET: Array
(
[event] =>

)

24.04.17 22:18:48*| PHP*| Error: Warning: Ident darf nur Buchstaben und Zahlen enthalten
Error in Script /mnt/data/symcon/modules/SymconT25/T25/module.php on Line 173
134 in /mnt/data/symcon/IPSLibrary/app/core/IPSLogger/IPSLogger.inc.php (call IPSLogger_Out)
37 in /mnt/data/symcon/IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
in IPSLogger_PhpErrorHandler
173 in /mnt/data/symcon/modules/SymconT25/T25/module.php (call IPS_SetIdent)
4 in /mnt/data/symcon/10176.ips.php (call ProcessHookData)

Du musst irgendwas geändert haben.
Hast du nen neues Ereignis angelegt in der Mobotix oder den Namen von einem Ereignis geändert ?
Da scheinen irgendwelche Zeichen drin zu sein die er nicht mag.

Habe den Fehler gefunden.
Hatte einen Dreher in der IP.

Der Fehler mit dem Ausrufezeichen bleibt aber.

Was steht nun noch im Log ?
Wie gesagt, die Fehlermeldung ist eindeutig: Das Ereignis welches du übergibst hat nicht erlaubte Zeichen. Ergo muss eine Änderung in irgend einer Form stattgefunden haben wenn es vorher lief.

Das Modul legt eine Variable nach folgendem Identifier-Schema an:
event_<bezeichner des übergebenen events>

Es liegt jedenfalls nicht am Update auf 4.2 sondern an Einstellungen die du gemacht hast. Also bitte selbst schauen und lösen.

P.S. mach mal ein Modulupdate.

ich habe keine Fehler mehr im Log und es funktioniert alles wie es soll.

Nur die Meldung in „Module“ bleibt bestehen:

IP-Symcon 4.20, 20.04.2017, ddf9ab4111aa

Ach das meinst du - das ist nicht kritisch und kann ignoriert werden. Anscheinend dürfen nur noch bestimmte Ordner im Modul vorhanden sein, dass hatte ich noch nicht mitbekommen. Werde ich demnächst in meinen Modulen überarbeiten.

Cool,
Besten Dank dafür.
Ist wirklich toll deine Arbeit!

Dankeschön für die Blumen!

Hallo,

nach meinem IPS Update ist der Fehler mit dem Ausrufezeichen jetzt auch da.
Du bist noch nicht zum korrigieren gekommen, nehme ich an?

Ich bin nämlich ein Riesen Fan von dem Modul, das macht die T25 gleich noch viel besser.

Gruß
Christian

Bisher noch nicht, obwohl es eine Kleinigkeit ist.
Aber aktuell verbringe ich die Zeit nicht so oft am PC-
Aber das Ausrufezeichen ist nicht schlimm und beeinträchtigt die Funktion nicht.