Lampie
Notification orchestration across multiple Inovelli switches
Install / Use
/learn @wbyoung/LampieREADME
Lampie for Home Assistant
[][hacs-repo]
[
][hacs-repo]
[
][releases]
[
][gh-sponsors]
Orchestrate notifications across multiple Inovelli switches.
What it can do:
- Multiple switches
Display a single LED effect across several physical switches. - Shared dismissal
Dismissal of the notification from any switch will dismiss the notification on all switches. - Notification priority
Display notifications with a predefined priority so that the most important is shown first. - Customizable timeframes
Notifications can have durations of any length of time & are not constrained by what the switch firmware supports, i.e. 90 minutes. - State monitoring
Entities are created allowing you to tell when notifications are displayed and details about color, effect, duration, etc. - Customized actions
A custom script can be run & modify behavior when a notification starts or ends. - Even more
There are some more goodies in to docs below. Enjoy!
Note: currently this is limited to Blue switches using ZHA, but ideally Z2M and other Inovelli switches will be added in the future.
Configure notifications for multiple switches easily:
<img width="300" alt="Image" src="https://github.com/user-attachments/assets/02f4888b-836c-4114-8a1d-bff66738087e" />The integration creates a simple switch to turn the notification on and off:
<img width="300" alt="Image" src="https://github.com/user-attachments/assets/1ed2590f-7fc3-4ff9-99d2-a50cdf75a6c1" />And sensors on each of the switches to see the current state of each switch:
<img width="300" alt="Image" src="https://github.com/user-attachments/assets/fc29de87-be5c-47e7-ad35-e1cd126a45fa" />Because sometimes one notification may have a higher priority and override another.
Installation
HACS
Installation through [HACS][hacs] is the preferred installation method.
[![Open the Lampie integration in HACS][hacs-badge]][hacs-open]
- Click the button above or go to HACS → Integrations → search for "Lampie" → select it.
- Press DOWNLOAD.
- Select the version (it will auto select the latest) → press DOWNLOAD.
- Restart Home Assistant then continue to the setup section.
Manual Download
- Go to the [release page][releases] and download the
lampie.zipattached to the latest release. - Unpack the zip file and move
custom_components/lampieto the following directory of your Home Assistant configuration:/config/custom_components/. - Restart Home Assistant then continue to the setup section.
Setup
Open your Home Assistant instance and start setting up by following these steps:
- Navigate to "Settings" → "Devices & Services"
- Click "+ Add Integration"
- Search for and select → "Lampie"
Or you can use the My Home Assistant Button below.
[][config-flow-start]
Follow the instructions to configure the integration.
Configuration Settings
- Choose a name for the notification.
- Choose a color for the notification. The color can be one of the following predefined values or a number in the range 0 - 255:
red→ 0blue→ 170cyan→ 130green→ 90pink→ 230orange→ 25yellow→ 45purple→ 200white→ 255
- Choose the effect type.
- Choose a duration in seconds. If left empty, the notification will stay active until dismissed.
- If desired, configure advanced configuration options.
- When you proceed, you may need to choose priorities for switches.
Notification Priority
When a switch is used for multiple notifications, you may need to choose a priority with which to display notifications. For instance, if you have configured a notification Doors Unlocked to be presented on light.kitchen, and are now adding a new notification, Medicine Reminder, you'll have to choose which will be displayed if both notifications are active. You'll be prompted to provide a list of slugs. In this case, if you wanted the medicine reminder displayed when both are active, you would provide:
- medicine_reminder
- doors_unlocked
Advanced Configuration Settings
The following advanced configuration options are available:
Start Action
A script that will be called when the notification is activated. This can occur when the notification first turns on or when the notification is re-activated due to an service/action call. The following fields & response variables are used:
- Input fields:
notification: The slug of the notification being activated.leds: The current configuration of the LEDs for the notification. If being activated, this is how they're configured by default. If the notification is active and being re-activated, this is the current LED configuration (respecting any override used inlampie.activate).
- Response variables all are optional:
ledsdefault »null: An override LED configuration to use ornullto use the already configured value. See:examples/start-action.yaml.block_activationdefault »False: Allow blocking of activation (including marking the notification ason).
End Action
A script that will be called when the notification is deactivated. This can occur because the notification was turned off via the switch.<notification_name>_notification entity being toggled off, the duration of the notification expiring, or being dismissed on the physical switch. The following fields & response variables are used:
- Input fields:
notification: The slug of the notification that is ending.switch_id: If dismissed on the physical switch, the entity ID of the switch.device_id: If dismissed on the physical switch, the device ID of the switch.dismissed: True if being dismissed on the physical switch.
- Response variables all are optional:
block_dismissaldefault »False: Block the dismissal of this notification. This is only considered when the notification is dismissed on the physical switch and the input fielddismissedis true.block_nextdefault »False: Block the immediate re-display of another notification on all switches made available by this notification ending. This can be useful if you know a switch is going to be used for something else immediately after the notification ends.
Full LED Configuration
Individual LEDs can be configured via this option. The configuration should provide a list of items for each LED of your switch (starting at the bottom) with the following keys:
colordefault »blue: The predefined color (see above) or number in the range 0 - 255.effectdefault »solid: The effect type.brightnessdefault »100: The brightness percentage in the range 0 - 100.durationdefault »null: The duration in seconds ornullfor a notification that does not expire.
Entities
Several entities are created for for each notification across the sensor and switch platforms. Some are created for the specific notification while others are created for each switch that is targeted:
switch.<notification_name>_notificationsensor.<switch_id>_notificationsensor.<switch_id>_brightnesssensor.<switch_id>_colorsensor.<switch_id>_durationsensor.<switch_id>_effect
switch.<notification_name>_notification
The switch to turn on or off the notification.
Attributes
started_at: The time the notification started, only present when a duration is used.expires_at: The time the notification expires; only present when a duration is used and it's not supported by the switch firmware.
sensor.<switch_id>_notification
The slug of the active notification.
The slug is based on the title of the config entry that activated the notification.
sensor.<switch_id>_brightness
The brightness of the LEDs for the active notification.
When using individual LEDs:
- Sensor value: Average brightness
- Added attribute:
individualwith the brightness of each LED
sensor.<switch_id>_color
The color of the active notification. This may be either a string or a number depending on how it was configured.
When using individual LEDs:
- Sensor value: A color if only one is used, otherwise
multi - Added attribute:
individualwith the color of each LED
sensor.<switch_id>_duration
The duration of the active notification.
When using individual LEDs:
- Sensor value: Maximum duration
- Added attribute:
individualwith the duration of each LED
Attributes
started_at: The time the switch override started, only present when a duration is used.expires_at: The time the switch override expires; only present when a duration is used and it's not supported by
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
