Skip to content
/ ledfxrm Public

Custom Integration for Home Assistant to control a any (local/remote) LedFX-server - State: beta

License

Notifications You must be signed in to change notification settings

YeonV/ledfxrm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 23, 2021
8ad3029 · Jan 23, 2021
Nov 22, 2020
Nov 20, 2020
Nov 23, 2020
Jan 23, 2021
Nov 23, 2020
Nov 5, 2020
Nov 22, 2020
Nov 4, 2020
Dec 8, 2020
Nov 20, 2020
Nov 21, 2020
Nov 5, 2020

Repository files navigation

LedFx ReMote for Home Assistant

hacs_badge hass_badge state version license creator creator version


logo

Custom Integration for Home Assistant to control any (local/remote) LedFx-server


Main Features

LedFx Remote

  • Select your LedFx scene from inside Home Assistant!
  • Display the number of scenes/devices/pixels connected to LedFx
  • Start and stop the LedFx server (custom Endpoint required!)

LedFx Device Remote

  • Toggle the power for devices configured in LedFx
  • Display number of pixels per device
  • Display IP per device
  • Display current running effect-name
Default With Devices
tile tile_adv

Requirements:

  • LedFx
    • minimum version: v0.84 (so atm you need the dev-branch or ledfx-dev)
    • with at least one scene setup
    • the ledfx config.yaml file defines your host as 127.0.0.1 by default. The host needs to be changed to 0.0.0.0 in order for this integration to function properly.
    • LedFx Docs
  • hass - (HomeAssistant)
  • HACS - (HomeAssistantCommunityStore)

QuickStart

  • Add Repo to HACS:

    • Navigate to HACS in Home Assistant
    • Select "Integrations"
    • Select the menu hamburger in the upper right of the screen
    • Select "Custsom repositories"
    • Add the url for this repository and select integration as the cattegory
  • Install integration via HACS:

    • The integration should now be visible, select "Install"
    • Restart Home Assistant for the changes to take effect
  • Add integration to Home Assistant:

    • In the HA UI go to "Configuration" -> "Integrations" click "+" and search for "LedFX Remote"
  • Configuration is done in the UI

    • Add the IP of the machine running LedFx to the "Host" field
    • Leave the default port of 8888 or change it to match your configuration
      • (LedFx Server needs to be online and running)
      • no changes are needed in configuration.yaml
      • all Settings are handled via UI
    • Open the light entity and change your scenes :)

Step by Step Installation - Images-Guide

Detailed Features

  • Everything configurable via UI :)
  • AutoCreate Entities with GET Informations from all LedFx-API-Endpoints:
    • Binary Sensor (Is LedFx online?)
    • Devices Sensor (Number of Devices inside LedFx)
    • Scenes Sensor (Number of Scenes inside LedFx)
    • Pixels Sensor (Number of Pixels inside LedFx)
    • Switch (if start/stop is set in config - custom GET-call)
    • Light
      • EffectList (Filled with scenes from LedFx)
      • Off->On - just toggles a manual sync (double click the switch)
  • EffectList-Change will fire LedFx via PUT
  • Scan_intervall in seconds via UI:
    • Note: This also defines how long you can interact with it (start server), after a disconnect (kill server)
    • Recommendation: set to a high number. Polling is only to get changes made inside LedFx.
  • SubDevices: (config via UI)
    • Get the Devices running inside LedFx including their states
    • ON / OFF Button
      • OFF Button saves the current effect running on the current device
      • ON Button will use that state if available otherwise sends "Gradient"
  • Start/Stop Server:
    • Set custom Endpoints for Start and Stop
    • Configurable methods: GET, DELETE, PUT, POST
    • Configurable body: json (untested)
  • NEW: Add Blade-Light: 1 effect throught multiple devices

Upcoming Features

  • Make also use of the after setup config flow (options)
    • Allow editing of setup-settings
    • Allow disable poll (If you have everything setup in ledfx, there is no need to poll for new infos all the time)
    • Make fallback "gradient" somehow editable for the user

Screens

show

Default:

ledfx-remote

setup

main

scene_selector_1

scene_selector_2

With Subdevices:

setup_adv

main_adv

subdevices

Credits

ledfx-github ledfx-discord wled-github wled-discord

homeassistant-github hacs-github blueprint-github

Special Thanks

frenck THATDONFC on Tinkerer