Git Product home page Git Product logo

fguiet / automationserver Goto Github PK

View Code? Open in Web Editor NEW
13.0 7.0 6.0 15.31 MB

AutomationServer is a personal home automation project. Currently, it monitors temperatures in my house by controlling independently my electric heaters. Electrical pieces of information from my provider are also collected and saved in a database. Moreover, it launches automatically my water boiler at night when electrical cost is less expensive. This solution is based on Postgresql 9.4, Java, Arduino, DHT22 sensor, XBee, Raspberry first edition

Java 42.58% Shell 1.54% CSS 26.37% C++ 28.16% HTML 0.73% JavaScript 0.58% Dockerfile 0.05%
automation wemos postgresql java jersey tomcat raspberry-pi openhab grafana gammu

automationserver's Introduction

NAME

AutomationServer

DESCRIPTION

!!! THIS PROJECT IS OFFICIALLY DEPRECATED !!!

It has run in my house for years but I decided to give a try to NodeRed, HomeAssistant. And now I am addicted :) But it was a nice project I learn a lot.

!!! THIS PROJECT IS OFFICIALLY DEPRECATED !!!

AutomationServer is a personal home automation project. It is both a software and electronic project. Currently, it monitors temperatures in my house by controlling independently my electric heaters (wanted temperatures can be set day by day, hour by hour and even minutes by minutes) . Electrical pieces of information from my electric provider are also collected. Moreover, it launches automatically my water boiler at night when electrical cost is less expensive. My electric rollershutters open and close automatically regarding sunset/sunrise hours. All collected data (temperatue, humidity, electric consumption) are saved in a database (PostgreSQL and InfluxDB).

This project is based on :

- PostgreSQL 9.6
- Open JDK 9
- Oracle Jersey Restful framework
- cron4j
- SunriseSunsetCalculator
- Ajax Daypilot Scheduling (great scheduling framework)
- Tomcat 9
- Wemos ESP8266 Wifi module (not anymore but it used to, replaced by nRF51822 BLE module)
- nRF51822 BLE Module
- Arduino (not anymore, replaced by Wemos ESP8266)
- DHT22 Sensor (temperature and humidity), not suitable with deep sleep (replaced by DS18B20)
- XBee (not anymore but it used to, replaced by Wemos WiFi module)
- nRF51822 Bluetooth modules with HTU21D temperature and humidity sensor
- Raspberry Pi 3 (Hypriot OS)
- Docker
- Grafana 6.5.2
- OpenHab 2
- InfluxDB 1.7.x
- Node-Red
- Mqtt (mosquitto)
- Gammu
- Handmade electonic stuffs (to collect data from my electric provider, to control my heaters)

FEATURES

  • Monitor, room by room, temperature and humidity of the house
  • Outside temperature and humidity
  • New TV series downloaded SMS notification (via Sickrage and Sabnzbd)
  • Mail notification (SMS is sent when the postman is opening my mailbox)
  • Basement humidity monitoring (automatic ventilation regarding defined humidity range)
  • Temperatures level in each room automatically monitored through a week personal defined schedule
  • OpenHab 2 User Interface (linked mainly with Mqtt)
  • All pieces of information collected are saved in a PostgreSQL and InfluxDB database
  • Automatic SMS notifications
  • Monitor real-time house electric consumption
  • Automatic start of my water boiler when electric cost is less expensive (mostly during night)
  • All data (electric consumption, humidity, temperature) can be visualized via custom Grafana dashboards
  • All data are published to a Mqtt broker via various topics, so various client subscriber software can access data in real-time
  • Automatic computing of next electricity bill
  • Automatic rollershutters management (via sunset/sunrise api)

INSTALLATION

TODO but everything runs under Docker (Raspberry Hypriot OS)

LICENSE

Copyright (c) 2015-2020 Frédéric Guiet - All rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see < http://www.gnu.org/licenses/ >.

automationserver's People

Contributors

fguiet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

automationserver's Issues

Compilation Error

Hello,
i would like to test your program but i'm facing compilation error.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.0:compile (default-compile) on project automationserver-model: Compilation failure -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.0:compile (default-compile) on project automationserver-model: Compilation failure

I run mvn clean package command on the parent project.
May you help me ?

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.