# flo-r1der/esphome_rgb-status-led_package architecture

> Architecture diagram of the GitHub repository flo-r1der/esphome_rgb-status-led_package, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/flo-r1der/esphome_rgb-status-led_package
- Repository: https://github.com/flo-r1der/esphome_rgb-status-led_package

## Overview

This is an ESPHome configuration package for a prioritized RGB status LED, not a standalone application. Its principal workflow is to evaluate device startup, WiFi, and Home Assistant API status, select the highest-priority applicable state, and display it on the configured RGB light. Optional working and feedback scripts provide temporary pulsing and blinking signals; the pulse helper implements brightness animation. The package YAML was not sampled, so its internal script wiring and exact state triggers are represented only where the README documents the behavior.

Main entry points: [`components/system_status_led_fx/system_status_led_effect.h`](https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/components/system_status_led_fx/system_status_led_effect.h) (Pulse helper), [`status_led_package.yaml`](https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/status_led_package.yaml) (Status package), [`README.md`](https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/README.md) (Pulse effect config), [`components/system_status_led_fx/__init__.py`](https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/components/system_status_led_fx/__init__.py) (ESPHome integration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_system["System status"]
  node_package["Status package"]
  node_priority["Priority states"]
end

subgraph group_signals["Optional signals"]
  node_working["Working states"]
  node_feedback["Feedback blinks"]
end

subgraph group_effects["LED effects"]
  node_light_effect["Pulse effect config<br/>[README.md]"]
  node_pulse["Pulse helper"]
  node_integration["ESPHome integration<br/>[__init__.py]"]
end

node_device(("ESPHome device"))
node_led["RGB light entity"]

node_device -->|"provides status"| node_package
node_package -->|"evaluates states"| node_priority
node_priority -->|"sets status"| node_led
node_device -->|"triggers scripts"| node_working
node_device -->|"triggers scripts"| node_feedback
node_working -->|"sets light"| node_led
node_feedback -->|"blinks light"| node_led
node_light_effect -->|"calls"| node_pulse
node_pulse -->|"updates brightness"| node_led
node_integration -->|"includes helper"| node_pulse

click node_package "https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/status_led_package.yaml"
click node_priority "https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/status_led_package.yaml"
click node_working "https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/status_led_package.yaml"
click node_feedback "https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/status_led_package.yaml"
click node_light_effect "https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/README.md"
click node_pulse "https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/components/system_status_led_fx/system_status_led_effect.h"
click node_integration "https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/components/system_status_led_fx/__init__.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_package,node_priority toneBlue
class node_working,node_feedback toneAmber
class node_light_effect,node_pulse,node_integration toneMint
class node_device,node_led toneIndigo
```

## Components

### System status

- [Status package](https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/status_led_package.yaml): `status_led_package.yaml`
- [Priority states](https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/status_led_package.yaml): `status_led_package.yaml`

### Optional signals

- [Working states](https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/status_led_package.yaml): `status_led_package.yaml`
- [Feedback blinks](https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/status_led_package.yaml): `status_led_package.yaml`

### LED effects

- [Pulse effect config](https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/README.md): `README.md`
- [Pulse helper](https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/components/system_status_led_fx/system_status_led_effect.h): `components/system_status_led_fx/system_status_led_effect.h`
- [ESPHome integration](https://github.com/flo-r1der/esphome_rgb-status-led_package/blob/main/components/system_status_led_fx/__init__.py): `components/system_status_led_fx/__init__.py`

### Other components

- **ESPHome device**
- **RGB light entity**

## Connections

- ESPHome device → Status package: provides status
- Status package → Priority states: evaluates states
- Priority states → RGB light entity: sets status
- ESPHome device → Working states: triggers scripts
- ESPHome device → Feedback blinks: triggers scripts
- Working states → RGB light entity: sets light
- Feedback blinks → RGB light entity: blinks light
- Pulse effect config → Pulse helper: calls
- Pulse helper → RGB light entity: updates brightness
- ESPHome integration → Pulse helper: includes helper
