87 lines
No EOL
3.2 KiB
Markdown
87 lines
No EOL
3.2 KiB
Markdown
# 💡 Smart Light System for Luanti
|
||
|
||
Ein hocheffizientes Beleuchtungssystem für Luanti (Minetest), das eine zentrale Steuerung von Lichtquellen über Areas und Channels ermöglicht. Es bietet Unterstützung für Dimmen, Bewegungsmelder und eine automatisierte Einbindung externer Licht-Mods.
|
||
|
||
---
|
||
|
||
## 🚀 Kern-Features
|
||
|
||
* **Zentrales Management:** Steuerung beliebig vieler Lampen über ein einziges Panel.
|
||
* **Area & Channel Logik:** Gruppierung von Lichtquellen (z.B. "Erdgeschoss" -> "Küche").
|
||
* **Programmer-Tool:** Schnelle Zuweisung von Konfigurationen per Klick – kein mühsames Eintippen von Koordinaten.
|
||
* **Motion Sensors:** Automatisches Schalten bei Bewegung mit einstellbarer Reichweite und Zeit.
|
||
* **Smart Overrides:** Einzigartiges System zur automatischen Integration von Lampen aus Mods wie **morelights** oder **myschool**.
|
||
|
||
---
|
||
|
||
## 🛠 Installation
|
||
|
||
1. Navigiere in deinen Luanti **mods** Ordner.
|
||
2. Klone das Repository:
|
||
```bash
|
||
git clone https://git.geigernet.eu/Luanti-Minetest/smart_light.git
|
||
```
|
||
3. Stelle sicher, dass die Mod in der **world.mt** aktiviert ist.
|
||
```
|
||
load_mod_smart_light = mods/smart_light
|
||
```
|
||
|
||
---
|
||
|
||
## 📋 Konfiguration der Lampen-Filter (overrides.lua)
|
||
|
||
Das System nutzt spezifische Lua-Patterns, um externe Lampen automatisch zu erkennen und mit Smart-Light-Funktionen auszustatten. Dies geschieht in der **overrides.lua**.
|
||
|
||
### 1. Muster-Definition (Patterns)
|
||
Anstatt jede Lampe einzeln zu registrieren, werden Muster verwendet:
|
||
|
||
| Muster | Ziel | Erklärt |
|
||
| :--- | :--- | :--- |
|
||
| **mod:name** | Exakter Node | Registriert nur diesen einen Node. |
|
||
| **mod:name_.* ** | Alle Untertypen | Findet alles, was mit dem Präfix beginnt. |
|
||
| **mod:name_.** | Varianten | Der Punkt **.** steht für genau ein Zeichen (z.B. **_d**, **_l**, **_c**). |
|
||
|
||
```lua
|
||
local lamp_patterns = {
|
||
"mod:specific_light", -- finds specific light
|
||
"mod_pack:light.*", -- finds ex. light_normal, light_vintage, ...
|
||
"mod_pack:light_.", -- finds ex. light_a, light_b, ...
|
||
}
|
||
```
|
||
|
||
### 2. Blacklist
|
||
Falls ein Muster zu weit greift, können Nodes explizit ausgeschlossen werden:
|
||
```lua
|
||
local blacklist = {
|
||
["lights_mod:light_cable"] = true, -- Wird ignoriert
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 🎮 Bedienung
|
||
|
||
### Der Programmer
|
||
Das wichtigste Werkzeug für den Aufbau deines Netzwerks:
|
||
* **Rechtsklick in die Luft:** Öffnet das Setup (Area/Channel Wahl).
|
||
* **Linksklick auf Node:** "Paste" – Überträgt die Konfiguration auf Lampen, Schalter oder Sensoren.
|
||
* **Rechtsklick auf Node:** Öffnet das gerätespezifische Menü (z.B. Sensor-Reichweite).
|
||
|
||
### Das Controller-Panel
|
||
* Zeigt alle aktiven Kanäle einer Area an.
|
||
* Ermöglicht das Dimmen in Stufen (Max, Med, Min, Off).
|
||
* **Admin-Modus:** Linksklick mit dem Programmer auf das Panel öffnet die Kanal-Verwaltung.
|
||
|
||
---
|
||
|
||
## 🏗 Technische Funktionsweise (Shadow Nodes)
|
||
|
||
Um fremde Lampen steuerbar zu machen, ohne deren Code zu ändern, erstellt Smart Light beim Serverstart automatisch **Shadow-Nodes**. Diese übernehmen die Texturen und Eigenschaften der Original-Nodes, werden aber um die Smart-Light-Logik erweitert.
|
||
|
||
|
||
|
||
---
|
||
|
||
## 📜 Lizenz
|
||
|
||
Dieses Projekt ist unter der **MIT-Lizenz** lizenziert. Du kannst es frei verwenden, modifizieren und teilen. |