Steuerung und Dimmen von Lichtern via Shadow-Nodes.
Find a file
2026-02-12 12:33:54 +01:00
textures added custom overrides, motion-sensors and more... 2026-02-12 12:30:39 +01:00
handlers.lua added custom overrides, motion-sensors and more... 2026-02-12 12:30:39 +01:00
init.lua added custom overrides, motion-sensors and more... 2026-02-12 12:30:39 +01:00
mod.conf added custom overrides, motion-sensors and more... 2026-02-12 12:30:39 +01:00
motion_sensor.lua added custom overrides, motion-sensors and more... 2026-02-12 12:30:39 +01:00
nodes.lua init 2026-02-12 12:21:21 +01:00
overrides.lua added custom overrides, motion-sensors and more... 2026-02-12 12:30:39 +01:00
panel.lua init 2026-02-12 12:21:21 +01:00
README.md README.md aktualisiert 2026-02-12 12:33:54 +01:00
switch.lua added custom overrides, motion-sensors and more... 2026-02-12 12:30:39 +01:00
timer.lua.broken added custom overrides, motion-sensors and more... 2026-02-12 12:30:39 +01:00
tools.lua added custom overrides, motion-sensors and more... 2026-02-12 12:30:39 +01:00

💡 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:
git clone https://git.geigernet.eu/Luanti-Minetest/smart_light.git
  1. 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).
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:

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.