TapHome

Shelly Plus RGBW PM

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 03. 2026
Shelly Plus RGBW PM

A Shelly Plus RGBW PM egy Gen2+ Wi-Fi RGBW LED vezérlő beépített teljesítményméréssel minden kimeneti csatornán. LED szalagokat vagy egyedi LED csatornákat hajt meg 12/24 VDC-n csatornánként legfeljebb 4 x 4,5 A-rel (összesen 18 A). Az eszköz három váltható profilt támogat — light (4 független dimmer), rgb (3 csatornás szín) és rgbw (3 csatornás szín + fehér) — mindegyik különböző eszközöket tesz elérhetővé a TapHome-ban. A TapHome helyi Wi-Fi-n keresztül kommunikál az eszközzel a Gen2+ RPC API használatával — felhőkapcsolat nem szükséges.

A TapHome sablon egy HTTP sablon, amely az eszköz RPC végpontjait kérdezi le. Egyetlen sablon kezeli mind a három profilt; a TapHome futásidőben észleli az aktív profilt és aktiválja a megfelelő eszközöket.

Konfiguráció

Importparaméterek

A sablon csak az eszköz IP-címét igényli (alapértelmezett helyőrző 192.168.0.1). A TapHome a 80-as porton csatlakozik és több RPC végpontot kérdez le a rendszerállapothoz és az eszközadatokhoz.

Modulszinten a TapHome 3 másodperces időközönként lekérdezi a /rpc/Sys.GetStatus, /rpc/Sys.GetConfig, /rpc/WiFi.GetStatus és /rpc/PlusRGBWPM.GetConfig végpontokat. A Sys.GetConfig válasz megadja az aktuális profilt (device.profile), amely meghatározza, mely eszközszintű végpontok aktívak.

Profilválasztás

A Shelly Plus RGBW PM egyszerre három profil egyikében működik. A profilt közvetlenül a TapHome-ból válthatja a Set Profile szervizművelettel a modulon, vagy a Shelly webes felületéről.

ProfilEszközök a TapHome-banFelhasználás
light4 független dimmer (O1–O4)Egyszínű LED szalagok, 4 különálló világítási zóna
rgb1 RGB fényRGB LED szalagok (3 csatornás színkeverés)
rgbw1 RGBW fényRGBW LED szalagok (RGB + dedikált fehér csatorna)

A profil váltása után az eszköz újraindul, és a TapHome automatikusan észleli az új profilt. Az inaktív profilhoz tartozó eszközök hibát jeleznek (“Profile is not set to …”) — ez várható és figyelmen kívül hagyható.

Eszközfunkciók

RGB fény (profil = rgb)

Amikor az eszköz az rgb profilra van beállítva, a TapHome egyetlen HSB fényeszközt tesz elérhetővé. A sablon a /rpc/RGB.GetStatus?id=0 végpontból olvassa a be-/kikapcsolt állapotot, fényerőt (0–100 %) és RGB színértékeket, és a /rpc/RGB.Set?id=0 végponton keresztül írva vezérli a fényt.

A színvezérlés HSB-t (Hue-Saturation-Brightness) használ:

  • A Hue (0–360 fok) és Saturation (0,0–1,0) belső konverzióval HSB és RGB között
  • A Brightness (0,0–1,0) a Shelly 0–100 % tartományára van leképezve
  • A fényerő 0-ra állítása kikapcsolja a fényt; bármely nullánál nagyobb fényerő bekapcsolja

Az RGB fény öt szervizattribútumot tesz elérhetővé:

AttribútumEgységLeírás
HőmérsékletCBelső eszközhőmérséklet
EnergiafogyasztásWhKumulatív energia az RGB kimenethez
TeljesítményWPillanatnyi teljesítményfelvétel
FeszültségVEffektív feszültség
ÁramAÁramfelvétel
RGBW fény (profil = rgbw)

