Home is a .NET-project/environment
where you can monitor all your devices (Windows, Linux and Android are supported). Every device
will be setuped with the appropriate ACK
-service (this service also starts on startup) which will send ACK
-requests continously (every minute) to Home.API
.
To get this working you need to setup Home.API
as a self-hosted API on your local server/or in the internet (not recommended)
- Desktop PC
- Notebooks
- Single Board Computers (e.g. Raspberry PI)
- Smartphones
- Android TVs/Android PCs (Set-Top-Box)
- Android TV Sticks
OS | Supported? | Service | .NET | Information |
---|---|---|---|---|
Windows 9x | ❌ | - | .NET Framework 2.0 |
- |
Windows XP | ✔️ | Home.Service.Legacy |
.NET Framework 4.0 |
No remote file access! |
Windows VISTA | ✔️ | Home.Service.Legacy |
.NET Framework 4.0 |
No remote file access! |
Windows 7 SP1 | ✔️ | Home.Service.Windows |
.NET Desktop/ASP.NET Core 8.0.x |
#LEGACY Compiler-Flag (using WebClient instead of HttpClient) |
Windows 8, 8.1, 10/11 | ✔️ | Home.Service.Windows |
.NET Desktop/ASP.NET Core 8.0.x |
- |
Rasbpian | ✔️ | Home.Service.Linux |
.NET Desktop/ASP.NET Core 8.0.x |
- |
Debian | ✔️ | Home.Service.Linux |
.NET Desktop/ASP.NET Core 8.0.x |
- |
Ubuntu (>= 18.04) | ✔️ | Home.Service.Linux |
.NET Desktop/ASP.NET Core 8.0.x |
- |
Android 7.0-12.0 | ✔️ | Home.Service.Android |
Xamarin.Android |
No remote file access and NoGL-Version available! |
ASP.NET Core 8.0.x
is required for remote file access API!
Feature | Windows (legacy) | Windows | Linux | Android |
---|---|---|---|---|
Remote File Access | ❌ | ✔️ (1) | ✔️ (1) | ❌ |
Screenshots | ✔️ | ✔️ | ✔️ (2) | ❌ |
Screenshots per Screen | ❌ | ✔️ | ❌ | ❌ |
Hardware Info | ✔️ | ✔️ | ✔️ (2) | ✔️ |
Performance Counters | ✔️ | ✔️ | ✔️ | Only RAM |
Battery Info | ✔️ | ✔️ | ✔️ | ✔️ |
Shutdown/Restart Commands | ✔️ | ✔️ | ✔️ | ❌ |
Message/Execute Command | ✔️ | ✔️ | ✔️ | ❌ |
Remote Shell | Not implemented | Not implemented | Not implemented | ❌ |
Auotmatic Client Updates | ❌ | ✔️ | ✔️ (4) | ❌ |
Wake On LAN (WOL) (3) | ✔️ | ✔️ | ✔️ | ❌ |
(1) Each ack service has an integrated ASP.NET Core
-Service which is hosted within the service itself (for Windows you need to permit firewall permissons!). It is hosted on http://0.0.0.0:5556 to make it accessible via network (the port can be changed: Home.Data.Consts.API_PORT
). This is used for remote file access!
(2) For Home.Service.Linux
some additional tools are required to successfully gather all information and there may be some additional steps required to make screenshots working on Ubuntu > 21.04 (due to Wayland securitiy restrictions).
(3) For Wake On LAN
your device must support this feature and must be configured properply. In the wiki there is a description/tutorial how you can setup WOL for your device!
(4) To ensure that automatic client updates for Linux
works correctly you need to setup the service as described in the wiki for Home.Service.Linux
. If an update is executes the application exists and the service has set a restart timer of 10 seconds
, so without the service the application would not start again!
- Access hardware info (cpu, ram, graphics, performance)
- Access device info (startup-time, online-time (how long), oem info (if available))
- A WebHook for events
- StorageWarning and BatteryWarning
- Hardware changes (e.g.
Device "SRV03" detected CPU change. CPU AMD Athlon(tm) II X3 425 Processor got replaced with AMD Athlon(tm) II X3 450 Processor)
- When a device goes online/offline (only if your device is classified as a server!)
- Get storage infos of each disk (also on Linux and Android!)
- Create and export a
HTML
-report of each device (See example here) - Low storage warning (<= 10% left) per disk
- Low battery warning (<= 10% left)
- Device Log for each device
- Device can have a location and a group (the location is used to group them in the overview by location)
- WOL (Wake On Lan Support), you can boot device in the app
- Device Scheduling Rules: You can schedule device rules
- Specify a time for a boot/shutdown rule
- Using a custom mac address (e.g. if system doesn't detects it correctly, or if its from the wrong device)
- Specify an action (WOL, external API call, exceuting a command etc.)
- Check out the wiki (https://github.com/andyld97/Home/wiki/Wake-On-LAN---Device-Scheduling) for more information
- Can be used to monitor linux servers (
Home.Service.Linux
is implemented asCLI
) - A screenshot will be aquired (if supported) if no screenshot is available or if the last screenshot is older than 12h (old screenshots will be removed by the
HealthCheck-Timer
) - Home has a
WPF-Client
for displaying all devices- View all info per device
- View device log
- View device activity (in a graph)
- View the last screenshot (zoom, save, refresh)
- View all disks (including name, volumes, free space, total space etc.)
- Access device files (if supported by device): If you double click on a disk you will get a little explorer where you can navigate through all folders. There is also a preview for files and you can also download files and download folders as ZIP. WIP: Upload files (is currently not implemented)
- You can shutown/restart/execute a command/send a message to the device
- You can delete devices (if they were wrongly assigned)
- It provides a network/device overview of all your devices
- Tooltip on a device shows the screenshot
- You can tick "Show screenshots", then you will become an overview of all devices but only with screenshots!
- View all info per device
All information about the setup are described in the Wiki (see here: https://github.com/andyld97/Home/wiki)
To build this solution you need to have VS 2019
installed. Once it is installed and builded you can continue using VS 2022
. This is related to the fact, that VS 2022
doesn't supports .NET 4.0
and older, but obviously for older Windows versions (legacy) it is required to use .NET Framework 4.0
or even .NET Framework 2.0
.