WinSleep Monitor - Frequently Asked Questions
	- Updated May 23, 2023 for Version 1.2.10.0.

What will WinSleep Monitor do for me?

	- Shows WinSleep programs running on any number of remote computers, including timeline graphs and sleep journals.
	- Connects to WinSleep clients by IP address or by computer name.
	- Connection is secure: WinSleep authorizes the attempted connection by monitor IP address, monitor computer name, or by password.
	- WinSleep can accept requests from any number of Monitors.
	- Sleep/Hibernate/Wake any WinSleep client remotely.
	- Use Stay Awake/Resume Schedules remotely.
	- Edit Sleep/Wake Schedules remotely.
	- Note: You must use WinSleep version 1.4.5.0 or greater to use the current version of the Monitor.  (You will be unable to edit schedules for prior versions of WinSleep.)

How much does WinSleep Monitor cost?
	- WinSleep Monitor is a free program.

What operating systems will run WinSleep Monitor?
	- WinSleep Monitor runs on Windows 7, Windows 8.1 or Windows 10.
	- WinSleep Monitor requires the .NET Framework version 4.6.1 to run.  This should normally already be present; if the WinSleep installation process detects it is not installed, go to https://www.microsoft.com/en-us/download/details.aspx?id=49982 and install it.

How do I install WinSleep Monitor?
	- Go to www.molliesoft.com/WinSleepMonitor to download the install package.  You will need administrator privileges on your machine to perform the install.

How do I run WinSleep Monitor?
	- The install process will place a shortcut to WinSleep Monitor on your desktop.

Does WinSleep Monitor work with ALL versions of WinSleep?
	- No.  WinSleep Monitor will only connect to WinSleep version 1.4.5.0 (or greater).

How can I learn more about how WinSleep Monitor works?
	- This FAQ is the main source of information about WinSleep Monitor.
	- While running WinSleep Monitor, built-in help is available for the Sleep Journal, Sleep Schedules, and Wake Schedules windows.  Each of these has a "Show Help" checkbox in the top row of controls; turn this option on to see a help panel customized to each of these windows.

Monitor Connections