Amikor az rgbw profil van beállítva, a TapHome egyetlen HSB fényt tesz elérhetővé kiegészítő fehér csatornával. A sablon a /rpc/RGBW.GetStatus?id=0 végpontból olvas és a /rpc/RGBW.Set?id=0 végponton keresztül ír.

Az RGBW profil egy fehér csatornát (0–255) ad hozzá, CCT-n (korrelált színhőmérséklet) keresztül vezérelve rögzített 4500 K-en:

  • Amikor a fehér csatorna aktív (white != 0), a fényerő a fehér szintből származik (lineáris 0–255 leképezve 0,0–1,0-ra)
  • Amikor a fehér csatorna inaktív, a fényerő a standard brightness mezőből származik (0–100 %)
  • A színhőmérséklet módra váltás a TapHome-ban aktiválja a fehér csatornát; az RGB módra váltás deaktiválja

Az RGBW fény ugyanazt az öt szervizattribútumot teszi elérhetővé, mint az RGB fény (hőmérséklet, energia, teljesítmény, feszültség, áram), az RGBW.GetStatus válaszból olvasva.

Dimmerelhető LED kimenetek (profil = light)

Amikor a light profil van beállítva, a TapHome 4 független dimmercsatornát (O1–O4) tesz elérhetővé, mindegyik egy LED kimenetet vezérel. Minden csatorna a /rpc/Light.GetStatus?id={0-3} végpontból olvas és a /rpc/Light.Set?id={0-3} végponton keresztül ír.

A fényerő a TapHome 0,0–1,0 tartományából a Shelly 0–100 % tartományára van leképezve. A szint 0-ra állítása kikapcsolja a kimenetet; bármely nullánál nagyobb szint bekapcsolja és beállítja a fényerőt.

Minden dimmercsatorna hat szervizattribútumot tesz elérhetővé:

AttribútumEgységLeírás
HőmérsékletCBelső eszközhőmérséklet
EnergiafogyasztásWhKumulatív energia ehhez a csatornához
TeljesítményWPillanatnyi teljesítményfelvétel
FeszültségVEffektív feszültség
ÁramAÁramfelvétel
JelzőkBelső állapotjelzők

Minden dimmercsatorna egy Calibrate szervizműveletet is elérhetővé tesz, amely a /rpc/Light.Calibrate?id={N} végpontra küld kérést a kimenet kalibrálásához a csatlakoztatott LED terheléshez.

Moduldiagnosztika és műveletek

A modul öt szervizattribútumot tesz elérhetővé az eszközdiagnosztikához:

AttribútumLeírás
WiFi SSIDA csatlakoztatott vezeték nélküli hálózat neve
IP-címEszköz IP-címe
Jelszint (dB)WiFi RSSI
MAC-címEszköz hardvercíme
ProfilJelenleg aktív profil (light, rgb vagy rgbw)

Modulszinten három szervizművelet érhető el:

MűveletLeírás
Firmware frissítésOTA frissítést indít a stabil firmware csatornára
ÚjraindításÚjraindítja az eszközt
Profil beállításaVált a light, rgb és rgbw profilok között (az eszköz újraindul)

A modulszkript elérhető firmware frissítéseket és függőben lévő újraindítási követelményeket is ellenőriz, és figyelmeztetéseket jelenít meg a TapHome-ban, ha bármelyik feltétel észlelhető.

További funkciók

A Shelly Plus RGBW PM RPC API-ján keresztül a fizikai bemeneti állapotot, éjszakai mód konfigurációt fényerőkorlátokkal és ütemezéssel, átmeneti időtartamot szín-/fényerőváltozásokhoz és minimális fényerőt bekapcsoláskor is elérhetővé teszi. Ezek a funkciók egy jövőbeli sablonfrissítésben kerülhetnek hozzáadásra.

Hibaelhárítás

