Git Product home page Git Product logo

smart-home's Introduction

The program complex Smart House

Project site | Configurator | Mobile Gate | Node | Smart home Socket | Modbus device controller | Mobile app

Go Report Card status License: GPL v3 telegram group

Branch Status
master Build Status
dev Build Status

smart-home logo

Attention! The project is under active development.

Overview

With the help of the software package Smart Home you can control many devices. Distributed network of devices based on software package Smart Home has no geographical boundaries and allows manage devices anywhere in the Internet through a system of nodes - microservices. You will be able to interact with these devices as if they were on your local network. Create scripts and reactions to events in the web interface of the configurator through a flexible scripting system.

The system does not require a permanent connection to the Internet, it is completely autonomous and has no dependencies on external services.

The basic principles underlying the system being developed are ease of setup, low cost of content and accessibility of the component base.

Features

  1. The ultimate smart thing solution - server, configurator, nodes, gateway, mobile application
  2. Free and open source
  3. Cross-platform Linux, MacOS, Windows ...
  4. Convenient WEB-configurator for fine-tuning
  5. Mobile application for equipment management
  6. Role system for separation of access rights
  7. Programs in javaScript, coffeeScript, typeScript
  8. Notification system SMS, Email, Slack, Telegram
  9. modbus, mqtt, zigbee2mqtt, rpc calling
  10. Autonomous system.
  11. Quick backup of all data, and recovery
  12. Have Docker images to enhance system security
  13. Minimum consumption of resources.
  14. Optimized for embedded devices like Raspberry Pi
  15. 100% local home automation
  16. Create and restore full backups of your whole configuration with ease
  17. Management web interface integrated into Smart home
  18. Alexa skills

Demo access

outdated version, not supported:
dashboard (https://board.e154.ru)

outdated version, not supported:
swagger (https://sh.e154.ru/api/v1/swagger)

user: [email protected]
pass: admin

user: [email protected]
pass: user

Supported system

  • macOS 386 10.6
  • macOS amd64 10.6
  • linux 386
  • linux amd64
  • linux arm-5
  • linux arm-6
  • linux arm-7
  • linux arm-64
  • linux mips64
  • linux mips64le
  • windows 386
  • windows amd64

Schematic smart home map

smart-home map

Quick installation

Database postgresql

System Smart Home works with Postgresql database. Create a database and database user with full rights to this database. Connection parameters to the database must be specified in the configuration file. Updating the server version may require updating the database. , migrations will start automatically, manual intervention is not required.

sudo -u postgres psql
postgres=# create database mydb;
postgres=# create user myuser with encrypted password 'mypass';
postgres=# grant all privileges on database mydb to myuser;

Installation for development

go install \
    github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway \
    github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 \
    google.golang.org/protobuf/cmd/protoc-gen-go \
    google.golang.org/grpc/cmd/protoc-gen-go-grpc

main server install

git clone https://github.com/e154/smart-home $GOPATH/src/github.com/e154/smart-home

cd $GOPATH/src/github.com/e154/smart-home

go mod vendor

go build

./smart-home -reset
./smart-home

editing configuration files

cp conf/config.dev.json conf/config.json
cp conf/dbconfig.dev.yml conf/dbconfig.yml

run server

./smart-home

Docker

git clone https://github.com/e154/smart-home
cd smart-home
docker-compose up

connect to the database, create two smart-home databases, smart-home-gate

It's all

Testing

The system supports self-testing of internal components, and is started by the command

go test -v ./tests/...

Support

Smart home Wiki: e154.github.io/smart-home Bugs and feature requests: GitHub issues

Contributors

All the contributors are welcome. If you would like to be the contributor please accept some rules.

  • The pull requests will be accepted only in "develop" branch
  • All modifications or additions should be tested

Thank you for your understanding!

See also

LICENSE

GPLv3 Public License

smart-home's People

Contributors

e154 avatar alekseyf12 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.