Jump to content

Nach Aufnahme nur noch Abwesenheitsmodus (kein Standby)


thor.a

Recommended Posts

Wird dann nach der Aufnahme dieses Flag ES_AWAYMODE_REQUIRED durch den RS gelöscht ?

 

Ja. Nützt aber nichts, da es den Abwesenheitsmodus nicht steuert, also weder startet noch beendet. Es stellt nur ein Signal für Windows dar, bei einem bestimmten Anlass etwas bestimmtes zu tun oder besser gesagt zu unterlassen. Das ist so, als ob du ein Schild aufhängst: Bitte nicht stören. Wenn dann jemand kommt und was von dir will, sieht er das und lässt dich (hoffentlich) in Ruhe. Wenn du das Schild später wieder abhängst, heißt das aber nicht, dass derjenige daraufhin sofort in Erscheinung tritt, um sein Vorhaben nachzuholen.

Link to comment

ok, ich wollte nur wissen, ob das Flag auch wieder gelöscht wird.

 

Hintergrund:

Ich bin bisher mit der Standby-Steuerung meines Server nicht zufrieden. Irgendwie brauche ich da eine Lösung.

Deshalb habe ich es mit einem selbstgeschriebenen Script versucht und bin dann aber aufgrund meiner Unwissenheit in die "Abwesenheits-Sackgasse" gelandet. Vom Abwesenheitsmodus aus kein Standby!

In meinem Script habe ich das momentan über den "Maus-Move-Hack" gelöst. Das holt den PC aus dem Abwesenheitsmodus und ein anschließendes Standby-Kommando funktioniert dann auch.

Das funktioniert jetzt zu meinen programmierten Zeiten ab 22:30 bis ca. 1:30Uhr und der PC schaltet sich jetzt immer korrekt aus.

 

Die Anforderung:

Da der PC als Server (File + TV/Recording-Server) läuft gibt es natürlich noch andere Szenarien. Die alle selbst zu programmieren ist sehr aufwändig.

--> Deshalb suche ich ein Tool.

 

Tool1: Lights-Out

Nicht schlecht, aber Light-Out schaltet gnadenlos aus - auch wenn man am PC arbeitet (surft, oder ein Dokument schreibt). Aktiviert man die Konsolensitzung, dann muss man sich abmelden, dass der PC in den Standby geht. Deshalb scheidet dieses Tool aus.

 

Tool2: Windows Server Advanced Power Management

Auch hier gibt beim Standardfall - idle über z.B. 5 Minuten - Probleme. Sind in den Windowsenergieoptionen Standby nach 5 Minuten eingestellt fährt der Rechner oft nicht herunter. Was den Standby verhindert bleibt ein Geheimnis. Deaktiviert man den Dienst von WSAPM dann geht alles ordnungsgemäß in den Standby.

 

Tool3: Meine heutige Neuentdeckung: Smart Power

Das Grundprinzip ist mit den ersten beiden Tools vergleichbar. In der Registerkarte "Power Requests" gibt es jedoch ein vielversprechende Option den PC anzulassen, wenn eine Anwendung den AWAY-Mode braucht, dann bleibt der PC an.

Wenn das so funktioniert, dass dieser AWAY-Mode an dem Flag erkannt wird und dieses der RS setzt, dann würde das Tool einen Standby-Befehl verhindert solange der RS aufnimmt (oder über den WEBService darauf zugreift).

Wenn nun der RS das Flag ES_AWAYMODE_REQUIRED wieder löscht würde das Tool den PC nach der eingestellten Zeit in den Standby fahren.

Das habe ich bisher noch bei keinem Tool gesehen. Das würde bedeuten, dass der PC nie in den Abwesenheitsmodus kommt (sofern man nicht manuell die Standby-Taste drückt). Dieses Tool könnte dann zuverlässig alles steuern.

 

Was meint Ihr Profis dazu?

Edited by Polarfox
Link to comment