Az eszköz nem válaszol
  1. Ellenőrizze, hogy a Shelly csatlakozik a Wi-Fi-hez és érvényes IP-címmel rendelkezik
  2. Próbálja az mDNS hosztnevet (shellyplusrgbwpm-AABBCCDDEE.local) az IP-cím helyett — az IP megváltozhatott a DHCP megújítás után
  3. Nyissa meg a http://{device-ip}/rpc/Shelly.GetDeviceInfo címet a böngészőben — ha JSON-nel válaszol, az eszköz elérhető
  4. Ellenőrizze, hogy a TapHome CCU és a Shelly ugyanazon a hálózaton / VLAN-on van
  5. Győződjön meg arról, hogy a HTTP Digest Authentication ki van kapcsolva a Shelly webes felületén — a TapHome nem támogatja a hitelesített kéréseket
Profilhiba az eszközökön

Ha egy eszköz “Profile is not set to rgb/rgbw/light” üzenetet mutat — ez várható. A sablon mind a három profil eszközeit tartalmazza, de csak az aktuálisan aktív profilhoz tartozó eszközök működnek. A többi eszköz ezt a hibát jelzi, és figyelmen kívül hagyható.

Az aktív profil váltásához használja a Set Profile szervizműveletet a modulon, vagy változtassa meg a Shelly webes felületén. Az eszköz újraindul, és a TapHome egy lekérdezési cikluson belül észleli az új profilt.

A színek helytelenül jelennek meg RGB/RGBW módban
  1. Ellenőrizze, hogy a LED szalag bekötése megfelel a kimeneti kapocs sorrendjének (R, G, B, W) — felcserélt vezetékek hibás színeket eredményeznek
  2. A sablon belsőleg konvertál a HSB és RGB színterek között. Ha a színek fakónak tűnnek, ellenőrizze a telítettség értékét — alacsony telítettség pasztellszíneket eredményez
  3. RGBW módban a fehér csatorna és az RGB csatornák egymástól függetlenül vannak vezérelve. A fehérről színre vagy fordítva való váltáskor a TapHome a megfelelő parancsot küldi a másik mód nullázásához
A dimmerkimenetek nem reagálnak light módban
  1. Győződjön meg arról, hogy a profil light-ra van állítva — a dimmereszközök csak light módban működnek
  2. Ellenőrizze, hogy minden csatornához LED terhelés van csatlakoztatva — terhelés nélküli csatornák nem feltétlenül jelentenek helyes állapotot
  3. Próbálja futtatni a Calibrate műveletet a csatornán — ez optimalizálja a dimmelési görbét a csatlakoztatott LED terheléshez
  4. A Gen2+ eszközök legfeljebb 6 egyidejű HTTP-kapcsolatot támogatnak — kerülje az egyidejű lekérdezést több rendszerből
A teljesítménymérés nullát mutat
  1. Győződjön meg arról, hogy a LED terhelés csatlakoztatva van és a csatorna be van kapcsolva
  2. Kérdezze le manuálisan a megfelelő végpontot (/rpc/Light.GetStatus?id=0, /rpc/RGB.GetStatus?id=0 vagy /rpc/RGBW.GetStatus?id=0), és ellenőrizze, hogy az apower nullánál nagyobb értéket ad vissza
  3. Nagyon alacsony teljesítményű LED terhelések a mérési felbontás miatt 0 W-ot jelezhetnek — ez normális kis jelző LED-ek esetén

Telepítés a TapHome-ban

Előfeltételek

  • Shelly eszköz telepítve és bekapcsolva
  • Helyi Wi-Fi hálózat (2,4 GHz)
  • TapHome CCU ugyanazon a hálózaton

1. lépés — Shelly csatlakoztatása a Wi-Fi-hez

A lehetőség — Shelly alkalmazás (ajánlott):

  1. Töltse le a Shelly alkalmazást (iOS / Android)
  2. Érintse meg a +Add Device gombot, és kövesse a Bluetooth párosítási varázslót
  3. Adja meg Wi-Fi hitelesítő adatait, amikor a rendszer kéri

