Coder Social home page Coder Social logo

zwmyint / home-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from demian85/home-server

0.0 1.0 0.0 2.52 MB

Web App and server to manage appliances at home using ESP8266-based devices like Sonoff, NodeMCU and Wemos D1 Mini

JavaScript 87.52% CSS 11.73% HTML 0.74%

home-server's Introduction

home-server

A custom server for managing appliances at home using ESP8266-based devices like Sonoff and Wemos D1 Mini

Screenshots

Dashboard

Hardware setup

Motivation

I bought a bunch of Sonoff devices and decided to upgrade their firmware to Sonoff-Tasmota.

By replacing the stock firmware, I can have complete control over the device. Sonoff-Tasmota uses MQTT as the underlying protocol for communication between a broker and the device.

After using MQTT Dash for some time, I decided to build a Progressive Web App.

Setup

Server runs on a local Raspberry PI model 3 B+ which has the following services:

I currently own 6 Sonoff devices, which are connected to the following appliances:

  • Patio lamp
  • Desk lamp
  • Room lamp
  • Room heater 1 (this one also reports values from its SI7021 temperature and humidity sensor).
  • Room heater 2
  • Wall socket

I also have a bunch of sensors connected to a Wemos D1 Mini (flashed with the same firmware above) in my living room:

  • DHT22/AM2301 temperature and humidity sensor
  • HC SR501 PIR motion sensor
  • BMP280 temperature and atmospheric pressure sensor
  • BH1750 light level sensor
  • Infrared receiver and remote control
  • RF transmitter and receiver

How it works

All devices establish a connection to the MQTT broker and report their state while also subscribing to a control topic, allowing you to switch them on/off.

Server runs as a daemon and subscribes to all sensor topics. Some logic decides when to switch the room heater on/off.

The UI is built on React and consists of simple components that allow the user to switch the appliances on/off and view sensor, weather and derived data, like the "real feel" temperature.

The browser keeps a connection to the MQTT broker over a Websocket.

What's next?

Not sure, but I recently started playing with electronics and found home-automation to be my new hobby.

I'll keep experimenting with dev boards like Arduino, NodeMCU, ESP8266 and Sonoff devices. They are low cost devices that allows easy customization.

Possible next projects:

  • Automatic plant watering for my garden ๐ŸŒป
  • OLED display screen showing sensor data ๐Ÿ“บ
  • Remote controled car ๐Ÿš™

home-server's People

Contributors

demian85 avatar dependabot[bot] avatar

Watchers

James Cloos 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.