Nätet hänger sig när du är på semestern, eller mitt under ett möte. En router-vakthund löser det automatiskt — när internet försvinner kapas strömmen till routern i några sekunder, och uppkopplingen är tillbaka utan att någon behöver dra ur sladden.
Här går vi igenom hur du sätter upp Shelly Plug S som router-vakthund, både med det officiella skriptet, med en enkel nattlig schemaläggning och som del av en Home Assistant- eller Homey-installation.
En router-vakthund är en automatiserad övervakning som upptäcker när internet slutar svara och startar om routern utan att du behöver göra något. Hemma märks det när Netflix slutar, jobbet märks det när VPN dör — och i båda fallen är lösningen oftast samma: dra ur strömmen, vänta tio sekunder, sätt i igen.
Problemet är förstås att du inte alltid är hemma, och routern står gärna otillgängligt i en garderob eller på vinden. Det är där en router-vakthund kommer in: en smart plug som pingar en pålitlig adress på internet med jämna mellanrum, och om svaret uteblir tillräckligt många gånger i rad — då strömcyklas routern automatiskt.
Shelly Plug S (i den senaste generationen, Plus G3 Plug S) har stöd för Mongoose JavaScript (mJS) inbyggt. Det betyder att den smarta pluggen kan köra ett eget litet program direkt på enheten — utan att vara beroende av moln, hemserver eller internet för själva watchdog-logiken.
Shelly har publicerat ett officiellt skript som heter Router Watchdog. Det körs lokalt på Shelly-pluggen och har tre huvudparametrar:
Skriptet pingar två pålitliga adresser omväxlande och så fort tröskeln nås kapas strömmen till routern. Eftersom skriptet körs på själva pluggen fortsätter det fungera även om molnet är nere — det är just därför man bygger en router-vakthund.
Vill du anpassa skriptet ytterligare kan du klistra in koden direkt:
let CONFIG = {
endpoints: [
"https://global.gcping.com/ping",
"https://www.switch.ch",
],
numberOfFails: 3,
httpTimeout: 10,
toggleTime: 30,
pingTime: 180,
maxBackoffTime: 21600,
initialBackoffTime: 300,
backoffMultiplier: 2,
};
let endpointIdx = 0;
let failCounter = 0;
let pingTimer = null;
let resetCounter = 0;
let currentBackoffTime = 0;
function resetRouter() {
print("Too many fails, resetting...");
failCounter = 0;
resetCounter++;
Timer.clear(pingTimer);
if (resetCounter > 1) {
currentBackoffTime = currentBackoffTime === 0
? CONFIG.initialBackoffTime
: Math.min(currentBackoffTime * CONFIG.backoffMultiplier, CONFIG.maxBackoffTime);
print("Backoff: " + currentBackoffTime + "s");
}
Shelly.call("Switch.Set", { id: 0, on: false, toggle_after: CONFIG.toggleTime }, function() {});
}
function startPingTimer() {
pingTimer = Timer.set(CONFIG.pingTime * 1000, true, pingEndpoints);
}
function pingEndpoints() {
Shelly.call("http.get", { url: CONFIG.endpoints[endpointIdx], timeout: CONFIG.httpTimeout },
function(response, error_code) {
if (error_code === -114 || error_code === -104) {
failCounter++;
endpointIdx = (endpointIdx + 1) % CONFIG.endpoints.length;
print("Fail #" + failCounter);
} else {
failCounter = 0; resetCounter = 0; currentBackoffTime = 0;
print("Online :)");
}
if (failCounter >= CONFIG.numberOfFails) { resetRouter(); }
}
);
}
print("Starting watchdog timer...");
startPingTimer();
Shelly.addStatusHandler(function(status) {
if (status.name !== "switch" || status.id !== 0 ||
typeof status.delta.source === "undefined" ||
status.delta.source !== "timer" || status.delta.output !== true) return;
if (currentBackoffTime > 0) {
Timer.set(currentBackoffTime * 1000, false, function() { startPingTimer(); });
} else {
startPingTimer();
}
});
Vill du ha en enklare lösning kan du istället schemalägga en nattlig strömcykling. Många routrar mår bra av en omstart då och då, och en kort avstängning nattetid förebygger många hängningar innan de hinner uppstå.
Schemat lägger du upp direkt i Shelly-appen under Schedules: stäng av kl 03:00, slå på kl 03:01. Schemat sparas lokalt på pluggen så det fungerar även om internet är nere.
Detta är ingen riktig router-vakthund — den reagerar inte på utfall — men i kombination med watchdog-skriptet får du både proaktiv förebyggning och reaktiv återställning.
Använder du redan Home Assistant eller Homey kan du bygga watchdog-logiken där istället, och låta Shelly Plug S bara vara strömställaren. Fördelen är mer flexibilitet (notiser, loggning, eskalering) och möjligheten att kombinera flera signaler.
Shelly har officiell integration mot både Home Assistant (alla fyra generationer stöds) och Homey, samt Matter-stöd på G3-modellerna för smidig parkoppling. En typisk Home Assistant-automation pingar en utvald adress varje minut, räknar misslyckanden, och om tröskeln nås triggas pluggen att slå av i 15 sekunder och sedan på igen.
Den stora fördelen jämfört med skriptet på pluggen: om Home Assistant är nere får du veta det och kan agera. Den stora nackdelen: om Home Assistant kraschar samtidigt som internet faller, är vakthunden borta. För kritiska installationer kombinerar man ofta båda metoderna.
För router-vakthund-användning rekommenderas den senaste generationen:
Alla G3-modeller har WiFi, Bluetooth, Matter, effektmätning och stöd för mJS-skript — allt du behöver för Router Watchdog. Skillnaden ligger i färg och antal.
Ja. Skriptet körs lokalt på Shelly-pluggen och behöver inte molnet för att fungera. Det är hela poängen — vakthunden ska klara sig själv när internet är borta. Du behöver dock internet för att initialt installera skriptet via Shelly-appen.
Ja. Använd en plugg per enhet — det är ofta fiberkonvertern som tappar synkronisering och behöver strömcyklas före routern. Med ett 3-pack täcker du fiberkonverter, router och accesspunkt.
Det är konfigurerbart. Standard är var 3:e minut och 3 misslyckanden i rad innan vakthunden slår till — en riktig hängning åtgärdas inom ca 10 minuter.
Med "Run on startup" aktiverat startar skriptet automatiskt igen när pluggen får ström. Du behöver inte göra något manuellt.
Router Watchdog-skriptet kräver mJS-stöd, vilket gäller alla G3-versioner (Plus G3 Plug S). Är du osäker — kontakta oss innan köp så hjälper vi dig välja rätt.
För de flesta är Shelly Plus G3 Plug S rätt val — en plugg, ett uttag, en router-vakthund som tyst gör sitt jobb. Behöver du täcka flera enheter rekommenderar vi 3-paketet. Frågor om installation eller integration? Hör av dig så hjälper vi dig komma igång.