B lehetőség — AP mód (alkalmazás nélkül):

  1. Első bekapcsoláskor az eszköz létrehoz egy hotspotot: ShellyXXX-AABBCCDDEE
  2. Csatlakoztassa telefonját/PC-jét ehhez a hotspothoz
  3. Nyissa meg a http://192.168.33.1 címet → Internet & SecurityWi-Fi Mode - Client
  4. Adja meg az SSID-t és a jelszót → Save

A Shelly csak 2,4 GHz-es hálózatokat támogat. Az 5 GHz-es hálózatok nem jelennek meg a keresésben.

2. lépés — IP-cím megkeresése

A Wi-Fi-hez való csatlakozás után az alábbi módszerek egyikével keresse meg a hozzárendelt IP-címet:

  • Shelly alkalmazás: Eszköz részletei → Device info → IP-cím
  • Shelly webes felület: Csatlakozzon az eszköz AP-jához a Wi-Fi beállítás előtt — az IP a mentés után jelenik meg
  • Router DHCP tábla: Keressen egy hasonló hosztnevet: shelly1pm-AABBCCDDEE
  • mDNS: Pingelje a shelly<model>-<mac>.local címet (pl. shelly1pm-AABBCCDDEE.local) ugyanarról a hálózatról

Rendeljen statikus IP-t (DHCP foglalást) a Shelly eszközhöz a routerben, hogy a cím ne változzon a router újraindítása után.

3. lépés — Konfigurálás a TapHome-ban

  1. A TapHome-ban adjon hozzá egy új Packet Parser (HTTP) modult
  2. IP Address: adja meg a 2. lépésben kapott IP-t (pl. 192.168.1.50)
  3. Port: 80 (alapértelmezett, nem kell módosítani)
  4. Importálja a sablont — a TapHome rendszeresen lekérdezi a /status végpontot az eszköz állapotának olvasásához

A HTTP hitelesítés a Shelly eszközökön alapértelmezetten ki van kapcsolva. Ha engedélyezte a bejelentkezésvédelmet, a TapHome jelenleg nem támogatja a HTTP Basic Auth-ot — a TapHome integrációhoz hagyja kikapcsolva a hitelesítést.

Elérhető eszközök

Shelly Plus RGBW PM Modul
Szerviz attribútumok
WiFi
IP-cím
Jelerősség
MAC
Profil
Szerviz műveletek
Firmware frissítése
Újraindítás
Profil beállítása
Egyéni változók

Shelly Plus RGBW PM

Olvasás (modul)
VAR response := SENDHTTPREQUEST("/rpc/Sys.GetStatus");
IF response.IsSuccess
    Sys.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Sys.GetConfig");
IF response.IsSuccess
    Sys.GetConfig := response.Content;
END

response := SENDHTTPREQUEST("/rpc/WiFi.GetStatus");
IF response.IsSuccess
    WiFi.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/PlusRGBWPM.GetConfig");
IF response.IsSuccess
    PlusRGBWPM.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Sys.GetStatus, "available_updates.stable", true))
    addwarning("New firmware update is available");
end

if parsejson(Sys.GetStatus, "restart_required", true)
    addwarning("Restart required");
end
Szerviz attribútumok
Wifi
PARSEJSON(WiFi.GetStatus, "ssid")
${ipAddress}
PARSEJSON(WiFi.GetStatus, "sta_ip")
${xml_signal_strength} [dB]
PARSEJSON(WiFi.GetStatus, "rssi")
MAC
PARSEJSON(Sys.GetStatus, "mac")
Profile
PARSEJSON(Sys.GetConfig, "$.device.profile");
Szerviz műveletek
${xml_update_fw}
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Update?stage=\"stable\"");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END

${restart}
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Reboot");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
Set Profile
Paraméterek: Profile
VAR response := SENDHTTPREQUEST("/rpc/Shelly.SetProfile?name=\"" + 
switch(prof,
0, "light",
1, "rgb",
2, "rgbw",
"")
+ "\"");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
RGB fény HSB lámpa

