der Logger ist richtig praktisch. Bisher verwende ich aber neben dem IPSLibrary Modul IPSShadowing noch eine eigene Struktur für die Beleuchtung und Temperaturüberwachung im Haus.
Meine Frage ist nun, wie kann ich Statusmeldungen (Variablen, etc) in den IPSLogger integrieren?
Ein Beispiel:
Ich habe einen Neigungssensor am Garagentor und der gibt mir eine Rückmeldung über den Torzustand (offen / geschlossen). Wie könnte ich mir den Zustand (bei jeder Änderung) mittels IPSLogger und Prowl auf mein Handy schicken lassen?
Prowl funktioniert bereits
Für mich ist das ganze IPS System mit Zusammenhängen, Instanzen etc noch Neuland und ich bin noch in der Findungsphase bevor es dann richtig mit eigenen Modulen losgehen kann.
ist es möglich, die letzte Meldung des Loggers ganz oben anzuzeigen ??? Somit müßte man nicht immer bis ganz nach unten scrollen um die letzte Meldung zu sehen.
Das ist ja der springende Punkt Finde diesen Eintrag eben nicht. Deswegen habe ich mal nach der installierten Version gekuckt.
<?
/**@defgroup ipslogger_configuration IPSLogger Konfiguration
* @ingroup ipslogger
* @{
*
* Konfigurations Einstellungen des Loggers.
*
* @file Default/IPSLogger_Configuration.inc.php
* @author Andreas Brauneis
* @version
* Version 2.50.1, 31.01.2012<br/>
*
*/
/** WebFront Konfigurations Parameter
*
* Dieser Wert spezifiert die Länge des Kontextes (Logging Kontext
* wird bei jedem Aufruf einer Logging Routine als erster Parameter übergeben) im HTML Output.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_Format_LogOutContextLen", 12);
/** WebFront Konfigurations Parameter
*
* Dieser Wert spezifiert das Datumsformat im HTML Output
* Beispiel, bei Definition des Datumformats von 'Y-m-d H:i:s' und MiroLen (Beschreibung siehe unten) von 3
* sieht der Output folgendermaßen aus:
* 2011-10-06 06:46:45.707
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_Format_LogOutDate", 'Y-m-d H:i:s');
/** WebFront Konfigurations Parameter
*
* Dieser Wert spezifiert die Micro Sekunden, die HTML Output ausgegeben werden sollen.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_Format_LogOutMicroLen", 4);
/** WebFront Konfigurations Parameter
*
* Dieser Wert spezifiert die Schriftart die für den HTML Output verwendet werden soll.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_Style_HtmlOutTable", 'font-family:courier; font-size:11px;');
/** WebFront Konfigurations Parameter
*
* Dieser Wert spezifiert die Breite der Output Spalten im HTML Output.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_Style_HtmlOutColGroup", '<colgroup><col width="25px"><col width="40px"><col width="100px"><col width="200px"><col></colgroup>');
/** WebFront Konfigurations Parameter
*
* Steuert ob neue Messages am Ende der Html List hinzugefügt werden oder am Anfang
*
* Parameter kann jederzeit geändert werden.
*/
define ('IPSLOGGER_HTML_NEWMESSAGETOP', false);
/** Konfigurations Parameter für File Output
*
* Dieser Wert spezifiert das Output Verzeichnis für Log Files. Wenn nichts angegeben wird,
* wird das normale Logging Verzeichnis von IPS verwendet (.../logs).
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_File_Directory", "");
/** Konfigurations Parameter für File Output
*
* Dieser Wert spezifiert die File Extension für den File Output.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_File_Extension", "log");
/** Konfigurations Parameter für Log4IPS Output
*
* Dieser Wert spezifiert das Output Verzeichnis für Log Files. Wenn nichts angegeben wird,
* wird das normale Logging Verzeichnis von IPS verwendet (.../logs).
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_Log4IPS_Directory", "");
/** Konfigurations Parameter für Log4IPS Output
*
* Dieser Wert spezifiert die File Extension für den XML Output.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_Log4IPS_Extension", "xml");
/** Konfigurations Parameter für EMail Output
*
* Dieser Wert spezifiert die ID der MailServer Instanz in IPS, die für das Versenden von
* EMails verwendet werden soll.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_ID_SmtpDevice", );
/** Konfigurations Parameter für EMail Output
*
* Erste von 3 möglichen EMail Adressen, die zum Versenden von EMails angegeben werden kann.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_EMail_Address1", "xxx@xxx");
/** Konfigurations Parameter für EMail Output
*
* Zweite von 3 möglichen EMail Adressen, die zum Versenden von EMails angegeben werden kann.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_EMail_Address2", "");
/** Konfigurations Parameter für EMail Output
*
* Dritte von 3 möglichen EMail Adressen, die zum Versenden von EMails angegeben werden kann.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_EMail_Address3", "");
/** Konfigurations Parameter für EMail Output
*
* Text der in das Feld Betreff bei Emails eingetragen werden soll.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_EMail_Subject", "IP-Symcon Information");
/** Konfigurations Parameter für EMail Output
*
* Signatur die für Emails verwendet werden soll.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_EMail_Signature", "Message send from IP-Symcon HomeControl");
/** Konfigurations Parameter für Prowl Output
*
* Schlüssel der für das Versenden von Prowl Messages verwendet werden soll.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_Key_ProwlService", '');
/** @}*/
?>
Und der Ansicht nach scheint alles auf Stand zu sein.
Danke für deinen Hinweis. Habs jetzt mit allen 3 Möglichkeiten versucht und das Modul nochmal upgedatet. Leider habe ich den Syslog-Eintrag in der Config nicht …
Schau mal im Ordner „Default“ . Dort ist die aktuelle defaultKonfiguration.
Deine eigenen wird bei einem Update ja nicht ueberschrieben.
Dort sollten die Syslog-Eintraege sein.
Einfach in deine Konfiguration uebernehmen.
Magst du den IPSLogger dahingehend erweitern, dass er auch Prowl-Nachrichten an Android-Devices schicken kann? :oDamit habe ich es auf Anhieb erfolgreich getestet:
Habs mir mal notiert, muss da aber sehr sorgfältig vorgehen um da kompatibel zur bestehenden Version zu bleiben (der Logger ist mittlerweile 100fach im Einsatz).
Nachdem ich gestern das aktuelle Update gezogen habe, bringt ein InfoWidget plötzlich eine Ausgabe (leerer transparenter Rahmen über dem Webfront). Ursache ist offenbar folgender Befehl im Skript des InfoWidget:
Ich hab bei mir auch noch einen Fehler gefunden, für „Bei Klick“ war beim Widget des Logger eine falsche Variable eingetragen. Kann aber nicht 100%ig sagen, ob das die Ursache war, denn ich hab auch einen Neustart hingelegt.
Jetzt ist das Verhalten jedenfalls wieder normal. Update mach ich trotzdem noch.