{"id":40080436,"url":"https://github.com/dave-code-ruiz/elkbledom","last_synced_at":"2026-01-23T10:23:57.833Z","repository":{"id":37686194,"uuid":"497924778","full_name":"dave-code-ruiz/elkbledom","owner":"dave-code-ruiz","description":"Home Assistant custom component for LED STRIP NAME ELK BLEDOM","archived":false,"fork":false,"pushed_at":"2026-01-15T10:11:41.000Z","size":231,"stargazers_count":159,"open_issues_count":5,"forks_count":39,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-15T15:46:43.740Z","etag":null,"topics":["hacs-custom","hacs-integration","home-assistant","home-automation","led-controller","ledstrips","light"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dave-code-ruiz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-05-30T12:02:30.000Z","updated_at":"2026-01-15T10:11:46.000Z","dependencies_parsed_at":"2023-02-01T03:50:23.581Z","dependency_job_id":"a748c983-cc5b-4582-b273-5c27f5386fa2","html_url":"https://github.com/dave-code-ruiz/elkbledom","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/dave-code-ruiz/elkbledom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dave-code-ruiz%2Felkbledom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dave-code-ruiz%2Felkbledom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dave-code-ruiz%2Felkbledom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dave-code-ruiz%2Felkbledom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dave-code-ruiz","download_url":"https://codeload.github.com/dave-code-ruiz/elkbledom/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dave-code-ruiz%2Felkbledom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28565001,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T08:53:44.001Z","status":"ssl_error","status_checked_at":"2026-01-19T08:52:40.245Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacs-custom","hacs-integration","home-assistant","home-automation","led-controller","ledstrips","light"],"created_at":"2026-01-19T09:06:27.010Z","updated_at":"2026-01-23T10:23:57.814Z","avatar_url":"https://github.com/dave-code-ruiz.png","language":"Python","readme":"# elkbledom HA Integration\n\n\u003ca href=\"https://www.buymeacoffee.com/davecoderuiz\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-orange.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\u003c/a\u003e\n\n[![hacs_badge](https://img.shields.io/badge/HACS-Default-41BDF5.svg)](https://github.com/hacs/integration)\n[![hacs_badge](https://img.shields.io/badge/HACS-Custom-41BDF5.svg)](https://github.com/hacs/integration)\n\nHome Assistant integration for LED STRIP or LED Desktop light (lightbar) NAME ELK BLEDOM with android/iphone mobile app duoCo Strip (https://play.google.com/store/apps/details?id=shy.smartled\u0026hl=es\u0026gl=US) or mobile app Lantern Lotus (https://play.google.com/store/apps/details?id=wl.smartled\u0026hl=es\u0026gl=US) or mobile app Lotus Lamp X (https://play.google.com/store/apps/details?id=com.szelk.ledlamppro).\n\nI buy it in amazon spain (https://www.amazon.es/gp/product/B00VFME0Q2)\n\nOr lightbar like this (https://www.amazon.es/bedee-Regulable-Inteligente-Bluetooth-Dormitorio/dp/B0BNPMGR1H)\n\nNew support for MELK strip, you can buy it in amazon spain (https://www.amazon.es/distancia-Bluetooth-aplicaci%C3%B3n-sincronizaci%C3%B3n-habitaci%C3%B3n/dp/B09VC77GCZ) or search \"B09VC77GCZ\" in your amazon country shop. MELK device confirmed working: https://www.amazon.com/dp/B07R7NTX6D\n\nNew support for ELK-LAMPL strip, works with Lotus Lamp X.\n\nNew support for ELK-BULB* strip, XROCKER*, ELK-DOB* and ELK-BTC*\n\n## Dependencies\n\n`gattool` is used to query the BLE device.\nIt is available in `bluez-deprecated` for Fedora:\n\n```\nsudo dnf install bluez-deprecated\n```\n\nor as `bluez-deprecated-tools` in Arch:\n\n```\nparu -S bluez-deprecated-tools\n```\n\n## Supported strips\n\nCode supports led strips whose name begins with \"ELK-BLE\" or \"MELK\" or \"ELK-BULB\".\n\nCode supports controlling lights in HA with write uuid: 0000fff3-0000-1000-8000-00805f9b34fb or 0000ffe1-0000-1000-8000-00805f9b34fb\n\nYou can know your uuid with gatttool:\n\n```\n\ngatttool -I\n\n[be:59:7a:00:08:xx][LE]\u003e connect be:59:7a:00:08:xx\n\nAttempting to connect to be:59:7a:00:08:xx\n\nConnection successful\n\n[be:59:7a:00:08:xx][LE]\u003e primary\nattr handle: 0x0001, end grp handle: 0x0003 uuid: 00001800-0000-1000-8000-00805f9b34fb\nattr handle: 0x0004, end grp handle: 0x0009 uuid: 0000fff0-0000-1000-8000-00805f9b34fb\n\n[be:59:7a:00:08:xx][LE]\u003e Characteristics\nhandle: 0x0002, char properties: 0x12, char value handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb\nhandle: 0x0005, char properties: 0x10, char value handle: 0x0006, uuid: 0000fff4-0000-1000-8000-00805f9b34fb\nhandle: 0x0008, char properties: 0x06, char value handle: 0x0009, uuid: 0000fff3-0000-1000-8000-00805f9b34fb\n\n```\n\nIf your strip show some uuid like \"**0000fff3**-0000-1000-8000-00805f9b34fb\" , your strip it is supported\n\nIf your strip show some uuid like \"**0000ffe1**-0000-1000-8000-00805f9b34fb\" , your strip it is supported\n\nIf your strip show some uuid like \"**0000ff01**-0000-1000-8000-00805f9b34fb\", go to your correct repository: https://github.com/raulgbcr/lednetwf_ble\n\nIf your strip show some uuid like:\n\n    \"0000xxxx-0000-1000-8000-00805f9b34fb\"\n    xxxx can be one of these values (\"ff01\", \"ffd5\", \"ffd9\", \"ffe5\", \"ffe9\", \"ff02\", \"ffd0\", \"ffd4\", \"ffe0\", \"ffe4\")\n\nGo to your correct repository: https://www.home-assistant.io/integrations/led_ble/\n\n# Unsupported strips\n\nLaunch BTScan.py\n\n```\ngit clone https://github.com/dave-code-ruiz/elkbledom\ncd elkbledom\npip install -r requirements.txt\npython3 BTScan.py\n```\n\nYou can scan BT device with BTScan.py in my repository to find info to discover new supported strips\n\nCreate issue in https://github.com/dave-code-ruiz/elkbledom/issues with results of BTScan.py (BTScan.py create a json file with info i need)\n\nIf no command works for you, ..\nyou can try to use my [sniffing guide](https://github.com/dave-code-ruiz/elkbledom/blob/main/sniffing_ble_device.md) to discover commands to turn on, turn off, ... your strip , \nif you discover this, you can post new issue with this information.\n\n\n## Installation\n\n### [HACS](https://hacs.xyz/) (recommended)\n\nInstallation can be done through HACS , search \"elkbledom\" and download it\n\n### Manual installation\n\nYou can manually clone this repository inside `config/custom_components/` HA folder.\n\n## Setup\n\nAfter installation, you should find elkbledom under the Settings -\u003e Integrations -\u003e Add integration -\u003e search elkbledom integration -\u003e follow instructions.\n\nThe setup step includes discovery which will list out all ELK BLEDOM lights discovered. The setup will validate connection by toggling the selected light. Make sure your light is in-sight to validate this.\n\nThe setup needs to be repeated for each light.\n\n## Init command in MELK strips\n\nIf your strip model is MELK , i have an issue open about your problem, #11 and you need to send to the strip two init commands , i dont know why , something weird, but work fine:\n\n`\nsudo gatttool -b BE:16:F8:1D:D6:66 --char-write-req -a 0x0009 -n 7e0783\n`\n`\nsudo gatttool -b BE:16:F8:1D:D6:66 --char-write-req -a 0x0009 -n 7e0404\n`\n\nafter that, try to restart strip, add your strip to homeassistant and i think you could work with your strip normally\n\n## Config\n\nAfter Setup, you can config two elkbledom params under Settings -\u003e Integrations -\u003e search elkbledom integration -\u003e Config.\n\n#### Reset color when led turn on\n\nWhen led strip turn on, led reset to color white or not. This is needed if you want because i don´t know led strip state and is needed a reset.\n\n#### Disconnect delay or timeout\n\nYou can configure time led strip disconnected from HA (0 equal never disconnect).\n\n## Features\n\n#### Discovery\n\nAutomatically discover ELK BLEDOM based lights without manually hunting for Bluetooth MAC address\n\n#### On/Off/RGB/Brightness support\n\n#### Emulated RGB brightness\n\nSupports adjusting brightness of RGB lights\n\n#### Multiple light support\n\n## Not supported\n\n#### Live state polling\n\nExternal control (i.e. IR remote) state changes do NOT reflect in Home Assistant and are NOT updated.\n\n#### [Light modes] (blinking, fading, etc) are not yet supported.\n\n## Enable debug mode\n\nUse debug log to see more information of posible errors and post it in your issue description\n\nIn configuration.yaml:\n\n```\nlogger:\n  default: info\n  logs:\n    custom_components.elkbledom: debug\n```\n\n## Examples\n\nCreate button to turn on:\n\n```\nshow_name: true\nshow_icon: true\nname: turn on\ntype: button\ntap_action:\n  action: toggle\nentity: light.tiraled\n```\n\nCreate button to set color:\n\n```\nshow_name: true\nshow_icon: true\nname: Red\ntype: button\ntap_action:\n  action: call-service\n  service: light.turn_on\n  target:\n    entity_id: light.test\n  data:\n    rgb_color:\n      - 255\n      - 0\n      - 0\n    brightness: 255\n```\n\n## Known issues\n\n1.  Only one device can be connected over bluetooth to the led strip. If you are using the mobile app to connect to strip, or used `gatttool` to query the device, you need to disconnect from the LED strip first.\n    ```\n    BleakOutOfConnectionSlotsError: Failed to connect after 9 attempt(s): No backend with an available connection slot that can reach address\n    ```    \n2.  Live state polling doesn't work.\n3.  It is possible you have interference between the LED strip and the TV remote control or another devices. When you press some buttons on the remote control, the status of the lights could be changes. \n4.  I am waiting for read status value:\n\n            ```\n\n            future = asyncio.get_event_loop().create_future()\n            await self._device.start_notify(self._read_uuid, create_status_callback(future))\n            # PROBLEMS WITH STATUS VALUE, I HAVE NOT VALUE TO WRITE AND GET STATUS\n            await self._write(bytearray([0xEF, 0x01, 0x77]))\n            await asyncio.wait_for(future, 5.0)\n            await self._device.stop_notify(self._read_uuid)\n\n            ```\n\n## Credits\n\nThis integration will not be possible without the awesome work of this github repositories:\n\nhttps://www.home-assistant.io/integrations/led_ble/\n\nhttps://github.com/sysofwan/ha-triones\n\nhttps://github.com/TheSylex/ELK-BLEDOM-bluetooth-led-strip-controller/\n\nhttps://github.com/FreekBes/bledom_controller/\n\nhttps://github.com/FergusInLondon/ELK-BLEDOM/\n\nhttps://github.com/arduino12/ble_rgb_led_strip_controller\n\nhttps://github.com/lilgallon/DynamicLedStrips\n\nhttps://github.com/kquinsland/JACKYLED-BLE-RGB-LED-Strip-controller\n\nhttps://linuxthings.co.uk/blog/control-an-elk-bledom-bluetooth-led-strip\n","funding_links":["https://www.buymeacoffee.com/davecoderuiz"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdave-code-ruiz%2Felkbledom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdave-code-ruiz%2Felkbledom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdave-code-ruiz%2Felkbledom/lists"}