HSB színes fény (rgb profil) fényerő-, árnyalat-, telítettségszabályozással és csatornánkénti teljesítményméréssel

HSB
Szerviz attribútumok
Hőmérséklet
Energiafogyasztás
Teljesítmény
Feszültség
Áram

RGB fény

Olvasás (modul)
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "rgb"
	adderror("Profile is not set to rgb (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/RGB.GetStatus?id=" + ID);
IF response.IsSuccess
    RGB.GetStatus := response.Content;
	R := PARSEJSON(RGB.GetStatus, "$.rgb[0]", true);
	G := PARSEJSON(RGB.GetStatus, "$.rgb[1]", true);
	B := PARSEJSON(RGB.GetStatus, "$.rgb[2]", true);    
END

response := SENDHTTPREQUEST("/rpc/RGB.GetConfig?id=" + ID);
IF response.IsSuccess
    RGB.GetConfig := response.Content;
END

if ! ISNULL(parsejson(RGB.GetStatus, "errors", true))
    adderror("Error: " + parsejson(RGB.GetStatus, "errors"));
end
Fényerő olvasása
bool output := PARSEJSON(RGB.GetStatus, "$.output", true);
var brightness := PARSEJSON(RGB.GetStatus, "$.brightness", true);

if output
    return(brightness / 100);
else
    return(0);
end
Fényerő írása
SENDHTTPREQUEST("/rpc/RGB.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=" + round(Hb*100.0));
Színárnyalat olvasása
VAR HSVColor := RGBTOHSV(R, G, B);
ROUND(HSVColor.Hue);
Színárnyalat írása
VAR color := HSVTORGB(Hd, Sa, 1);
SENDHTTPREQUEST("/rpc/RGB.Set?id=" + ID + "&rgb=[" + color.RED + "," + color.GREEN + "," + color.BLUE + "]");
Telítettség olvasása
VAR HSVColor := RGBTOHSV(R, G, B);
ROUND(HSVColor.Saturation * 100.0) / 100.0;
Telítettség írása
VAR color := HSVTORGB(Hd, Sa, 1);
SENDHTTPREQUEST("/rpc/RGB.Set?id=" + ID + "&rgb=[" + color.RED + "," + color.GREEN + "," + color.BLUE + "]");
Szerviz attribútumok
${device_variable_realtemperature} [°C]
parsejson(RGB.GetStatus, "$.temperature.tC", true)
${device_variable_electricityconsumption} [Wh]
parsejson(RGB.GetStatus, "$.aenergy.total", true)
${device_variable_electricitydemand} [W]
parsejson(RGB.GetStatus, "$.apower", true)
${valueLogType_ElectricVoltage} [V]
parsejson(RGB.GetStatus, "$.voltage", true)
${valueLogType_ElectricCurrent} [A]
parsejson(RGB.GetStatus, "$.current", true)
RGBW fény HSB lámpa

HSB szín+fehér fény (rgbw profil) RGB-vel, fehér csatornával (CCT 4500K-nél) és csatornánkénti teljesítményméréssel

HSB
Szerviz attribútumok
Hőmérséklet
Energiafogyasztás
Teljesítmény
Feszültség
Áram

RGBW fény

Olvasás (modul)
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "rgbw"
	adderror("Profile is not set to rgbw (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/RGBW.GetStatus?id=" + ID);
IF response.IsSuccess
    RGBW.GetStatus := response.Content;
	R := PARSEJSON(RGBW.GetStatus, "$.rgb[0]", true);
	G := PARSEJSON(RGBW.GetStatus, "$.rgb[1]", true);
	B := PARSEJSON(RGBW.GetStatus, "$.rgb[2]", true);    
END

response := SENDHTTPREQUEST("/rpc/RGBW.GetConfig?id=" + ID);
IF response.IsSuccess
    RGBW.GetConfig := response.Content;
END

