GithubHelp home page GithubHelp logo

briandelicata / homebridge-esphome Goto Github PK

View Code? Open in Web Editor NEW

This project forked from basdelfos/homebridge-esphome

0.0 0.0 0.0 34 KB

Homebridge plugin to control ESP8266/ESP32 devices running ESPHome firmware

License: MIT License

JavaScript 100.00%

homebridge-esphome's Introduction

!! THIS REPOSITORY IS NOT ACTIVELY MAINTAINED ANYMORE, PLEASE FEEL FREE TO CREATE FORK !!

homebridge-esphome

Homebridge plugin to control ESP8266/ESP32 devices running ESPHome firmware (https://esphome.io)

Installation

npm i homebridge-esphome -g

Basic config.json

{
  "platform": "ESPHomePlatform",
  "name": "ESPHomePlatform",
  "devices": [
    {
      "name": "ESPHome Switch 1",
      "host": "hostname",
      "type": "switch"
      "id": "sonoff_basic_relay"
    },
    {
      "name": "ESPHome Fan 1",
      "host": "hostname",
      "type": "fan",
      "id": "ventilation"
    }
  ]
}

Each device object passed to the devices array has these properties:

  • name - The name that should appear in HomeKit.
  • host - The ip-adres or hostname of the device.
  • type - The type of device. Can be switch or fan.
  • id - The id refers to the id of the component - this ID is created by taking the name of the component, stripping out all non-alphanumeric characters, making everything lowercase and replacing all spaces by underscores.

Prerequisites

The ESPHome firmware on the device has to be compiled with support for the REST API as this plugin uses HTTP calls and EventSource Events.

Info: ESPHome Web Server API

Compile the ESPHome firmware with the following component enabled:

# Enable REST api in ESPHome firmware
web_server:
  port: 5180 # optional

port: is optional, defaults to port 80.

Notes

Type Fan in HomeKit is controlled in percentage, whereas in ESPHome fan is controlled in steps off, low, medium and high. Therefor the plugin converts speed steps in the following percentages.

  • off = device is showing off in HomeKit.
  • low = 25 percentage.
  • medium = 50 percentage.
  • high = 100 percentage.

TODO

  • Implement more device types.
  • More real-life testing.

homebridge-esphome's People

Contributors

basdelfos 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.