How do I connect to a client WinSleep running on a different computer?
	- WinSleep Monitor version 1.2.5.0 (or greater) works only with client WinSleep version 1.4.5.0 (or greater).  If the client WinSleep has a smaller version number, WinSleep Monitor will be unable to connect to it or to edit schedules; just upgrade the client WinSleep to the current version (available at http://www.molliesoft.com/WinSleep) and the Monitor connection will then work properly.  This upgrade will not affect your WinSleep license in any way.
	- Use the Add button on the main WinSleep Monitor window to add a client WinSleep.  You can add a client by entering its IP address; this can be an internal IP address within your router (e.g. 192.168.x.y) or can be an external IP address if the Monitor computer is not within the same router as the client WinSleep.  If using an internal IP address, you should provide the client computer with a static IP address in your router
	- To add a client, you will need to know the port number on which the client WinSleep is listening. This can be any port between 50000 and 60000.  See the section below on how to configure the WinSleep client to accept a Monitor connection.
	- If both the Monitor and Client are within the same router, you can use the Windows computer name to add the WinSleep client.  Be aware that resolution of Windows computer names is sometimes delayed, so that the Monitor may not be able to poll this Client until the client name has been resolved by Windows to an actual (internal) IP address.  The most reliable option is to add the Client by IP address, if you are able to provide the Client with a static IP address in your router.  Otherwise, if the IP address of the WinSleep Client changes when the router is reset, the Monitor will no longer be able to poll that Client.
	- When you add a client to the Monitor, you can specify whether the Client is Enabled or Disabled.  Enabled means the client will be polled; disabled means it will not be polled.  If enabled, the poll frequency (hours:minutes:seconds) controls how often automatic polling will occur for this client.
	- When you add/edit a client, you can specify a Display Name to identify this Client within the Monitor.  The Display Name can be anything you wish that will allow you to remember which computer it refers to.
	- When you add/edit a client, you can specify a password that will be used to authorize the Monitor connection.  If used, this must match the password specified within the client WinSleep, or the connection will fail.

How do I configure the network router (to which a client WinSleep is connected) so that a Monitor can connect to it externally (from outside my router)?
	- In your router configuration, give the client WinSleep computer a static IP address (i.e. one that will not change when the router is rebooted).  Typically this would be under the "LAN Setup" section in the router, and static IP addresses are configured in an "Address Reservation" table in the router.
	- Configure port forwarding in your router so that a TCP request on e.g. port 57170 (you can use any port between 50000 and 60000) will be forwarded to the client WinSleep computer (which must listen on this port for Monitor requests).
	- Now Monitor requests directed to the external IP address of your router, for port 57170, will automatically be redirected to port 57170 of the WinSleep client computer, and responses from this WinSleep client will be received by the Monitor.
	- If you have more than one computer running WinSleep, simply assign a different port to each, and configure your router to forward each port to the appropriate WinSleep computer.  Now an external Monitor will be able to connect to each WinSleep using the single external IP address, but on different ports.

How do I configure a client WinSleep to accept (authorize) a Monitor connection?
	- Open the Monitor Settings dialog in the client WinSleep using the Monitor button on the main WinSleep window.  Note the green Apply button at the top right; if you change monitor settings you must press Apply in order for your changes to take effect.
	- In order for a monitor to connect to this WinSleep, you must check the box "Listen for monitors", and specify a numeric port between 50000 and 60000 (57170 is the default).
	- Once WinSleep is listening for monitors on a given port, monitor requests must be authorized by some means in order for a response to be sent back.  There are several ways that WinSleep can authorize a monitor connection:
	- You can check the box "Authorize all monitors", which will allow all monitor connections.  This is the least secure authorization option and is not recommended.
	- You can authorize by password: enter a non-blank password in the text box.  Now any monitor request that specifies this same password will succeed.
	- You can authorize a Monitor by its IP address.  Add the IP address of the Monitor to the "Authorized Monitors - IP Addresses" table using the Add button.  If you specify a Mask here, all IP addresses that satisfy this mask will succeed.  If there is no Mask (or the Mask is 255.255.255.255) only the single IP address you specify will be authorized.  For example, if you enter an IP address of 192.168.0.0 with a Mask of 255.255.0.0, any IP address starting with 192.168 will be authorized.  This is a convenient way of authorizing all Monitor computers within your router.
	- You can authorize a Monitor by its computer name, if the Monitor is on the same router as the WinSleep client (i.e. within the Windows Network Neighborhood).  The Add button to the right of the "Authorized Monitors - Computer Names" table will show a list of computers in the Network Neighborhood, and you can select the authorized monitor computer.  (Be aware there may be a delay of some minutes before this list is populated.)  This is not recommended - you will encounter fewer connection problems if you instead assign a static IP address to the Monitor computer in your router, and authorize the monitor by its IP address.
	- A convenient way of authorizing a Monitor either by IP or computer name is to set up the Monitor to poll the WinSleep Client, then open the Monitor Settings dialog of the client WinSleep.  When the client receives a Monitor request from an unauthorized computer, this will be shown at the bottom of the Monitor Settings dialog; at that time buttons will appear that allow you to easily accept the Monitor connection either by its IP address or by its computer name.
	- You can authorize any number of Monitors for a given WinSleep.

How can I tell which monitors are accessing WinSleep?
	- Any Monitor request, whether authorized or not, will be logged in the WinSleep history log if you have checked "Log history" at the bottom of the Monitor settings dialog.  You can then review the WinSleep history log to see all monitor requests, whether they succeed or fail.
	- If the Monitor settings dialog is open, authorized monitor requests will be reported at the bottom of this dialog; this will include the identity of the Monitor computer, when the request was received, and how the request was authorized.
	- If the Monitor settings dialog is open, unauthorized monitor requests will be reported at the bottom of the Monitor Settings area  in red, along with green buttons that allow you to authorize the request (by name or IP) if you wish.  This is a convenient way of authorizing a monitor by IP or name.

What if I have installed WinSleep Monitor on a laptop that I take with me on trips?  This laptop will not have a fixed IP address!
	- If the WinSleep Monitor does not have a fixed IP address, the only option is to use authorization by password in the client WinSleep; then the IP address of the monitor will be irrelevant.

What happens if the Monitor computer uses a time zone different from the time zone of the WinSleep Client computer?
	- When the Monitor and Client time zones differ, the Client timeline graph and sleep journal use Client-local times.  The WinSleep Monitor timeline graph of the Client will appear the same as the actual WinSleep timeline graph; the Client sleep journal and all other Client windows also use Client-local times.  Any timezone discrepancy will be shown in a small yellow panel at the bottom right of the WinSleep Monitor timeline graph. 

Is the connection to a client WinSleep secure?
	- Only an authorized WinSleep monitor can connect to a client.
	- Data transferred between the client and monitor is encrypted.

How do I configure WinSleep Monitor to sleep/hibernate a client remotely?
	- On the client WinSleep side, no special configuration is required other than authorizing the monitor sending the command.

Can I change the sleep or wake schedules of a remote client?
	- Yes.  This is a new feature introduced with WinSleep Monitor version 1.2.5.0.
	- You can edit/add/remove sleep or wake schedules for a remote client using the remote Sleep Schedules and Wake Schedules views.  The controls are very similar to the corresponding views on a local WinSleep.
	- Just make any changes you wish in the remote Schedules view; when the schedules are modified in the monitor Schedules view, the Apply button in the lower right corner of the view will turn green.  Press the green Apply button to send your schedule changes to the client WinSleep.

What limitations apply when editing a sleep or wake schedule of a remote client?
	- It is NOT guaranteed that the remote edits will succeed.  Most of the time, if no one is changing schedules at the same time on the remote client machine, your changes will be accepted.
	- After you apply changes, it may take 10 seconds or so for the changes to be accepted or rejected by the client.  The status line at the bottom of the Monitor Schedules view will then show "Accepted" or "Rejected".
	- Changes might be rejected by the client if there have been intervening changes to the client, so that the Monitor Schedules state does not match that of the client.  This could happen if the client WinSleep user modified a schedule between the last poll and the Monitor's attempt to apply changes.  This rule prevents the Monitor from inadvertently overwriting changes made by the user on the client side.
	- If you are editing a Sleep or Wake Schedule remotely, but have not yet applied your changes, and a poll response is received from the client that indicates the Sleep or Wake Schedules have been changed by the user on the client WinSleep, your changes on the remote Monitor will be discarded.
	- When editing a Wake Schedule, you cannot change the target program or arguments of an attached task (to be run at wake).  Since you are not physically present at the client WinSleep computer, you cannot select a target program from the local file system.

Can I make a client stay awake remotely?
	- Yes.  Use the Monitor Stay Awake and Resume Schedules buttons in the same way as you use these buttons on the client WinSleep.
	- On the Monitor side, the Stay Awake and Resume Schedules buttons will reflect the current Stay Awake state of the client, and the associated countdown (to when schedules will resume) will reflect the client countdown setting.  These controls are updated only when the client is polled.

How do I configure WinSleep Monitor to wake a client remotely?
	- The client WinSleep is not involved, since it is asleep!
	- The Monitor specifies a UDP port for Wake-on-LAN when adding or editing a client.  This defaults to port 9, but any port between 1 and 65535 can be used.
	- To send the Wake-on-LAN "magic packet" to the client computer, WinSleep Monitor must have at least one successful poll of the client, to establish its IP and MAC addresses (the MAC address is part of the "magic packet").
	- The client computer must be configured to allow Wake-on-LAN.  A good reference for this is http://www.howtogeek.com/192642/how-to-remotely-turn-on-your-pc-over-the-internet/, but there are many other sources on the internet explaining Wake-on-LAN.
	- The requirements for the client to allow Wake-on-LAN are:
•	The client must use a wired connection to its router.  Wireless connections will NOT work, since this would require the client wireless transceiver to be always on and wasting energy in sleep mode.
•	The LAN card for the client must support Wake-on-LAN.  The small indicator light where the LAN cable is plugged into the card should remain on when the computer is asleep.  Most laptops do not support this.
•	The LAN card must be configured in the client Windows device manager to listen for magic packets while asleep.  This is usually a property under "Advanced", called "Wake on magic packet"; enable it.
•	The BIOS of the client must allow Wake-on-LAN.  This is typically a property under "Advanced", called "Wake on LAN"; enable it.
•	For Windows 8, you may have to turn off "Fast Startup".
	- If you want to wake up a client computer from a WinSleep running outside the client's router, the router must forward UDP packets for the Wake-on-LAN port used by WinSleep Monitor to the client machine.  This is typically under the area "Port Forwarding" in the router configuration screens.  The default Wake-on-LAN port used by Monitor is 9, but you can use any port between 1 and 65535.  If you have several machines running WinSleep, all sharing the same router (and thus the same external IP address), you can distinguish them by using a different Wake-on-LAN port for each and forwarding them to the respective machines.
	- You can use the same port for both WinSleep Monitor and for Wake-on-LAN.  Just specify the monitor port as the Wake-on-LAN port (e.g. use 57170 for both).  This may reduce the amount of router configuration required.
	- Separate machines within the same router must use separate router ports for external access, since they have the same external IP address.

WinSleep Monitor Main Window

How do I create and manage the list of WinSleep clients?
	- The Monitor Main Window lets you add a client (by IP or hostname), remove a client, edit a client, or change the position of a client in the list.
	- You cannot edit (change) the IP or computer name of a client once you have added it; you will have to remove the client and add another with the correct IP or name.
	- When you add or edit a client, you can specify:
•	Whether the client is enabled (if disabled, it will not be polled).  You can also enable or disable the client using the check box in the clients list directly.
•	Which port the client listens on.  This must agree with the port specified in the Monitor Settings dialog of the WinSleep client.
•	The password used by the client, if you wish the monitor requests to be authorized by password.
•	The poll frequency the monitor will use.  This is the time period in hours:minutes:seconds between automatic monitor-initiated polls for this client.  When adding a client, this defaults to 5 minutes between polls.
	- Use the Poll Now button to immediately poll the current client (shown with a highlight in the list, and as the "Current client" above the list.)

How can I see when a WinSleep client was last polled?
	- The client line in the Monitor main window is green when a poll is successful, and tan when it is unsuccessful.  If the client is disabled, the line is gray.  The last poll time is shown, along with bytes sent/received.
	- This client line is also duplicated at the top of the client's Timeline Graph window for convenience.
	- If you have turned on "Log history" in the WinSleep client Monitor Settings dialog, you will see a record of monitor polls in the WinSleep history log.

Where is the History Log information saved?
	- History log information is saved in the directory %localappdata%\WinSleepMonitor\Logs.  A new history log file is created every time WinSleep Monitor starts.  The files are named WinSleepMonitorLog.YYYYMMDD_HHMMSS.log; the date/time information in the name is the time the log file is created.

WinSleep Client Views

How do I open a client view?
- The main client view is the Timeline Graph.  To open it, double-click a row in the WinSleep Clients list, or press the green View button above the clients list.  You can also use the Timeline Graph button at the top of the Monitor main window to see a drop-down menu of all open client views.
- The Timeline Graph is used to navigate to all other views for this client.  Use the Sleep Journal, Sleep Schedules, or Wake Schedules button above the graph to open the corresponding client view.  When the Timeline Graph window is closed, all other open views associated with that client will also be closed.

Does a client view update automatically?
- Yes.  Any open client view will be updated when a valid poll response for that client is received.
	- Most client views have a Poll Now button you can use to immediately refresh the window.

Can WinSleep Monitor show me information for a sleeping/hibernating WinSleep client?
- Yes.  The data required to show the timeline graph, sleep journal, etc. for a client is downloaded with each poll and is maintained on the WinSleep Monitor computer.  This "snapshot" is then used to show you the last known state of the client WinSleep computer.

How can I see the current polling status for a client?
- The timeline graph and sleep journal show current poll requests and responses in the green "client status" line at the top of the view.  This also shows the IP, Port, and Poll Frequency for the client, as well as whether polling for the client is currently enabled.  Uncheck the Enabled box to stop automatic polling of the client if desired.  The client status lines also show when polls are sent and received, and the number of bytes sent/received for each poll.

How do I tell a WinSleep client to sleep, hibernate, or wake remotely?
- The Sleep/Hibernate/Wake buttons above the timeline graph send the corresponding commands; WinSleep version 1.4.2.0 or greater is required in order for WinSleep to recognize and act on these commands.
- If a Sleep/Hibernate command is successful, the next client poll will fail, since the client is now asleep!
- If a Wake command is successful, the next client poll will succeed, since the client is now awake.

How does WinSleep Monitor manage the open client views?
- Insofar as possible, the timeline graph and sleep journal work just the same as in an actual WinSleep, including the ability to double-click a timeline bar and see the corresponding sleep journal entry, and double-click a sleep journal entry to see the corresponding timeline bar.
- The Monitor button at the top-right of each client view allows you to navigate quickly back to the main Monitor window.
- All client views "belong" to the timeline graph view.  If you close the client's timeline graph, all other open views for this client are closed as well.
- WinSleep Monitor will remember which views were open at the time the Monitor was last closed.  When the Monitor is restarted, it will automatically re-open these views for you.
- All client views are "live" by default, and will automatically update when the client is polled.  Just as in an actual WinSleep, you can uncheck the Live checkbox above the timeline graph and change the calendar date to examine prior sleep/wake periods.  Graph Settings and Zoom also work just as in WinSleep.  See the WinSleep FAQ for more information.

WinSleep Client Data

How does WinSleep Monitor manage the data for each client?
	- The current data files for each client are returned with every valid poll response, and saved on the Monitor computer.  When the Monitor starts, the first poll for each client returns the full set of client data files; on subsequent polls, only the new client data is returned (to reduce the amount of data transferred).

Where do I send comments or suggestions about WinSleep Monitor?
	- Email comments or suggestions to:
		support@molliesoft.com
	 or to
		molliesoft@comcast.net