if ! ISNULL(parsejson(RGBW.GetStatus, "errors", true))
    adderror("Error: " + parsejson(RGBW.GetStatus, "errors"));
end
Fényerő olvasása
bool output := PARSEJSON(RGBW.GetStatus, "$.output", true);
var brightness := PARSEJSON(RGBW.GetStatus, "$.brightness", true);
var white := PARSEJSON(RGBW.GetStatus, "$.white", true);

if output
	if white != 0
		return(linear(white, 0, 0, 255, 1));
	else
    	return(brightness / 100);
    end
else
    return(0);
end
Fényerő írása
if isnan(Ct)
	SENDHTTPREQUEST("/rpc/RGBW.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&white=0&brightness=" + round(Hb*100.0));
else
	SENDHTTPREQUEST("/rpc/RGBW.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=0&white=" + round(linear(Hb, 0, 0, 1, 255)));
end
Színárnyalat olvasása
VAR HSVColor := RGBTOHSV(R, G, B);
ROUND(HSVColor.Hue);
Színárnyalat írása
VAR color := HSVTORGB(Hd, Sa, 1);
SENDHTTPREQUEST("/rpc/RGBW.Set?id=" + ID + "&rgb=[" + color.RED + "," + color.GREEN + "," + color.BLUE + "]");
Telítettség olvasása
VAR HSVColor := RGBTOHSV(R, G, B);
ROUND(HSVColor.Saturation * 100.0) / 100.0;
Telítettség írása
VAR color := HSVTORGB(Hd, Sa, 1);
SENDHTTPREQUEST("/rpc/RGBW.Set?id=" + ID + "&rgb=[" + color.RED + "," + color.GREEN + "," + color.BLUE + "]");
Színhőmérséklet olvasása
var white := PARSEJSON(RGBW.GetStatus, "$.white", true);
if white != 0 or !isnan(Ct)
	return(4500);
else
	return(NaN);
end
Színhőmérséklet írása
IF !isnan(Ct)
	SENDHTTPREQUEST("/rpc/RGBW.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=0&white=" + round(linear(Hb, 0, 0, 1, 255)));
end
Szerviz attribútumok
${device_variable_realtemperature} [°C]
parsejson(RGBW.GetStatus, "$.temperature.tC", true)
${device_variable_electricityconsumption} [Wh]
parsejson(RGBW.GetStatus, "$.aenergy.total", true)
${device_variable_electricitydemand} [W]
parsejson(RGBW.GetStatus, "$.apower", true)
${valueLogType_ElectricVoltage} [V]
parsejson(RGBW.GetStatus, "$.voltage", true)
${valueLogType_ElectricCurrent} [A]
parsejson(RGBW.GetStatus, "$.current", true)
Dimmerelhető LED kimenet 2 Fényerőszabályzó

Független dimmercsatorna 2 (light profil, id=1) fényerőszabályozással, kalibrálással és csatornánkénti teljesítményméréssel

numeric
Szerviz attribútumok
Hőmérséklet
Energiafogyasztás
Teljesítmény
Feszültség
Áram
Jelzők
Szerviz műveletek
Kalibrálás

Dimmerelhető LED kimenet 2

Olvasás (modul)
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "light"
	adderror("Profile is not set to light (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Light.GetStatus?id=" + ID);
IF response.IsSuccess
    Light.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Light.GetConfig?id=" + ID);
IF response.IsSuccess
    Light.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Light.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Light.GetStatus, "errors"));
end
Szint olvasása
bool output := PARSEJSON(Light.GetStatus, "$.output");
var brightness := PARSEJSON(Light.GetStatus, "$.brightness");

if output
    return(brightness / 100);
else
    return(0);
