Edistynyt LED-valaistus - DMX-skenet, sirkadiaaninen valaistus, vedenalaiset valot

Tiivistelmä

Miksi edistynyt LED-valaistus?

Perus-LED-valaistus (PWM-himmennys, yksiväriset, RGB) tuo energiansäästöä ja tunnelmavalaistusta. Edistynyt valaistus lisää:

---

Edistynyt LED-valaistuksen osat

OsaPerus vs EdistynytEdistynut ominaisuus
KontrolleriPWM-himmenninDMX512-kontrolleri (enttec, Philips, Nicolaudie, WLED)
ValaistuslogiikkaManuaalinen (kytkin)Node-RED / QLC+ / WLED -> skenet, moodit, triggaus
SkenetVakio (ON/OFF/himmennys)Auringon nousu/lasku, yö, päivä, kalastus, ankkuri, ankkurihälytys, MOB
SirkadiaaninenEiCircadian Controller (Kumospace, Bionetic, Home Assistant + WLED) -> automaattinen värilämpötila 2700K–6500K
VedenalaisetEi (tai vakio)RGB/RGBW/valkoinen/sininen, 1000–10000 lm, IP68, syvyys 5–30 m
IntegrointiEiNMEA 2000 / Signal K / MQTT / Home Assistant
EtähallintaKytkinPlotteri/MFD, mobiili-appi, ääniohjaus (Alexa/Google), kaukosäädin

---

OsanumeroTuoteOEM-numeroHinta
DMX-001OEM-osa
WLED-001OEM-osa
UW-001OEM-osa
UW-002OEM-osa
CIR-001OEM-osa

Edistynyt valaistus - ohjelmistovertailu (2026)

OhjelmistoKäyttötarkoitusDMX-tukiWLED-tukiMQTTNode-REDHintaVaikeus
WLEDLED-ohjaus (WiFi)Ei (DDP/Art-Net)Kyllä (sydän)KylläKyllä (MQTT)0 € (open source) + ESP32 (10 €)Helppo
QLC+DMX-valaistus PC/Mac/LinuxKyllä (enttec/usbdmx/openDMX)Kyllä (Art-Net)KylläKyllä (MQTT)0 € (open source)Keskivaikea
Node-REDIoT-logiikka, automaatioVälillisesti (MQTT)Kyllä (MQTT)Kyllä (sydän)Kyllä (sydän)0 € (open source)Keskivaikea
Home AssistantKotiautomaatio, MQTTVälillisesti (MQTT)Kyllä (integraatio)KylläKyllä0 € (open source)Keskivaikea
Light-O-RamaKoriste-valaistus (joulu/vene)KylläEiEiEi50–500 € (Pro)Helppo
DaslightDMX-valaistus (musiikki-sync)Kyllä (enttec/usbdmx)EiEiEi100–1000 € (Pro)Keskivaikea
MadrixLED-matriisi (video-mapping)Kyllä (enttec/NEB)Ei (Art-Net)EiEi500–5000 € (Pro)Vaikea

Suositus:

---

Edistynyt valaistuksen rakentaminen

1. Skenet (Scenes) ja Moodit (Modes)

#### 1.1 Esimerkki-skenet

SkeneLED-väriKirkkausDMX-kanavatKäyttö
"Aamu" (Morning)Lämmin valkoinen 3000K80%1–4 (lämmin valkoinen)Aamu 06:00–10:00, valmistautuminen
"Päivä" (Day)Viileä valkoinen 5000K100%5–8 (viileä valkoinen)Päivä 10:00–16:00, aktiivinen
"Ilta" (Evening)Lämmin 2700K60%9–12 (lämmin)Ilta 16:00–22:00, rentoutuminen
"Yö" (Night)Punainen 0% sininen10%13–16 (punainen)Yö 22:00–06:00, navigointi, matkustamon
"Kalastus" (Fishing)Vihreä 0% punainen80%17–20 (vihreä)Kalastus, ei houkuttele hyönteisiä
"Ankkuri" (Anchor)Sininen50%21–24 (sininen)Ankkuri, tunnelma, varoitus (kaikki sininen)
"MOB" (Man Overboard)Punainen nopea vilkku100%25–28 (punainen vilkku)MOB-hälytys, kaikki punainen vilkku
"Ankkurihälytys" (Anchor Alarm)Punainen sykkivä100%29–32 (punainen sykkivä)Ankkurihälytys (kaikuhälytys)
"Vedenalainen" (Underwater)RGB-väri (valittavissa)100%33–40 (RGB)Vedenalaiset valot (yöuinti)