Ich habe Smart Power getestet festgestellt, dass wenn beide Optionen (SystemPower und AwayMode) in dem Register "Power request" aktiviert sind RS nach einer Aufnahme selbst auführen kann und korrekt in den Standby.

Das Tool verhindert also den AWAY-Mode, da mit den Optionen verhindert wird, dass das Tool einen Standby absetzt. Das wäre ja die erste Hürde die meistern müssen, dass der RS den PC in den Standby fahren kann.

 

Manchmal fährt aber das System bei Inaktivität aber nicht in den Standby.

In der Anleitung des Tool steht man solle mit dem Befehl "powercfg -requests" (auszuführen in CMD als Admin) die dortigen Einträge kontrollieren.

 

Dabei habe festgestellt, dass dort zum Teil der RecordingService eingetragen ist.

Haben diese Einträge etwas mit den Flags ES_AWAYMODE_REQUIRED und ES_SYSTEM_REQUIRED zu tun?

 

Anderherum gefragt:

Kann ich ein gesetztes Flag "ES_AWAYMODE_REQUIRED" mit dem Befehl "powercfg -requests" indirekt abfragen?

Edited by Polarfox
Link to comment

Kannst ja mal recherchieren wie sich das Windowssystem austricksen lässt. Es scheint keine Möglichkeit bekannt zu sein und ich habe auf die schnelle auch nichts gefunden.

 

Ich glaube Hacks wie "Mousemove" um eine Benutzeraktion vorzutäuschen werden eher nicht eingebaut. Das kann auch ungewünschte Nebeneffekte haben und würde ich an Griga's Stelle den Skripten überlassen.

 

Hi nuts,

 

ich habe jetzt ein paar Tage recherchiert und folgende Erkenntnisse gewonnen:

1) Der AWAY-Mode in lt. MS-Definition ein besonderer Energiesparzustand der jedoch noch zu S0-PowerState zählt.

2) Jeder weitere Wechsel aus einem Energiesparzustand in einen anderen Energiesparzustand kann nur über den vollen S0-State ausgeführt werden. Deshalb geht es auch nicht direkt von dem AWAY-Mode in den Standby (S3).

 

3) Um einen Energiesparzustand zu beenden gibt es sogenannte System WakeUp-Events

siehe hier: http://msdn.microsoft.com/en-us/library/aa373235%28v=vs.85%29.aspx

Hier steht drin, dass man über ein Timer-Objekt aus dem Energiesparzustand kommen kann.

Leider sind meine programmiertechnischen Kenntnisse hier am Ende, um daraus ein AutoIt-Script zu erstellen.

 

Vielleicht hilft aber diese Erkenntniss aus obigen MSDN-Link weiter.

Denn hätte der RS die Möglichkeit/Fähigkeit auch aus dem Abwesenheitsmodus in den Standby (S3) zu fahren, könnte man das PowerManagement des RS verbessern.

Mit dem Timer-Object kommt man zumindest irgendwie :D aus dem AWAY-Mode!

Edited by Polarfox
Link to comment

Für Autoit gibts es dafür Beispielskripte: http://www.autoitscript.com/forum/topic/21575-hibernate-and-wakeup-the-computer/

Habs jetzt nicht ausprobiert, aber das sieht soweit vernünftig aus.

 

Ob das für den RS brauchbar ist müsste allerdings Griga entscheiden.

Irgendwie ist das schon ein seltsamer Vorgang, wenn man gedanklich durchspielt was da pasiert.

Du kannst ja mal weiter forschen ob das per Skript weiterhilft. ;)

Link to comment

Ergänzung zum Scripttest:

Das Script funktioniert doch.

 

Das Beispielscript http://www.autoitscr...p-the-computer/ besteht aus zwei Fuktionen und zwei Zeilen Hauptprogramm.

 

Hauptprogramm (ganz unten im Script):

SetWakeUpTime(@HOUR,@min+2); wakeup the system in 2 minutes from now
SetSuspend(); go to hibernate mode

 

Wenn ich das Script ohne SetSuspend() (also, z.B. auskommentiere) ausführe und manuell in den Standby (über Tastatur) schalte, dann wird der Rechner nicht in 2 Minuten geweckt.