end
Szint írása
SENDHTTPREQUEST("/rpc/Light.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=" + round(Le*100.0));
Szerviz attribútumok
${device_variable_realtemperature} [°C]
parsejson(Light.GetStatus, "$.temperature.tC", true)
${device_variable_electricityconsumption} [Wh]
parsejson(Light.GetStatus, "$.aenergy.total", true)
${device_variable_electricitydemand} [W]
parsejson(Light.GetStatus, "$.apower", true)
${valueLogType_ElectricVoltage} [V]
parsejson(Light.GetStatus, "$.voltage", true)
${valueLogType_ElectricCurrent} [A]
parsejson(Light.GetStatus, "$.current", true)
Flags
parsejson(Light.GetStatus, "$.flags", true)
Szerviz műveletek
${detail_deviceSettings_TemperatureSensor_categoryCalibration}
VAR response := SENDHTTPREQUEST("/rpc/Light.Calibrate?id=" + ID);
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
Dimmerelhető LED kimenet 1 Fényerőszabályzó

Független dimmercsatorna 1 (light profil, id=0) fényerőszabályozással, kalibrálással és csatornánkénti teljesítményméréssel

numeric
Szerviz attribútumok
Hőmérséklet
Energiafogyasztás
Teljesítmény
Feszültség
Áram
Jelzők
Szerviz műveletek
Kalibrálás

Dimmerelhető LED kimenet 1

Olvasás (modul)
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "light"
	adderror("Profile is not set to light (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Light.GetStatus?id=" + ID);
IF response.IsSuccess
    Light.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Light.GetConfig?id=" + ID);
IF response.IsSuccess
    Light.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Light.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Light.GetStatus, "errors"));
end
Szint olvasása
bool output := PARSEJSON(Light.GetStatus, "$.output");
var brightness := PARSEJSON(Light.GetStatus, "$.brightness");

if output
    return(brightness / 100);
else
    return(0);
end
Szint írása
SENDHTTPREQUEST("/rpc/Light.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=" + round(Le*100.0));
Szerviz attribútumok
${device_variable_realtemperature} [°C]
parsejson(Light.GetStatus, "$.temperature.tC", true)
${device_variable_electricityconsumption} [Wh]
parsejson(Light.GetStatus, "$.aenergy.total", true)
${device_variable_electricitydemand} [W]
parsejson(Light.GetStatus, "$.apower", true)
${valueLogType_ElectricVoltage} [V]
parsejson(Light.GetStatus, "$.voltage", true)
${valueLogType_ElectricCurrent} [A]
parsejson(Light.GetStatus, "$.current", true)
Flags
parsejson(Light.GetStatus, "$.flags", true)
Szerviz műveletek
${detail_deviceSettings_TemperatureSensor_categoryCalibration}
VAR response := SENDHTTPREQUEST("/rpc/Light.Calibrate?id=" + ID);
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
Dimmerelhető LED kimenet 3 Fényerőszabályzó

Független dimmercsatorna 3 (light profil, id=2) fényerőszabályozással, kalibrálással és csatornánkénti teljesítményméréssel

numeric
Szerviz attribútumok
Hőmérséklet
Energiafogyasztás
Teljesítmény
Feszültség
Áram
Jelzők
Szerviz műveletek
Kalibrálás

Dimmerelhető LED kimenet 3

Olvasás (modul)
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "light"
	adderror("Profile is not set to light (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Light.GetStatus?id=" + ID);
IF response.IsSuccess
    Light.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Light.GetConfig?id=" + ID);
IF response.IsSuccess
    Light.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Light.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Light.GetStatus, "errors"));
end
Szint olvasása
bool output := PARSEJSON(Light.GetStatus, "$.output");
var brightness := PARSEJSON(Light.GetStatus, "$.brightness");

if output
    return(brightness / 100);
else
    return(0);
