Einfaches Logging von Ereignissen - Webserver-Software-Empfehlung?
Hallo und guten Abend.
Ich beschäftige mich gerade mit einfachen "Smarthome"-Dingen in Verbindung mit AVM Fritzboxen und deren DECT-Sensoren (Temperaturmessung, Kühlraumtür-noch-offen, Garage offen, solche Sachen eben).
In der Fritzbox können per Sensorenaktivitäten als "Aktion" (Vorlage) neben klassichen Schaltvorgängen auch URLs aufgerufen werden, die per GET, POST, etc.-Funktionalität bis zu 255 Zeichen in der URL übermitteln können.
Diese lokalen im eigenen LAN getätigten URL-Aufrufe würde ich gern möglichst simpel auf einer lokalen (Windows?)Software loggen und als kontinuierliche, chronologische Liste sichtbar machen. Quasi als ganz simple Webzeite, wo oben immer die neueste Aktion erscheint, sobald eine Aktion per URL-Aufruf gemeldet wird.
Hier läuft ein Windows 10-Mini-PC sowieso für andere Kleinaufgaben, daher nicht noch nen raspberry pi oder Arduino zusätzlich. Müsste halt sonst auch noch betreut werden, das möchte ich grad nicht.
Kennt Ihr eine einfache Webserversoftware, mit der ich obiges realisieren kann?
Danke und schönes Wochenende.
LG Jörg
Ich beschäftige mich gerade mit einfachen "Smarthome"-Dingen in Verbindung mit AVM Fritzboxen und deren DECT-Sensoren (Temperaturmessung, Kühlraumtür-noch-offen, Garage offen, solche Sachen eben).
In der Fritzbox können per Sensorenaktivitäten als "Aktion" (Vorlage) neben klassichen Schaltvorgängen auch URLs aufgerufen werden, die per GET, POST, etc.-Funktionalität bis zu 255 Zeichen in der URL übermitteln können.
Diese lokalen im eigenen LAN getätigten URL-Aufrufe würde ich gern möglichst simpel auf einer lokalen (Windows?)Software loggen und als kontinuierliche, chronologische Liste sichtbar machen. Quasi als ganz simple Webzeite, wo oben immer die neueste Aktion erscheint, sobald eine Aktion per URL-Aufruf gemeldet wird.
Hier läuft ein Windows 10-Mini-PC sowieso für andere Kleinaufgaben, daher nicht noch nen raspberry pi oder Arduino zusätzlich. Müsste halt sonst auch noch betreut werden, das möchte ich grad nicht.
Kennt Ihr eine einfache Webserversoftware, mit der ich obiges realisieren kann?
Danke und schönes Wochenende.
LG Jörg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 667793
Url: https://administrator.de/contentid/667793
Ausgedruckt am: 21.11.2024 um 12:11 Uhr
20 Kommentare
Neuester Kommentar
Hallo,
P.S. was ist für dich eine "einfache Webserversoftware" und was genau muss diese können?
Gruss,
Peter
Zitat von @Server-Nutzer:
Kennt Ihr eine einfache Webserversoftware, mit der ich obiges realisieren kann?
Kauf dir einen Lt. Commander Data und adaptiere das OS vom Raumschiff USS Enterprise-D/E und bastel damit deine Anforderungen nach deinen Wünschen. Gibts bestimmt bei Amaz... fürn Appel und zwei Eier Kennt Ihr eine einfache Webserversoftware, mit der ich obiges realisieren kann?
P.S. was ist für dich eine "einfache Webserversoftware" und was genau muss diese können?
Gruss,
Peter
Spar dir das basteln mit webhooks und schau dir mal https://www.home-assistant.io/ an.
Zigbee Sensoren / Aktoren sind dann auch deutlich günstiger als die AVM Sachen.
Zigbee Sensoren / Aktoren sind dann auch deutlich günstiger als die AVM Sachen.
Moin,
Ich würde das so lösen:
- Rasperry Pi mit minimal Linux (nur SSH)
- LAMP-Stack (Linux, Apache, PHP, MySQL)
- Kleine PHP-Anwendung die diese API-Calls entgegen nimmt und in die DB speichert
- Kleine PHP-Anwendung die die aktuellsten Einträge pro Typ anzeigt.
Danach kann man über eine Webseite von jedem Gerät im LAN/WLAN/VPN darauf zugreifen.
Stefan
Ich würde das so lösen:
- Rasperry Pi mit minimal Linux (nur SSH)
- LAMP-Stack (Linux, Apache, PHP, MySQL)
- Kleine PHP-Anwendung die diese API-Calls entgegen nimmt und in die DB speichert
- Kleine PHP-Anwendung die die aktuellsten Einträge pro Typ anzeigt.
Danach kann man über eine Webseite von jedem Gerät im LAN/WLAN/VPN darauf zugreifen.
Stefan
Moin,
ich glaube, Du stellst Dir das zu einfach vor. Eine fertige Software gibt es dafür m.W.n. nicht, da ja die (URL-) Aufrufe von der FirtzBox getätigt werden und an die entsprechenden Aktoren und nicht an Deinen PC gehen.
Du müsstest eine Art Proxy auf dem PC installieren und die Aufrufe über diesen Proxy leiten, damit der mitloggen kann.
Ob die FritzBox für die Kommunikation mit den Aktoren einen Proxy unterstützt, weiß ich nicht, da ich das Fritz-Smarthome dafür zu wenig kenne.
Alternativ kannst Du natürlich auf dem PC per bspw. Wireshark das komplette Netz dauerhaft "abhören" und mittels Filtern Dir das gewünschte rausschreiben. Der Aufwand dürfte aber immens sein und ohne Programmierkenntnisse auch nicht zum Erfolg führen.
Die einfachste Variante wäre, wenn die Fritzbox das schon selbst irgendwo loggt, wenn man von außen auf dieses Log zugreifen kann und sich die gewünschten Informationen separat rausschreiben kann. Ist aber alles mit mehr oder weniger Aufwand verbunden und muss man selbst entwickeln können.
Deswegen war auch der Vorschlag, die Zentrale in bspw. Home Assistant zu verlegen eigentlich schon sehr brauchbar, dort hat man halt einfach mehr und einfachere Möglichkeiten der Überwachung.
Gruß
cykes
ich glaube, Du stellst Dir das zu einfach vor. Eine fertige Software gibt es dafür m.W.n. nicht, da ja die (URL-) Aufrufe von der FirtzBox getätigt werden und an die entsprechenden Aktoren und nicht an Deinen PC gehen.
Du müsstest eine Art Proxy auf dem PC installieren und die Aufrufe über diesen Proxy leiten, damit der mitloggen kann.
Ob die FritzBox für die Kommunikation mit den Aktoren einen Proxy unterstützt, weiß ich nicht, da ich das Fritz-Smarthome dafür zu wenig kenne.
Alternativ kannst Du natürlich auf dem PC per bspw. Wireshark das komplette Netz dauerhaft "abhören" und mittels Filtern Dir das gewünschte rausschreiben. Der Aufwand dürfte aber immens sein und ohne Programmierkenntnisse auch nicht zum Erfolg führen.
Die einfachste Variante wäre, wenn die Fritzbox das schon selbst irgendwo loggt, wenn man von außen auf dieses Log zugreifen kann und sich die gewünschten Informationen separat rausschreiben kann. Ist aber alles mit mehr oder weniger Aufwand verbunden und muss man selbst entwickeln können.
Deswegen war auch der Vorschlag, die Zentrale in bspw. Home Assistant zu verlegen eigentlich schon sehr brauchbar, dort hat man halt einfach mehr und einfachere Möglichkeiten der Überwachung.
Gruß
cykes
Xampp installieren und irgendwie so etwas wie
In eine Datei namens index.php speichern und in das wwwroot Verzeichnis legen.
Dann als URL z.b. http://hostname-deines-computers/?Action=Heizung%20an
Schreiben.
<?php
// File path for the log
$logFile = 'action_log.txt';
// Check if the "Action" parameter is present
if (isset($_GET['Action'])) {
// Get the current timestamp
$timestamp = time();
// Create a log entry
$logEntry = "Action: " . $_GET['Action'] . " - Timestamp: " . $timestamp . "\n";
// Append the log entry to the file
file_put_contents($logFile, $logEntry, FILE_APPEND);
// Read the contents of the file and display them
$logContents = file_get_contents($logFile);
echo "<pre>$logContents</pre>";
} else {
echo "No 'Action' parameter provided.";
$logContents = file_get_contents($logFile);
}
In eine Datei namens index.php speichern und in das wwwroot Verzeichnis legen.
Dann als URL z.b. http://hostname-deines-computers/?Action=Heizung%20an
Schreiben.
Taster drücken (DECT-Sensor) -> Fritzbox Smarthome-Funktion -> URL-Aufruf -> Webserver-Software loggt diesen Aufruf
Wie soll denn Deiner Meinung nach irgendein (Web-)Server auf Deinem PC den URL-Aufruf ausgehend von der FritzBox mitbekommen? Der fühlt sich überhaupt nicht zuständig dafür.
Siehst Du auch im Log des IIS, die URL-Abfragen werden alle mit 404 beantwortet, da das ein anderes Gerät ist als er selbst. Auch der Mini-Webserver sagt ja mit einem Connection Close: "Kenn ich net"...
Moin,
eine Antwort mit Apache steht oben.
Und ja, du wirst da immer etwas anpassen müssen, weil so etwas eben individuelle Aufrufe sind.
Wer da nach "fertig" sucht, kommt zu HomeAssistant und Konsorten, also genau anders herum: Software für Home Automation suchen und schauen, welche Aktoren unterstützt werden.
Bei HomeAssistant ist das gegeben: www.home-assistant.io/integrations/fritzbox/. Kannst Du am einfachsten mit Virtualisierung unter Windows laufen lassen, dann bleibt es bei Deinem PC. Hier z.B. mit VirtualBox.
Ist m.E. immer noch sinnvoller, weil da eigentlich alles an Auswertungen und Aktionen ist, was man so zum Thema Smart Home braucht.
Das reine Logging ist da doch sehr spartanisch. Mit Xampp dürfte es aber am schnellsten sein.
Gruß
DivideByZero
eine Antwort mit Apache steht oben.
Und ja, du wirst da immer etwas anpassen müssen, weil so etwas eben individuelle Aufrufe sind.
Wer da nach "fertig" sucht, kommt zu HomeAssistant und Konsorten, also genau anders herum: Software für Home Automation suchen und schauen, welche Aktoren unterstützt werden.
Bei HomeAssistant ist das gegeben: www.home-assistant.io/integrations/fritzbox/. Kannst Du am einfachsten mit Virtualisierung unter Windows laufen lassen, dann bleibt es bei Deinem PC. Hier z.B. mit VirtualBox.
Ist m.E. immer noch sinnvoller, weil da eigentlich alles an Auswertungen und Aktionen ist, was man so zum Thema Smart Home braucht.
Das reine Logging ist da doch sehr spartanisch. Mit Xampp dürfte es aber am schnellsten sein.
Gruß
DivideByZero
IIS ist schon mal nicht verkehrt, da in Windows 10 schon integriert / vorhanden. Verwende nicht das interne logging, das ist in der Tat zeitversetzt, sondern bastele dir eine logme.php, die sofort in eine Datei schreibt, sobald du sie aufrufst. (oder nimm die fertige oben von Intellidance)
Dazu noch eine schicke index.html oder index.php Seite, die dir die Datei anzeigt.
Dazu noch eine schicke index.html oder index.php Seite, die dir die Datei anzeigt.
Hallo,
Ist doch lesbar.. aber eben nicht verständlich**. Wenn die Zahlen die Anzahl der Käfer seit das große Krabbeln darstellen dann durch das Fensterkreuz teilen, mit der Sonne Multiplizieren und durch dein Alter teilen. Ergebnis ist was? Kauderwelsch.
https://www.php.net/manual/de/function.time.php
https://www.w3schools.com/php/func_date_time.asp
https://www.php-einfach.de/php-tutorial/php-datum-uhrzeit/
https://www.php.net/manual/de/datetime.gettimestamp.php
Gruss,
Peter
Ist doch lesbar.. aber eben nicht verständlich**. Wenn die Zahlen die Anzahl der Käfer seit das große Krabbeln darstellen dann durch das Fensterkreuz teilen, mit der Sonne Multiplizieren und durch dein Alter teilen. Ergebnis ist was? Kauderwelsch.
https://www.php.net/manual/de/function.time.php
https://www.w3schools.com/php/func_date_time.asp
https://www.php-einfach.de/php-tutorial/php-datum-uhrzeit/
https://www.php.net/manual/de/datetime.gettimestamp.php
Gruss,
Peter