#### 1.2 Auringon mukaan himmennys (Circadian)

Logiikka (Node-RED):

`javascript

// Node-RED function node: Circadian brightness/color

const now = new Date();

const lat = 60.1699; // Helsinki

const long = 24.9384;

const sun = require('suncalc');

// Laske auringon nousu/lasku

const sunrise = sun.getTimes(now, lat, long).sunrise;

const sunset = sun.getTimes(now, lat, long).sunset;

// Kirkkaus: 0% yöllä, 100% keskipäivällä

let brightness = 0;

if (now >= sunrise && now <= sunset) {

const total = sunset - sunrise;

const elapsed = now - sunrise;

// Sinimuotoinen: 0% auringon nousussa -> 100% keskipäivällä -> 0% auringon laskussa

brightness = Math.sin((elapsed / total) * Math.PI) * 100;

} else {

// Yö: 5% (punainen valo)

brightness = 5;

}

// Värilämpötila: 6500K (keskipäivä) -> 2700K (auringon nousu/lasku)

let kelvin = 6500;

if (now >= sunrise && now <= sunset) {

const total = sunset - sunrise;

const elapsed = now - sunrise;

// Sinimuotoinen: 2700K (nousu) -> 6500K (keskipäivä) -> 2700K (lasku)

kelvin = 2700 + Math.sin((elapsed / total) * Math.PI) * 3800;

} else {

kelvin = 2700; // Yö: lämmin

}

// MQTT publish

msg = {

payload: {

brightness: Math.round(brightness),

kelvin: Math.round(kelvin),

color: { r: kelvin_to_rgb(kelvin).r, g: kelvin_to_rgb(kelvin).g, b: kelvin_to_rgb(kelvin).b }

}

};

return msg;

`

#### 1.3 NMEA 2000 -triggerit

TriggeriNMEA PGNToiminto
Nopeus > 5 kn128259 (Speed)Laita "Päivä" / "Purjehdus"-skene
Nopeus = 0 (ankkuri)128259Laita "Ankkuri"-skene (sininen tunnelma)
Syvyys < 2 m128267 (Depth)Varoitus: punainen sykkivä kaikkialla
Kaiku-signaali (esim. 50 m vesi)128267"Kalastus"-skene (vihreä)
Tuuli > 20 kn130306 (Wind)"Meri"-skene (valkoinen, kirkas)
Auringon lasku (12 min ennen)127250 (Heading)Laita "Auringonlasku"-skene (häivytys)
MOB-hälytys127233 (MOB)"MOB"-skene (punainen nopea vilkku)

Node-RED function node: NMEA-triggeri:

`javascript

// Trigger "Kalastus"-skene kun syvyys 20-100m ja nopeus 0

msg.payload = msg.payload || {};

const depth = msg.payload.depth;

const speed = msg.payload.speed;

if (depth >= 20 && depth <= 100 && speed < 0.5) {

msg.topic = "boat/lighting/scene";

msg.payload = "fishing";

} else if (depth < 2) {

msg.topic = "boat/lighting/scene";

msg.payload = "shallow_warning";

} else if (speed < 0.5) {

msg.topic = "boat/lighting/scene";

msg.payload = "anchor";

}

return msg;

`

2. DMX512-järjestelmä (teatteri-laatu)

#### 2.1 Laitteisto

OsaHintaKuvaus
Enttec USB-DMK2199 €USB -> DMX512, 512 kanavaa, 1 universumi
Enttec DIN-DMX-2249 €DIN-kiskoasennus, 2 universumi (1024 kanavaa)
Philips Hue Bridge + DMX199 € (Bridge) + 50 € (DMX)ZigBee + DMX-yhdyskäytävä
Nicolaudie STICK-DE3299 €Standalone, Ethernet, kaukosäädin
WLED ESP32 + RS485 DMX25 € (ESP32) + 5 € (MAX485)DIY DMX-tuki
DMX-kaapeli (XLR-3p)2 €/mSuojattu, 120 Ω, max 300 m
DMX-jakaja (Splitter)80–200 €1 sisään -> 4 ulos, optoeristetty