end
Szint írása
SENDHTTPREQUEST("/rpc/Light.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=" + round(Le*100.0));
Szerviz attribútumok
${device_variable_realtemperature} [°C]
parsejson(Light.GetStatus, "$.temperature.tC", true)
${device_variable_electricityconsumption} [Wh]
parsejson(Light.GetStatus, "$.aenergy.total", true)
${device_variable_electricitydemand} [W]
parsejson(Light.GetStatus, "$.apower", true)
${valueLogType_ElectricVoltage} [V]
parsejson(Light.GetStatus, "$.voltage", true)
${valueLogType_ElectricCurrent} [A]
parsejson(Light.GetStatus, "$.current", true)
Flags
parsejson(Light.GetStatus, "$.flags", true)
Szerviz műveletek
${detail_deviceSettings_TemperatureSensor_categoryCalibration}
VAR response := SENDHTTPREQUEST("/rpc/Light.Calibrate?id=" + ID);
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
Dimmerelhető LED kimenet 4 Fényerőszabályzó

Független dimmercsatorna 4 (light profil, id=3) fényerőszabályozással, kalibrálással és csatornánkénti teljesítményméréssel

numeric
Szerviz attribútumok
Hőmérséklet
Energiafogyasztás
Teljesítmény
Feszültség
Áram
Jelzők
Szerviz műveletek
Kalibrálás

Dimmerelhető LED kimenet 4

Olvasás (modul)
if PARSEJSON(Sys.GetConfig, "$.device.profile") != "light"
	adderror("Profile is not set to light (" + PARSEJSON(Sys.GetConfig, "$.device.profile") + ")");
end

VAR response := SENDHTTPREQUEST("/rpc/Light.GetStatus?id=" + ID);
IF response.IsSuccess
    Light.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Light.GetConfig?id=" + ID);
IF response.IsSuccess
    Light.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Light.GetStatus, "errors", true))
    adderror("Error: " + parsejson(Light.GetStatus, "errors"));
end
Szint olvasása
bool output := PARSEJSON(Light.GetStatus, "$.output");
var brightness := PARSEJSON(Light.GetStatus, "$.brightness");

if output
    return(brightness / 100);
else
    return(0);
end
Szint írása
SENDHTTPREQUEST("/rpc/Light.Set?id=" + ID + "&on=" + if(St, "true", "false") + "&brightness=" + round(Le*100.0));
Szerviz attribútumok
${device_variable_realtemperature} [°C]
parsejson(Light.GetStatus, "$.temperature.tC", true)
${device_variable_electricityconsumption} [Wh]
parsejson(Light.GetStatus, "$.aenergy.total", true)
${device_variable_electricitydemand} [W]
parsejson(Light.GetStatus, "$.apower", true)
${valueLogType_ElectricVoltage} [V]
parsejson(Light.GetStatus, "$.voltage", true)
${valueLogType_ElectricCurrent} [A]
parsejson(Light.GetStatus, "$.current", true)
Flags
parsejson(Light.GetStatus, "$.flags", true)
Szerviz műveletek
${detail_deviceSettings_TemperatureSensor_categoryCalibration}
VAR response := SENDHTTPREQUEST("/rpc/Light.Calibrate?id=" + ID);
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
Kapcsolat: Packet Parser → HTTP
Lehetséges fejlesztések (13)
  • Input State — Physical switch/button input state, available via /rpc/Input.GetStatus?id=0
  • WiFi SSID — Already exposed as module-level service attribute, not as standalone device
  • WiFi Signal Strength — Already exposed as module-level service attribute, not as standalone device
  • IP Address — Already exposed as module-level service attribute, not as standalone device
  • MAC Address — Already exposed as module-level service attribute, not as standalone device
  • Uptime — Seconds since last reboot, available in Sys.GetStatus response
  • RAM Usage — Total and free RAM in bytes, available in Sys.GetStatus response
  • Device Time — Current device time in HH:MM format, available in Sys.GetStatus response
  • Firmware Update — Already implemented as module-level service action
  • Reboot — Already implemented as module-level service action
  • Night Mode — Night mode configuration with brightness limits and schedule, available in component GetConfig
  • Transition Duration — Color/brightness transition time in ms, available as parameter in RGB.Set and RGBW.Set
  • Minimum Brightness on Toggle — Minimum brightness percentage when toggling on, available in Light component config

Források