Irgendwie scheint der WakeupTimer dann nicht aktiv oder ungültig zu sein. Alles irgendwie ein großes Rätsel.

Link to comment

 

Der RS "triggert" nicht den Abwesenheitsmodus. Er setzt bereits beim Start der Aufnahme prophylaktisch ein Flag, das Windows veranlasst, "Energie sparen" durch den Anwender oder ein anderes Programm in den Abwesenheitsmodus umzubiegen.

 

Danke für die Erläuterung. Nur noch mal ein paar Verständnisfragen:

 

Was ist in den Fällen, wo der Rechner sich unbeaufsichtigt bei einer Aufnahme einschaltet, und sich danach auch wieder (erfolgreich) abschaltet? Hier wird offenbar nicht der Abwesenheitsmodus gesetzt, da der Standby nach der Aufnahme ja gelingt. Nach Deiner Erklärung wird nur ES_SYSTEM_REQUIRED gesetzt. Richtig?

 

Wenn ich während einer solchen Aufnahme den Laptop hochklappe und das Ende der Aufnahme nicht abwarte, sondern wieder herunterklappe, bleibt der Rechner angeschaltet. Wird in einem solchen Fall dann das Flag für den Abwesenheitsmodus gesetzt, damit der Rechner sich beim Herunterklappen nicht ausschaltet? (Im Gegensatz zum obigen Fall?). In diesem Fall klappt der spätere Standby dann nicht.

 

Der dritte Fall ist, dass sich die Aufnahme beendet, während ich noch am Laptop arbeite. Hier scheint der Abwesenheitsmodus ebenfalls nicht aktiv gesetzt worden zu sein, da die RS nach der kleinen Vorwarnung (ohne Eingreifen) den Rechner ausschalten wird.

 

Ich habe jetzt übrigens den üblichen Energie-idle-Timer auf dem Laptop, der vorher auf "niemals abschalten" stand, auf Standby nach 3 Stunden idle gesetzt. Und letztens hatte ich das Gefühl, dass es erstmalig geklappt hat, dass sich der Rechner trotz protokolliertem Abwesenheitsmodus nach der Aufnahme ausgeschaltet hat. Und zwar nicht nach den 3 Stunden, sondern sofort nach der Aufnahme. Mal sehen, ob dieser Effekt reproduziertbar ist und ich es mir nicht nur eingebildet habe...

 

Thorsten

Link to comment
Nach Deiner Erklärung wird nur ES_SYSTEM_REQUIRED gesetzt. Richtig?

 

Nein. Während einer Aufnahme wird auf jeden Fall ES_AWAYMODE_REQUIRED gesetzt. Aber solange nicht derweilen irgendein Dösbattel :) einherkommt und versucht, den PC in "Energie sparen" herunterzufahren, bleibt das wirkungslos. Für den Abwesenheitsmodus müssen zwei Sachen zusammenkommen: Flag ist gesetzt und Anwender/Software will Energie sparen.

Link to comment

Danke, alles klar. Ich werde also bei Aufnahmen, die im Hintergrund laufen, nicht mehr den Laptop zuklappen. Dann ist ja alles bestens. Vielleicht sollte dieser Tipp, dass man während einer Aufnahme möglichst nicht den Rechner versuchen sollte, in den Standby zu setzen, mal ins Wiki aufgenommen werden, da diese ganze Problematik für nicht Eingeweihte reichlich undurchsichtig ist. Es ist vmtl. für die meisten Nutzer unklar, dass ein echter Standby dann für den RS nicht mehr möglich ist.

Link to comment

Den "USER" kriegt man noch leicht in den Griff, wenn man weiss, dass man nicht auf die Standby-Taste drücken soll das Notebook nicht zuklappen soll.

 

Viel gemeiner sind da die Standbys, die von einer Software ausgelöst werden. So bin ich ja auch in die AWAY-Mode-Einbahnstraße gelandet. Mein selbst geschriebenes Script hat ab 22:30Uhr alle 30 min einen Standby-Befehl abgesetzt.