#### 2.2 QLC+ konfiguraatio

`xml

<!-- QLC+ workspace: boat_lighting.qxw -->

<Workspace>

<Engine>

<Fixture id="cabin_main" type="Generic_RGBW" name="Cabin Main">

<Channel name="Red" />

<Channel name="Green" />

<Channel name="Blue" />

<Channel name="White" />

<Address>1,1,1,1</Address>

</Fixture>

<Fixture id="cabin_night" type="Generic_RGBW" name="Cabin Night (red)">

<Channel name="Red" />

<Address>5,1,1,1</Address>

</Fixture>

<Fixture id="underwater_port" type="Generic_RGBW" name="Underwater Port">

<Channel name="Red" />

<Channel name="Green" />

<Channel name="Blue" />

<Channel name="White" />

<Address>9,1,1,1</Address>

</Fixture>

<Fixture id="underwater_stbd" type="Generic_RGBW" name="Underwater Starboard">

<Channel name="Red" />

<Channel name="Green" />

<Channel name="Blue" />

<Channel name="White" />

<Address>13,1,1,1</Address>

</Fixture>

</Engine>

<Function id="morning_scene" type="Scene" name="Morning">

<Fixture val="cabin_main">

<Color val="3000K" /> <!-- Lämmin valkoinen -->

<Intensity val="80%" />

</Fixture>

</Function>

<Function id="night_scene" type="Scene" name="Night (red)">

<Fixture val="cabin_night">

<Color val="FF0000" /> <!-- Punainen -->

<Intensity val="10%" />

</Fixture>

</Function>

<Function id="underwater_rainbow" type="Chaser" name="Underwater Rainbow">

<Step><Fixture val="underwater_port"><Color val="FF0000" /><Intensity val="100%" /></Fixture></Step>

<Step><Fixture val="underwater_port"><Color val="00FF00" /><Intensity val="100%" /></Fixture></Step>

<Step><Fixture val="underwater_port"><Color val="0000FF" /><Intensity val="100%" /></Fixture></Step>

<Step><Fixture val="underwater_stbd"><Color val="FF0000" /><Intensity val="100%" /></Fixture></Step>

<Step><Fixture val="underwater_stbd"><Color val="00FF00" /><Intensity val="100%" /></Fixture></Step>

<Step><Fixture val="underwater_stbd"><Color val="0000FF" /><Intensity val="100%" /></Fixture></Step>

<Speed val="2000" /> <!-- 2s per step -->

</Function>

</Workspace>

`

3. Sirkadiaaninen valaistus (Circadian)

#### 3.1 Periaate

#### 3.2 Laitteet ja hinta

LaiteHintaToiminto
Kumospace Circadian Controller299 €Tukee DMX/DALI/0-10V, automaattinen värilämpötila
Bionetic Biolux449 €Täysautomaattinen, sisäänrakennettu astronominen kello, DMX/DALI/0-10V
Home Assistant + WLED0 € (ohjelmisto) + 25 € (ESP32)DIY, MQTT-ohjaus, custom skriptit
Philips Hue White Ambiance + Bridge199 € (Bridge) + 50 €/lamppuZigBee, automaattinen värilämpötila (Philips app)
LED-nauha CCT (tunable white)30–80 €/m2700K-6500K, kaksivyöhykkeinen (lämmin + kylmä LED)

#### 3.3 Home Assistant konfiguraatio (WLED + Circadian)

`yaml

# configuration.yaml

light:

name: "Cabin Circadian"

state_topic: "wled/cabin/state"

command_topic: "wled/cabin"

brightness_state_topic: "wled/cabin/state"

brightness_command_topic: "wled/cabin/brightness"

color_temp_state_topic: "wled/cabin/state"

color_temp_command_topic: "wled/cabin/color_temp"

schema: json

brightness: true

color_mode: color_temp

supported_color_modes: ["color_temp"]

min_mireds: 153 # 6500K

max_mireds: 370 # 2700K

`

