Skip to content

HomeGenie, Open Source Home Automation Server in a "Internet of Things" world

License

Notifications You must be signed in to change notification settings

mtudury/HomeGenie

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Travis Build Status Build status

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 csharp and javascript
  • 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/build common (all) and OS specific static files that are copied after the build process
  • assets/build/all/app This folder contains the new HomeGenie user interface (YOT) implemented as a Angular 11 PWA (currently in very early development stage).
  • assets/deploy OS specific files required for bundling and deploying the app redistributable
  • src/HomeGenie main application project files implemented as netcore app
  • src/HomeGenie.Net461 .net 4.6.1 project files sharing the same source code base from src/HomeGenie
  • src/HomeGenie.Tests project implementing Unit Tests
  • src/SupportLibraries support and utility libraries used by HomeGenie
  • src/WindowsService Windows 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.

JetBrains Logo JetBrains Rider Logo

Related projects


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.

About

HomeGenie, Open Source Home Automation Server in a "Internet of Things" world

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 55.4%
  • C# 17.6%
  • HTML 14.1%
  • CSS 12.3%
  • Inno Setup 0.2%
  • Shell 0.2%
  • Other 0.2%