Giter VIP home page Giter VIP logo

ryobi_garage's Introduction

Ryobi Garage Door Opener - HA Custom Component

Home Assistant custom component integration with Websocket-based connection to Ryobi's Cloud Service to control their Garage Door Opener. This was reverse-engineered from their Android App.

This integration will request all of the Garage Door devices linked to your Ryobi account and automatically add them into Home Assistant.

This is a work-in-progress! Currently, you can view the state (OPEN, CLOSED, OPENING, CLOSING) and the current position (% open) of the door. You can also open or close the door but not set a position. The Entity also has extra attributes such as Last Set, Last Value, Vacation Mode, Sensor Flag, Light State, and Light Timer. The Light entity is not setup and therefore not controllable yet.

Tested Devices

  • GDO125

Setup

The Garage Door must first be setup and added through Ryobi's app. Once you've created an account and can successfully control the garage door from the app, you can use your login details with this integration.

Installation

Copy the ryobi_garage folder into your config\custom_components\ folder. If custom_components doesn't exist then create it.

Configuration.yaml

ryobi_garage:
  username: "username"
  password: "password"

Restart HA

Once you've complete the above steps, restart Home Assistant. Once restarted, a new Garage Cover entity will be created using the name form the Ryobi App as the entity name.

Project State and Contributing

Feel free to contribute to this project! I am not a professional programmer... just a dad who what to control his garage door from Home Assistant. Updates will be few and far-between.

Issues

Please open an Issue and paste DEBUG logs or I can't help as easily. PLEASE remove all personal login details, including your username, password, device IDs, and API Keys!!

logger:
  logs:
    custom_components.ryobi_garage: debug

Functionality / To-Do

See the Projects board for updated list.

  • HTTP: Login to check details and get API Key.
  • HTTP: Get devices list to check for more than 1 GDO.
  • HTTP: Get device state for each device.
  • WS: Authenticate using API Key.
  • WS: Subscribe to device notifications using device ID.
  • WS: Listen for device updates and update internal state.
  • Implement RyobiGarage CoverEntity in HA.
  • Set the unique_id properly using device_id, mac, serial and name.
  • WS: Send open/close command to sever
  • WS: Check for and implement set_position command (look into app's "preset" functionality).
  • WS: Check for and implement stop command.
  • Implement RyobiGarage LightEntity in HA.
  • Implement entities for other modules (currently unable as I don't own any and cannot test this).

'Thank You's

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.