Automaatio (Home Assistant):

`yaml

trigger:

minutes: "/5" # every 5 min

action:

target:

entity_id: light.cabin_circadian

data:

brightness: "{{ states('sensor.cabin_circadian_brightness') }}"

color_temp: "{{ states('sensor.cabin_circadian_kelvin') }}"

`

4. Vedenalaiset LED-valot (Underwater)

#### 4.1 Teknologiavertailu

TyyppiLEDTehoValovirtaSoveltuvuusHinta
Valkoinen (Single Color)12× 5W Cree60 W6000 lmYöuinti, kalastus350 €/kpl
RGB (3in1)12× 5W RGB60 W4000 lmTunnelma, RGB-värit450 €/kpl
RGBW (4in1)12× 5W RGBW60 W4500 lmParas monipuolisuus550 €/kpl
Sininen (Blue)12× 5W Blue60 W3000 lm (näkyvä vesi)Houkuttelee kalat400 €/kpl
High-Intensity (1× 100W)1× 100W LED100 W12000 lmAmmattilainen, kalastus1200 €/kpl

#### 4.2 Asennus

#### 4.3 Vedenalainen valaistus DMX-ohjauksella

`xml

<!-- QLC+ function: underwater_breathing -->

<Function id="underwater_breathing" type="Chaser" name="Underwater Breathing">

<Step><Fixture val="underwater_port"><Color val="0000FF" /><Intensity val="100%" /></Fixture></Step>

<Step><Fixture val="underwater_stbd"><Color val="0000FF" /><Intensity val="100%" /></Fixture></Step>

<Speed val="4000" /> <!-- 4s per step (breathing effect) -->

</Function>

<Function id="underwater_music" type="Chaser" name="Underwater Music Sync">

<!-- Triggaus audio input: pulse to bass -->

<AudioInput device="system" channel="left" />

<Step><Fixture val="underwater_port"><Intensity val="100%" /></Fixture></Step>

<Speed val="200" /> <!-- 200ms per step (fast pulse) -->

</Function>

`

5. WLED (ESP32) - DIY ohjain

#### 5.1 Laitteistotarve

OsaHinta
ESP32 (Wemos LOLIN D32, 30 pin)10 €
5V virtalähde (Mean Well LRS-50-5)15 €
LED-nauha (WS2812B, 30 LED/m, 5m)25 €
3D-tulostettu kotelo (IP65)5 € (tulostus)
Yhteensä55 €

#### 5.2 WLED konfiguraatio

`json

// WLED konfiguraatio (presets.json)

{

"0": {

"n": "Morning",

"col": [[255, 220, 200]], // 3000K

"bri": 200,

"fx": 0, // Solid

"on": true

},

"1": {

"n": "Day",

"col": [[255, 255, 255]], // 6500K

"bri": 255,

"fx": 0,

"on": true

},

"2": {

"n": "Night (red)",

"col": [[255, 0, 0]],

"bri": 25,

"fx": 0,

"on": true

},

"3": {

"n": "Anchor (blue)",

"col": [[0, 0, 255]],

"bri": 128,

"fx": 0,

"on": true

},

"4": {

"n": "Fishing (green)",

"col": [[0, 255, 0]],

"bri": 200,

"fx": 0,

"on": true

},

"5": {

"n": "MOB (red flash)",

"col": [[255, 0, 0]],

"bri": 255,

"fx": 1, // Blink

"sx": 10, // Speed

"on": true

}

}

`

#### 5.3 MQTT-ohjaus (Node-RED)

`javascript

// WLED MQTT API

msg.topic = wled/cabin/api;

msg.payload = JSON.stringify({

on: true,

bri: 200,

col: [[255, 220, 200]], // 3000K

ps: 0 // Preset 0 = Morning

});

return msg;

`

6. Integrointi NMEA 2000:een

#### 6.1 Signal K -skripti

