WS2019 (Essentials Role) bei LAN-Zugriff auf IOBroker per Browser aktiv halten

Probleme oder Fragen zu Lights-Out unter allen Windows Plattformen werden hier beantwortet
Antworten
Tomcat
Foren-Einsteiger
Beiträge: 4
Registriert: 12. Mai 2019, 17:54

WS2019 (Essentials Role) bei LAN-Zugriff auf IOBroker per Browser aktiv halten

Beitrag von Tomcat »

Hallo liebes Forum,
auf meinem Windows Server 2019 mit Essentials Rolle habe ich IOBroker (Heimautomatisierungs-SW) laufen. LO überwacht verbundene Computer, Aufgaben der Aufgabenplanung, freigegebene Dateien, Benutzeraktivität, Netzwerkbasierte Geräte, Kalender und Netzwerklast und geht ordnungsgemäß bei Inaktivität nach 30 Minuten in den Energiesparzustand.

Der Zugriff auf IOBroker erfolgt per Browser von anderen Rechnern (oder Tablets) im lokalen Netz durch Aufruf der WS2019 IP mit Port 8081. Das funktioniert wunderbar, wenn ich den Server per WOL geweckt habe, aber leider nur 30 Minuten lang. Ich bekomme es leider nicht hin, dass LO den Zugriff über den Browser erkennt und den Server für die Zugriffsdauer wach hält. Webzugriff via http als Überwachung scheint hier nicht der richtige Weg zu sein? Trage ich dort http://<LAN-IP-Adresse>:8081 ein bleibt der Server ständig aktiv.

Wie bekomme ich LO dazu, den Browser-Zugriff auf IOBroker zu erkennen?
Viele Grüße, Thomas
Benutzeravatar
Martin
Moderator
Beiträge: 9947
Registriert: 11. Sep 2007, 10:51
Wohnort: Im wilden Süden

Re: WS2019 (Essentials Role) bei LAN-Zugriff auf IOBroker per Browser aktiv halten

Beitrag von Martin »

Das ist leider mit Bordmittel nicht möglich.

Auf die Schnelle: Du könntest dir ein Script bauen, das per netstat -a prüft, ob auf Port 8081 eine Verbindung besteht und dann eine Datei anlegen. Die wiederum kannst du per LO überwachen.

Gruß
Martin
Essentials 2016 unter Windows Server 2022 auf HP Microserver Gen 8.
Entwickler von Lights-Out
Tomcat
Foren-Einsteiger
Beiträge: 4
Registriert: 12. Mai 2019, 17:54

Re: WS2019 (Essentials Role) bei LAN-Zugriff auf IOBroker per Browser aktiv halten

Beitrag von Tomcat »

Hallo Martin,
danke für die Rückmeldung und vor allem den Tipp - das funktioniert nach ein bisschen Probieren (und mit Hilfe von ChatGPT) jetzt einwandfrei.
Viele Grüße
Thomas
Benutzeravatar
Martin
Moderator
Beiträge: 9947
Registriert: 11. Sep 2007, 10:51
Wohnort: Im wilden Süden

Re: WS2019 (Essentials Role) bei LAN-Zugriff auf IOBroker per Browser aktiv halten

Beitrag von Martin »

Freut mich, danke für die Rückmeldung. Möchtest du dein Script vielleicht hier einstellen, so dass andere ggf. auch etwas davon haben?

Gruß
Martin
Essentials 2016 unter Windows Server 2022 auf HP Microserver Gen 8.
Entwickler von Lights-Out
Tomcat
Foren-Einsteiger
Beiträge: 4
Registriert: 12. Mai 2019, 17:54

Re: WS2019 (Essentials Role) bei LAN-Zugriff auf IOBroker per Browser aktiv halten

Beitrag von Tomcat »

klar, gern: mit dem Texteditor habe ich eine Batch-Datei (Endung .bat) erstellt und im IOBroker-Verzeichnis abgelegt (wo sie liegt ist aber ziemlich egal). Verknüpfung auf die Datei in den Autostart-Ordner und das war's: Im frei wählbaren Intervall (siehe timeout-Befehl - mir erscheinen 5 Minuten geeignet) prüft das Script, ob eine Verbindung auf Port 8081 hergestellt ist und erzeugt ggf. die Datei "kontrolldatei.txt". Mit der ersten Prüfung nach Beendigung der IOBroker Sitzung wird die Datei wieder gelöscht.

Auch wenn die Lösung (so weit) einwandfrei funktioniert bin ich noch nicht ganz zufrieden: mit Start der Batch-Datei geht natürlich das Eingabeaufforderungsfenster auf - schöner wär's wenn die Prüfung im Hintergrund abliefe. Evtl. geht so etwas mit vb-Script oder python und Einplanung als Aufgabe(?) - aber das wären für mich (der ich noch autoexec.bat und config.sys kenne) sicherlich einige Extra-Stunden an Arbeit, ohne dass sich am Ergebnis etwas ändern würde... Falls aber jemand aus dem Forum hier noch Ideen hat, freue ich mich auf Antwort.

Viele Grüße Thomas

Code: Alles auswählen

@echo off
:LOOP
    rem Pruefung, ob der Port 8081 verwendet wird
    netstat -ano | findstr ":8081.*HERGESTELLT" >nul
    
    if %errorlevel% equ 0 (
        rem Port 8081 ist aktiv und eine Verbindung besteht, Kontrolldatei erstellen
        echo Kontrolldatei wurde erstellt. > kontrolldatei.txt
    ) else (
        rem Port 8081 ist entweder nicht aktiv oder keine Verbindung besteht, Kontrolldatei loeschen
        if exist kontrolldatei.txt (
            del kontrolldatei.txt
        )
    )
    
    rem 5 Minuten warten
    timeout /t 300 >nul
    
goto LOOP
Antworten