Shelly → Ada P1 Meter Script fordító
Mit csinál ez a Shelly Plug Script generátor?
Ez a kis eszköz automatikusan legenerálja a Shelly Plug Script kódot,
amivel a fogyasztásmérő adatait (teljesítmény, feszültség, áram, összenergia
és a kapcsoló állapota) el tudod küldeni az ADA P1 Meter / okosvillanyora.hu rendszernek.
Így a Shelly konnektorod megjelenik a HMKE.app felületen, és onnan egyből vezérelheted.

A Shelly eszköz nevét, a sorszámot (01–50) és az IP-címet adod meg a formban, a generátor pedig ezekből elkészíti a komplett scriptet, amit elég bemásolnod a Shelly böngészős Script felületére. A kódot egy kattintással a „Copy” gombbal vágólapra teheted.
Hogyan állítsd be a Shelly Plug eszközt?
- Először állítsd be a Shelly eszközön a Wi-Fi-t (SSID, jelszó). Ha felcsatlakozott a hálózatra, jegyezd meg vagy nézd meg a routerben az IP-címét.
-
Nyisd meg böngészőben az IP-címét (pl.
http://192.168.31.185), és frissítsd a Shelly firmware-t a legújabb hivatalos verzióra (a webes felületen a beállítások / firmware frissítés menüpontban). A script funkció csak friss firmware-rel működik megbízhatóan. -
Ezután nyisd meg a Shelly Script felületet a böngészőben:
http://<SHELLY IP CÍM>/#/script/1
Példa:http://192.168.31.185/#/script/1 - A lenti generátorral készített teljes scriptet másold ki a „Copy” gombbal, majd illeszd be a Shelly script szerkesztőjébe. Nevezd el tetszőlegesen, majd kapcsold be (Enable) és mentsd el (Save).
-
A script 10 másodpercenként lekéri a Shelly Plug mért adatait, és elküldi az
http://okosvillanyora.local:8989/writevégpontra. Ha minden rendben, az ADA P1 rendszerben & a HMKE.app felületen meg fognak jelenni a Shelly plugin mezők (teljesítmény, feszültség, áram, összenergia, státusz).
Shelly Plug Script generátor
// === SETTINGS ===
let IDX = "01"; // <-- sorszám (01–50)
let NAME = "Shelly Plug"; // <-- eszköz neve
let IP = "192.168.31.185"; // <-- Shelly IP-címe
// === START SCRIPT ===
let INTERVAL_MS = 10000, POST_URL = "http://okosvillanyora.local:8989/write";
function K(k){return "Shelly_" + k + "_" + IDX;}
Timer.set(INTERVAL_MS, true, function () {
Shelly.call("Switch.GetStatus", {id: 0}, function (r) {
if (!r || r.apower === undefined) {
print("ERR status");
return;
}
let v = {};
v[K("total")] = (r.aenergy.total / 1000).toFixed(3);
v[K("voltage")] = (r.voltage !== undefined ? r.voltage.toFixed(1) : "");
v[K("current")] = (r.current !== undefined ? r.current.toFixed(3) : "");
v[K("power")] = (r.apower / 1000).toFixed(3);
v[K("ip")] = IP;
v[K("status")] = r.output;
v[K("name")] = NAME;
Shelly.call("HTTP.POST", {
url: POST_URL,
headers: {"Content-Type": "application/json"},
body: JSON.stringify({device: "plugins", values: v})
}, function (res, ec, em) {
print(ec === 0 ? "send -> success" : "ERR " + ec + " " + em);
});
});
});
// === END SCRIPT ===

Hozzászólások
Még nincs hozzászólás, légy te az első!