WinRemote Plugin
This is a plugin for Indigodomo that aims to create any Windows Computer as a IndigoDomo device. This is a plugin for those users that a have a few/more Windows operating systems running somewhere, it brings them into the Indigo server fold.
To do this we need two way communication back and forward to indigo.
This is achieved through running a simple server with this plugin on Indigo and a separate windows tray application to periodically communicate back to the Indigo Server.
eg. (Yah! a Indigo Icon in Windows 10)
(other Windows methods such as WMI communication etc.etc. were trialled but were very difficult to set up in my one case let alone others and I abandoned this approach)
The two apps - One Indigo Server, One Windows Computer - IndigoPlugin Communicator - communicate through a single port
This Defaults to port 9123.
Why bother? Some reasons:
* Probably most basically - can turn on/turn off windows PCs easily within Indigo/HomeBridge/Alexa
* Can Message Windows PC on events as required
* Can check running Foreground application and trigger timers on these events -eg. to much minecraft, not enough maths-online
* Can check CPU usage/Memory Free and can trigger if issues
Setup
To setup install the WinRemote IndigoPlugin on your Indigo Server. Select the port to use/defaults to port 9123.
Or leave it at the default.
For the plugin to work - the Windows Application needs to be able to 'talk' to the Indigo Server on this port.
Both Indigo Mac and the Windows Computer must allow communication or traffic through firewall on this port.
Open up Firewalls to either this port or this app to allow this.
Once the WinRemote plugin is installed on the Mac. Enable it if not enabled.
Ideally create a Devices Directory in Indigo Server Called "Windows Computers"
When new Windows Computer devices are created they will be placed here.
Once created, they can be moved/renamed etc as needed and will not be recreated unless deleted.
The devices are only created either at startup of the IndigoPlugin Communicator app, or when the connect button is pressed. So if you need to recreate a Indigo Device just re-press connect on the Communicator app.
On Windows Computer
Run Installer for your version of Windows (32bit or 64bit). If not sure just use 32bit - not sure there is any practical difference.
The Installer also should create a startup entry so app will run on Startup/log in of that user.
Next run the IndigoPlugin Communicator app.
This application requires .Net 4.6 installed to run.
(standard on Windows 10, separate install on some Windows
If needed it will prompt for download, download, install and run again. (doesn't need restart)
As the Application is not set up will need a few settings need to be entered.
Application should open a window for you to enter you Indigo Server details IP address, and the Port you have set within the Indigo Mac WinRemote Plugin (defaults to 9123)
eg.
IndigoServer IP - 192.168.1.6 -- Enter your indigoserver IP address
Port - Defaults to 9123 - set with Indigo WinRemote Plugin
e.g if as above Should Enter 192.168.1.6:9123
Once entered press the Connect Button.
(if your Ip is entered correctly and no firewall or port issues should see this)
This should connect to running WinRemote Indigo Plugin on Indigo Server
(If any error messages will display below - most likely are failure to connect because of incorrect IP/Ports or firewall based settings.)
Once connected, choose Debug Log options and click Save
(this will be the last time you see this window)
Double click the taskbar icon to make disappear/reappear
Now you should see a little indigo icon in the Windows Taskbar.
See here:
Hover mouse over and you will see connected and the time of last communication.
eg
You then just repeat this process, with same IP/port for every Windows computer you want to communicate with.
Back to Indigo Mac Server
Now on the Mac server within the 'Windows Computers' folder or the main device folder you should see a new 'Windows Computer' Device.
This has the following states
* CPU - Current cpu usage
* ForegroundApp - the Current Application that has focus/is in the Foreground
* MemFree - Memory free
* deviceIsOnline - true/false
* Hostname - Name of the Computer
* IP Address - Current IP Address of the computer
* MACaddress - the MAC address of the Network device communicating with the IndigoServer
* pendingCommands - list of current pending commands (only one at once is supported)
* idleTime - time the computer has not had any user keyboard/mouse interaction in Minutes
* upTime - time the System has been 'Up' for
(some of these settings take a few minutes to be calculated, pulled, particularly the MAC address)
Actions
You will notice there is also a Turn On/Turn Off button control for this new Windows Computer.
This is also duplicated in a Action Group for Turn-On/Turn-Off
This will Turn-Off the selected computer within 10seconds with a 10 second warning.
Turn-On uses the MacAddress to send a Wake-On-Lan signal to that computer.
(The computer must be able to response to WOL signals which require sometimes BIOS settings/Windows Network Settings changes)
Other Actions include
Send Message - this will pop up and Send Message to the selected Computer(s)
e.g Windows 8 (Windows 10 is more impressive in my mind)
&
Windows 10
The message and the commands (with exception of Turn-On) will be sent at the next communication (every 60 seconds)
Lock Workstation - returns Windows PC to locked screen (leaves user logged in though)
Beta up Here:
https://github.com/Ghawken/IndigoPlugin ... e/releases