All Projects โ†’ sieren โ†’ Homepoint

sieren / Homepoint

Licence: mit
Espressif ESP32 Based Smarthome screen for MQTT

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Homepoint

Redmatic
Node-RED packaged as Addon for the Homematic CCU3 and RaspberryMatic ๐Ÿคนโ€โ™‚๏ธ
Stars: โœญ 407 (+4.09%)
Mutual labels:  home-automation, smarthome, homekit, mqtt
Hoobs
Build your Smart Home with HOOBS. Connect over 2,000 Accessories to your favorite Ecosystem.
Stars: โœญ 325 (-16.88%)
Mutual labels:  home-automation, smarthome, homebridge, homekit
homebridge-switcheroo
Simple on/off or multiswitch radio buttons for http reqs. Useful for lights, A/V systems, home automation, whatever
Stars: โœญ 38 (-90.28%)
Mutual labels:  smarthome, home, homebridge, homekit
Ct Smart Home
A ready-to-use Node-RED setup for home automation
Stars: โœญ 132 (-66.24%)
Mutual labels:  home-automation, smarthome, homekit, mqtt
Dsckeybusinterface
An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
Stars: โœญ 202 (-48.34%)
Mutual labels:  home-automation, homebridge, homekit, esp32
Gladys
A privacy-first, open-source home assistant
Stars: โœญ 1,874 (+379.28%)
Mutual labels:  automation, home-automation, smarthome, home
Homebridge Dacp
Remotely control Apple TV and iTunes via HomeKit.
Stars: โœญ 128 (-67.26%)
Mutual labels:  automation, home-automation, homebridge, homekit
Homebridge Homematic
Homematic plugin for homebridge: https://github.com/nfarina/homebridge
Stars: โœญ 163 (-58.31%)
Mutual labels:  automation, smarthome, homebridge, homekit
home
Monorepo for all home automation related development, including integrated firmware, PCBs, configuration, and bridges
Stars: โœญ 104 (-73.4%)
Mutual labels:  home-automation, esp32, homekit
tradfri-mqtt
Mirrors Trรฅdfri gateways endpoints into MQTT and send commands to the gateway from MQTT
Stars: โœญ 26 (-93.35%)
Mutual labels:  home-automation, mqtt, smarthome
Farm-Data-Relay-System
A system that uses ESP-NOW, LoRa, and other protocols to transport sensor data in remote areas without relying on WiFi.
Stars: โœญ 97 (-75.19%)
Mutual labels:  mqtt, esp32, espressif
Awesome Home Assistant
A curated list of amazingly awesome Home Assistant resources.
Stars: โœญ 3,487 (+791.82%)
Mutual labels:  home-automation, smarthome, mqtt
AG NTRIP ESP
AG Rooftop controller with NTRIP client and IMU (ESP32 Controller)
Stars: โœญ 25 (-93.61%)
Mutual labels:  esp32, wifi, espressif
HomeSpan
HomeKit Library for the Arduino-ESP32
Stars: โœญ 410 (+4.86%)
Mutual labels:  home-automation, esp32, homekit
M5Stack-Air-Quality-ESPHome
ESPHome configuration for M5Stack's PM2.5 Air Quality Kit with the PMSA003 particulate matter sensor and the SHT20 temperature and humidity sensor
Stars: โœญ 19 (-95.14%)
Mutual labels:  home-automation, mqtt, esp32
homebridge-konnected
A Homebridge plugin for Konnected Alarm Panel devices
Stars: โœญ 25 (-93.61%)
Mutual labels:  smarthome, homebridge, homekit
Home Assistantconfig
๐Ÿ  Home Assistant configuration & Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to โญ it. Updated FREQUENTLY!
Stars: โœญ 3,687 (+842.97%)
Mutual labels:  automation, home-automation, smarthome
Homeassistantconfiguration
Home Assistant Config. For more info see link:
Stars: โœญ 260 (-33.5%)
Mutual labels:  home-automation, smarthome, homebridge
Esphome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Stars: โœญ 4,324 (+1005.88%)
Mutual labels:  home-automation, esp32, mqtt
Blynk Library
Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc.
Stars: โœญ 3,305 (+745.27%)
Mutual labels:  esp32, espressif, wifi

homepoint logo

issues Donations Badge

๐Ÿ  Control your MQTT/HomeKit Smart Home Devices from an ESP32-powered screen ๐Ÿ 

Homepoint is a screen-based interface for MQTT & HomeKit-connected Smarthome devices that runs on the ESP32 Chipset.

Table of Contents

โœ”๏ธ Features

  • See and trigger scenes (groups of devices) on the front screen.

  • Trigger individual devices by diving into scenes (by tapping the indicator or long pressing a button).

  • See partially switched on scenes with multiple devices at a glance.

  • Support for temperature, humidity, air quality sensors & Tasmota energy readings.

  • Remote Configuration: Configure and reboot HomePoint through a web interface. No need to reflash.

  • Over-The-Air Updates (Beta): Flash new versions of HomePoint wirelessly over the air.

  • HomeKit Switch Support (Setup Automations in Home App to toggle from Homepoint)*

  • Supports both Touch Screen or Button based navigation.

  • Reactive: Screen updates whenever devices are triggered from elsewhere.

  • Easy configuration through a JSON file, no additional code required.

  • Screensaver saves power by switching off screen after 10 minutes.

  • Statusbar shows connectivity for WiFi and MQTT as well as time.

  • Failsafe Mode: In case of corrupt configuration, failsafe mode for remote access is provided.

  • Pre-compiled binaries: Just flash HomePoint on your ESP32 device without compiling.

