HomeGenie
HomeGenie copied to clipboard
HomeGenie, the programmable automation intelligence
HomeGenie
Embeddable, Smart Home server for Windows, Mac and Linux.
- Integrated drivers for X10, Z-Wave and ZigBee* (*coming soon), GPIO, SPI, I2C
- Works 100% off-line without relaying on any external cloud service
- Powerful scripting engine with fluent API supporting
csharpandjavascript - Powerful scheduler supporting extended cron expressions (with variables, conditions and logical operators)
- Voice and text message based control
- Localization
- Dashboards, groups, configuration backup, packages repository and much more!
Documentation
https://genielabs.github.io/HomeGenie
Precompiled packages and install instructions
Windows, Mac, Linux
https://genielabs.github.io/HomeGenie/download.html
Development
Contributing
Read the CONTRIBUTING.md file for information about contributing to this repository.
Repository structure
The main solution file is HomeGenie.sln that is located in the repository root.
assets/buildcommon (all) and OS specific static files that are copied after the build processassets/build/all/appThis folder contains the new HomeGenie user interface (YOT) implemented as a Angular 11 PWA (currently in very early development stage).assets/deployOS specific files required for bundling and deploying the app redistributablesrc/HomeGeniemain application project files implemented as netcore appsrc/HomeGenie.Net461.net 4.6.1 project files sharing the same source code base fromsrc/HomeGeniesrc/HomeGenie.Testsproject implementing Unit Testssrc/SupportLibrariessupport and utility libraries used by HomeGeniesrc/WindowsServiceWindows specific solution for deploying HomeGenie as a Windows service
Building from command line
In order to build HomeGenie msbuild version >= 15 is required.
From the repository root folder enter the command
msbuild /p:Configuration=Debug HomeGenie.sln
This will generate both the netcore and the net461 version of HomeGenie app.
netcore ->
src/HomeGenie/bin/Degbu/netcore3.1
net461 -> src/HomeGenie.Net461/bin/Debug
Running
netcore
cd src/HomeGenie/bin/Debug/netcore3.1
./HomeGenie # (or 'dotnet HomeGenie.dll')
net461
cd src/HomeGenie.Net461/bin/Debug
./HomeGenie.exe # (or 'mono HomeGene.exe')
Integrated Development Environment
JetBrains Rider is the official IDE employed for developing this project.
Related projects
- https://github.com/genielabs/homegenie-packages
- https://github.com/genielabs/mig-service-dotnet
- https://play.google.com/store/apps/details?id=com.glabs.homegenieplus
- https://github.com/genielabs/HomeGenie-Android-ClientLib
- https://github.com/genielabs/HomeGenie-Android
- https://github.com/genielabs/HomeGenie-WindowsPhone
- https://github.com/genielabs/homegenie-mini
- https://github.com/genielabs/yot
Disclaimer
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.