Unofficial Home Assistant integration for Skylight lamps over local HTTP API.
| Manufacturer | Model | Supported |
|---|---|---|
| Hyperbar | H-BAR-FM | Yes |
- Local control (no WiFi dependency).
- Config Flow setup in Home Assistant UI (IP + optional name).
- Preset selection (
A1..F10) with adjustable output power. - Manual PWM channel control for channels
0..3. - Extended diagnostic and maintenance services.
If the button does not work, follow the manual HACS steps below.
- Open HACS in Home Assistant.
- Add this repository as a custom repository (type:
Integration). - Install Skylight Local.
- Restart Home Assistant.
- Copy
custom_components/skylight_localinto your Home Assistantcustom_componentsdirectory. - Restart Home Assistant.
- In Home Assistant go to Settings -> Devices & Services -> Add Integration.
- Search for Skylight Local.
- Enter:
lamp_ip(required)name(optional)
Each configured lamp creates one config entry and one controller instance.
Preset(A1..F10)Mode(off,auto,manual,demo)
Power(0-100%)Channel 0(0-100%)Channel 1(0-100%)Channel 2(0-100%)Channel 3(0-100%)
Auto modeOffDemo mode
Auto
Firmware versionStatusDevice nameDevice modelMACMaster MACPWM frequencyPWM channel 0PWM channel 1PWM channel 2PWM channel 3Manual intensityManual colorCalibration PWMSchedule items countIs masterNight mode enabledSchedule
The integration registers services in skylight_local.*.
Main control services:
set_channelset_all_channelsset_pwm_frequencyinit_pwmsync_rtcset_timezoneset_night_modemanual_mode_1hmanual_mode_default
Schedule services:
clear_schedulesave_schedulestart_old_schedulesend_old_schedule_payloadstart_safe_schedulesend_safe_schedule_payloadstart_new_schedule
Clone services:
add_cloneremove_cloneset_clone_modeclear_master_clone
Diagnostics/raw services:
send_raw_commandread_pwm_frequencyread_descriptionread_led_statusread_schedule_statusread_schedule_stringread_info_g8
For full field definitions see: custom_components/skylight_local/services.yaml.
service: skylight_local.set_channel
data:
entry_id: YOUR_ENTRY_ID
channel: 0
value: 35.5- This is an unofficial project.
- Commands are sent directly to the lamp over HTTP.
- Connection failures and HTTP errors are surfaced as Home Assistant errors.
send_raw_commandrequires exactly one of:paramsorctrl.
- Confirm the lamp IP is reachable from Home Assistant host.
- Verify lamp local API endpoints respond:
http://<lamp_ip>/statusPage
- If an entity appears stale, trigger an update or call one diagnostic read service.
This project is provided "as is", without any warranty of any kind, express or implied.
By using this integration, you accept full responsibility for configuration, operation, and any outcomes on your Home Assistant instance, network, lamp hardware, or data.
The author and contributors are not liable for any direct, indirect, incidental, special, exemplary, or consequential damages, including but not limited to device malfunction, data loss, downtime, misconfiguration, or any other issues resulting from installation or use.
Use at your own risk.
MIT (see LICENSE).