*currently on experimental branch.

๐Ÿ“ท Demo

HomePoint Youtube demo

๐Ÿ  Installation

HomePoint comes in 2 pre-compiled .bin files ready to be flashed on either a generic ESP32 Module or M5Stack. More details on the hardware setup are available in the Wiki.

Steps to install:

  1. Download ESPTools from https://github.com/espressif/esptool/releases
  2. Install ESPTools with python setup.py install
  3. Run esptool.py -b 921600 write_flash -fs 4MB -fm dout 0x0 homepoint_espgeneric.bin (or homepoint_m5stack.bin for M5Stack)

Alternatively, watch the installation video below:

HomePoint Installation demo

๐Ÿ  Build from source

Homepoint was created using the ESP-IDF SDK.

Detailed build instructions are available in the Wiki.

๐Ÿ”€ Configuration

The configuration lives in data/config.json.

Devices & Scenes

HomePoint supports two types of Scenes with a selection of devices each:

SCENE Types DEVICE Types
Light, Switch (none, all devices expected to be switches)
Sensor display one or two values at once with customizable icons (singleValue / combinedValues)

Grouped Sensors support up to two devices (due to screen space).
Lights & Switches support an infinite number of devices in a group.

Some Sensors use JSON as a data-format, in which case a key can be defined. These can be on any level of the sensor json payload, for Tasmota smart plugs the key value "Power" can be used to display the current power consumption.

WiFi & MQTT Credentials

WiFi and MQTT credentials are to be defined on the top level.

NTP Time (optional)

In order to set the correct timezone, copy & paste your NTP TZ Setting to the timezone key.

Hardware (optional)

Some of the IL9341 Display units seem to differ in e.g. how the touch-screen coordinates correspond to the display or how the LED backlight is controlled. Therefore we offer some options to override the defaults in the configuration file.

Key Type Value
"ledPinPullup" Boolean true or false - control backlight power which can be pull-up/down depending on unit
"screenRotationAngle" Int The rotation parameter can be 0, 1, 2 or 3 - incrementing in 90deg angles
"screenSaverMinutes" Int Minutes until display is switched off (default 10)
"touchXAxisInverted" Bool default: false, invert the X Axis of the touch screen in case it is misaligned
"touchYAxisInverted" Bool default: true, invert the Y Axis of the touch screen in case it is misaligned
"displayColorInverted" Bool default: false, invert the colorspace (ie. for ILI9342C Displays)

Example

MQTT Topics are case-sensitive as per MQTT specification.

{
  "wifi": "MyWifiSSID",
  "password": "My Wifi Password",
  "hostname": "optionalhostname",
  "login": "admin",
  "webpass": "admin",
  "mqttbroker": "mqtt://192.168.1.2",
  "mqttusername": "mqttusername",
  "mqttpasswd": "mymqttpassword",
  "timezone": "CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00",
  "scenes": [{
    "name": "Living Room",
    "type": "Light",
    "icon": "livingroom",
    "devices": [{
      "name": "Some Light",
      "setTopic": "lights/hue/00:17:88:01:02:3c:2a:6d-0b/set/on",
      "getTopic": "hue/status/lights/Hue color lamp 1",
      "onValue": "true",
      "offValue": "false"
    },
    {
      "name": "Door Light",
      "setTopic": "lights/hue/00:17:88:01:02:3c:2a:6d-0b/set/on",
      "getTopic": "hue/status/lights/Hue color lamp 1",
      "onValue": "true",
      "offValue": "false",
      "icon": "door"
    },
    ]
  },
  {
    "name": "Bedroom",
    "type": "Sensor",
    "icon": "door",
    "devices": [{
      "name": "Temperature DHT Sensor",
      "type": "singleValue",
      "jsondata": true,
      "firstIcon": "temperature_small",
      "firstKey": "temperature",
      "getTopic": "bedroom/esptemp"
    },
    {
      "name": "Tasmota Smart Plug",
      "type": "singleValue",
      "jsondata": true,
      "firstKey": "Power",
      "firstIcon":"wattage_small",
      "getTopic": "tele/DVES_2F73BE/SENSOR"
    }]
  }]
}

A more fully-configured example is available here.

๐Ÿ”ฎ Roadmap

๐Ÿ› Known bugs & issues ๐Ÿ›

If you find any bugs or need assistance, don't hesitate and open an issue :)

๐Ÿ’ž Contributing

Contributions are welcome! Just hack away and open a Pull Request. But please follow the style of the code that's already there (ie. no tabs, spacing).

โ˜•๏ธ Buy me a coffee

I have developed HomePoint in my free time because I wanted to learn more about C++ on ESP32 and to solve a concrete problem in my smarthome.
As development kept on going, I thought about ways to make this project open source and more accessible and user-friendly for the maker-community.

If you enjoy using HomePoint or this work, consider a small donation. But don't worry, I'll continue working on this anyway ;-).

paypal

Thanks!!

๐Ÿ“œ License

MIT ยฉ Matthias Frick

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].