SkillAgentSearch skills...

Lampie

Notification orchestration across multiple Inovelli switches

Install / Use

/learn @wbyoung/Lampie
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Lampie for Home Assistant

[HACS][hacs-repo] [HACS installs][hacs-repo] [Version][releases] Downloads Build [Github Sponsors][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]

  1. Click the button above or go to HACS → Integrations → search for "Lampie" → select it.
  2. Press DOWNLOAD.
  3. Select the version (it will auto select the latest) → press DOWNLOAD.
  4. Restart Home Assistant then continue to the setup section.

Manual Download

  1. Go to the [release page][releases] and download the lampie.zip attached to the latest release.
  2. Unpack the zip file and move custom_components/lampie to the following directory of your Home Assistant configuration: /config/custom_components/.
  3. Restart Home Assistant then continue to the setup section.

Setup

Open your Home Assistant instance and start setting up by following these steps:

  1. Navigate to "Settings" → "Devices & Services"
  2. Click "+ Add Integration"
  3. Search for and select → "Lampie"

Or you can use the My Home Assistant Button below.

[Add Integration][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 → 0
    • blue → 170
    • cyan → 130
    • green → 90
    • pink → 230
    • orange → 25
    • yellow → 45
    • purple → 200
    • white → 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 in lampie.activate).
  • Response variables all are optional:
    • leds default » null: An override LED configuration to use or null to use the already configured value. See: examples/start-action.yaml.
    • block_activation default » False: Allow blocking of activation (including marking the notification as on).

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_dismissal default » False: Block the dismissal of this notification. This is only considered when the notification is dismissed on the physical switch and the input field dismissed is true.
    • block_next default » 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:

  • color default » blue: The predefined color (see above) or number in the range 0 - 255.
  • effect default » solid: The effect type.
  • brightness default » 100: The brightness percentage in the range 0 - 100.
  • duration default » null: The duration in seconds or null for 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>_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: individual with 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: individual with 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: individual with 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

View on GitHub
GitHub Stars14
CategoryDevelopment
Updated9d ago
Forks5

Languages

Python

Security Score

95/100

Audited on Mar 25, 2026

No findings