Commit Graph
9 Commits
Author SHA1 Message Date
Robin von Bülow 031830454a fix(ha-integration): ausgeschaltete Lampe -> "unavailable" statt Fehlerzustand
War eine Lampe stromlos, wurde der Verbindungsfehler als UpdateFailed
gemeldet; HA schob den Config-Entry in SETUP_RETRY und die Integration
fiel in den Fehlerzustand. Jetzt wird Connection-Refused/Timeout als
NinlightUnavailable gefuehrt: der Coordinator liefert den letzten
bekannten State mit available=False, der Entry bleibt geladen und die
Entity zeigt "unavailable". Protokollfehler (400, kaputtes JSON) und
Auth (401 -> Reauth) verhalten sich unveraendert.

Light-Faehigkeiten (RGB/CT, Kelvin-Bereich) sind deshalb dynamische
Properties — ein Entry, der mit stromloser Lampe angelegt wurde,
erkennt sie, sobald die Lampe antwortet.
2026-10-02 08:37:50 +02:00
Robin von Bülow 19a0d6539a docs(bulb-map): Montana-Black-Shield (f960) ergaenzt 2026-09-25 17:53:43 +02:00
Robin von Bülow 41088b13ae chore(tools): qconnex-Migrationswerkzeug und HA-Integration ins Repo
qconnex-listen/ (OTA-Falle: AP + DHCP + Range-Server, Onboarding-Client) und
ha-integration/ (Home-Assistant-custom_component ninlight) waren seit der
Erfindung nur auf diesem Rechner. Bilder, Request-Log, hostapd-Log und PIDs
ueber .gitignore draussen - die Images sind generierbar, sobald die
Signierschluessel erreichbar sind. otaserve.py bildet jetzt auch die
Montana-Black-Produkt-ID auf ledshield_rgb ab.
2026-09-25 17:41:47 +02:00
Robin von Bülow 09ee206906 feat(station): Montana-Black-Produkt-ID -> Ziel ledshield_rgb
Meldet eine Lampe @qcx.montana.black.ledshield.rgb(-dev), sucht die Station
jetzt ledshield_rgb_(dev|prod).img statt zufaellig das E27-Image.
Produktname/Ziel aus qcl_product_info.c der Original-Firmware.
2026-09-25 17:39:41 +02:00
Robin von Bülow 8294688e37 feat(board): ledshield_rgb — Montana Black RGB-LED-Shield (analoge RGB-Streifen)
Viertes Analog-Profil neben den SM2135EH-Lampen: PWM-Kanaele R=PB13 (ch1),
G=PB16 (ch2), B=PB15 (ch3) bei 800 Hz, PIN-belegt aus der Original-Firmware
(qcl_build_config_lamp.h, HARDWARE_MOBL_LED_SHIELD). Kein CW/WW-Zweig:
ct_min == ct_max ist das Erkennungszeichen fuer 'weiss = RGB-Mischung',
nl_color.c gibt in diesem Fall alle drei Farbkanalgleich.

Neues Bauziel in allen Skripten; test_release zaehlt Dateizahlen jetzt aus
TARGETS statt hart 8/16.
2026-09-25 17:26:46 +02:00
Robin von Bülow a3a48cdf68 build: tools/podman.sh — docker.sh-Pendant für podman (gleiches Image, gleicher Mount) 2026-09-21 17:50:36 +02:00
Robin von Bülow 1c960ad5cc Überträgt lokale Änderungen (nl_crc8 unsigned-shift, docker.sh cd -P) in neuen Top-Level-Tree und entfernt altes ninlight-w600/ 2026-09-21 14:35:22 +02:00
Robin von Bülow cc14efea01 Merge ninharp/ninlight-w600 origin/main 2026-09-21 14:05:38 +02:00
Robin von Bülow ea711b6264 Initial commit 2026-09-15 20:54:23 +02:00