`javascript

// /signalk/scripts/lighting_control.js

// Trigger: nopeus, syvyys, MOB -> valaistusskene

const mqtt = require('mqtt');

const client = mqtt.connect('mqtt://localhost:1883');

module.exports = function(sk) {

// Kuuntele nopeutta

sk.on('vessels.self.navigation.speedOverGround', (value) => {

if (value > 5) {

client.publish('boat/lighting/scene', 'sailing');

} else if (value < 0.5) {

client.publish('boat/lighting/scene', 'anchor');

}

});

// Kuuntele syvyyttä

sk.on('vessels.self.environment.depth.belowTransducer', (value) => {

if (value < 2) {

client.publish('boat/lighting/scene', 'shallow_warning');

} else if (value >= 20 && value <= 100) {

client.publish('boat/lighting/scene', 'fishing');

}

});

// Kuuntele MOB-hälytystä

sk.on('vessels.self.navigation.courseOverGroundTrue', (value) => {

// MOB-hälytys erikoistapaus

});

};

`

---

Edistynyt LED-valaistus - hintavertailu (2026)

RatkaisuLaitteistoOhjelmistoHinta (n.)Soveltuvuus
DIY WLED (kabinit)ESP32 + 5V PSU + LED-nauha 5mWLED (0 €)55 €Kabinit, kokki, tunnelma
DIY WLED + Circadian (Node-RED)ESP32 + LED-nauha CCTWLED + Node-RED80 €Sirkadiaaninen, automaattinen
DMX512 perus (QLC+)Enttec USB-DMK2 + DMX-himmentimet + LED-nauhatQLC+ (0 €)350 €Teatteri-laatu, DMX-skenet
DMX512 + Vedenalaiset (4×)Enttec + 4× vedenalainen RGBW + DMX-himmentimetQLC+ (0 €)2350 €Täydellinen järjestelmä, RGB-skenet
Circadian valmis (Kumospace/Bionetic)Circadian Controller + LED-nauha CCTSisäänrakennettu749 € + 80 €/mHelppo, automaattinen, astronominen kello
Philips Hue + DMXHue Bridge + Hue lamput + DMX-yhdyskäytäväHue app + DMX600 €ZigBee, helppo app, värilämpötila
Täydellinen järjestelmä (Pro)Enttec + DMX-himmentimet + LED-nauhat + vedenalaiset 4× + Circadian ControllerQLC+ + Node-RED + Signal K4000 €Ammattilainen, kaikki skenet, triggaus, etähallinta

---

UKK

Miksi DMX512 eikä pelkkä PWM?

Miksi Circadian-valaistus on tärkeä?

Miksi vedenalaiset LED-valot ovat tärkeitä?

Miten "Triggaus" (NMEA 2000) toimii käytännössä?

  1. Anturit lähettävät NMEA 2000 PGN:iä (esim. syvyys, nopeus)
  2. Signal K muuntaa PGN -> JSON-viestejä (vessels.self.environment.depth.belowTransducer)
  3. Node-RED kuuntelee JSON-viestejä -> triggeröi logiikan
  4. Logiikka -> julkaisee MQTT-viestin (boat/lighting/scene = "fishing")
  5. WLED/QLC+ kuuntelee MQTT-viestin -> vaihtaa skeneen (kalastus = vihreä)

Miten "Musiikki-sync" (Audio) toimii?

Miten "Anchor Alarm" -integraatio toimii?

Miksi WLED on niin suosittu?

Miten "Underwater LED" asennetaan turvallisesti?

  1. Sammuta virta ennen asennusta
  2. Kiinnitä M6-ruuveilla peräpeiliin (3 ruuvia / valaisin), tiiviste välissä
  3. Vedenalainen kaapeli (tinned copper, 1.5 mm²) -> veneen sisätilaan
  4. Liitin vedenpitävä (IP68, M16, 3-napainen) liitoskohtaan
  5. Käytä merivedenkestävää tiivistettä (3M 5200, Sikaflex 291i)
  6. Testaa maalla ennen veneeseen asennusta
  7. Tarkasta vuosittain liittimet ja tiivisteet

---

Liittyviä oppaita

---

Lähteet

Virallinen käyttöohje

Mallikohtaisen käyttöohjeen saat moottorin valmistajan sivuilta:

Laaja valikoima erikoisosia. Toimitus Suomeen 5-7 arkipäivää. SVB Marine