Ich dachte, es kann ja nicht viel passieren, da der RS über das Flag Windows veranlasst den Standby quasi abzufangen. Gemein ist eben nur, dass dann selbst ein Standby vom RS den PC nicht herunterfahren kann, wenn vorher eine Aufnahme lief und bereits einmal ein Standby-Befehl abgefangen wurde. Dann sind wir eben in dieser "AWAY-Mode-Falle".

Leider gibt es auch keine Möglichkeit (zumindest habe ich keine - auch nach langen Recherchesitzungen im Internet (MSDN-Developer, ...) - gefunden aus diesem AWAY-Mode per Software zu kommen.

 

Da hilft nur eines. Kein Standby-Befehl solange eine Aufnahme läuft. Kein User und keine Software darf einen Standby auslösen.

 

Ich habe deshalb nach einer Software gesucht und etwas gefunden:

Smart-Power übernimmt die Standby-Steuerung (also S3, aber auch S4 oder Power-Off).

Man kann den PC automatisch nach x Minuten in den Standby fahren lassen. Das kann auch die Windowsenergieoption - allerdings ohne weitere Überwachungsmöglichkeit, die einen Standby dann verhindern.

Bei SmartPower können nun Ereignisse definiert werden, die einen Standby verhindern.

Dazu gehören z.B. Benutzeraktivität (also wenn jemand am PC arbeitet) oder wenn ein PC im Netzwerk an ist.

Es kann aber auch ein Standby - und das ist einzigartig (zumindest kenne ich keine andere Software) - verhindert werden, wenn das AWAY-Flag gesetzt ist. Außerdem gibt noch ein Power Request "SystemPower" (auch eine Art Flag, das anzeigt, dass das System benötigt wird (z.B. bei langen Windowskopieraktionen ohne Benutzeraktion), das ebenfalls einen Standby verhindert.

Durch die Möglichkeit mit dem AWAY-Flag den Standby-Befehl zu kontrollieren arbeitet es bei mir seit ca. 14 Tagen hervorragend mit dem RS zusammen. Dabei kann ich auch noch den Standby nach Aufnahem vom RS nutzen. Ich komme also nie mehr in den AWAY-Modus (außer ich drücke während einer Aufnahme auf die Standby-Taste (oh noo!...). Und das ganze ist auch noch kostenlos ...

Edited by Polarfox
Link to comment

IMO ist der Abwesenheitsmodus keine besonders glückliche Erfindung von MIcrosoft.

 

Wenn man unter XP in Standby runterfahren wollte, und ein Programm, das gerade aufnahm oder eine CD brannte, sagte "Nö", dann passierte einfach nichts. Auch nicht so toll, aber danach waren für das Programm noch alle Optionen offen. Es konnte später problemlos Standby nachholen.

 

Ab Vista hatte es MS dann mit der "User Experience". Plötzlich erschien es untragbar, dass der User etwas macht, aber der PC reagiert einfach nicht. Also wurde mit dem Abwesenheitsmodus eine Art Kompromiss eingeführt: Bildschirm geht aus, Ton ist weg, User sieht eine Reaktion und ist happy, Programm nimmt trotzdem weiter auf. Soweit, so gut. Leider ist der Modus aber aus Software-Sicht eine Sackgasse, aus der ein Programm von sich aus nicht mehr herauskommt. Und da liegt der Design-Fehler.

Link to comment

... Leider ist der Modus aber aus Software-Sicht eine Sackgasse, aus der ein Programm von sich aus nicht mehr herauskommt. Und da liegt der Design-Fehler.

 

Sehe ich genauso. Es gibt nämlich keine Möglichkeit mit irgendeiner Windows-Funktion den AWAY-Modus zu händeln ... Man kann den AWAY-Modus nicht einmal abfragen oder verlassen (programmtechnisch!). Das ist wirklich ein fetter Designfehler.

Edited by Polarfox
Link to comment
  • 4 months later...
×
×
  • Create New...