Timer - Styra handdukstork i NexaHome

Moderators: hekj, Telldus

Post Reply
eijo
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Timer - Styra handdukstork i NexaHome

Post by eijo »

Hej,

Jag har använt NexaHome + Telldus Duo på min windows server för lite enkel timer/sunset-sunrise styrning av belysning etc. ett tag. Funkar bra!

Nu har jag installerat en nexa switch till handdukstorken i duschen. Vidare har jag monterat en vanlig nexa brytare för att styra torken med.

Funktionen jag vill ha är:
- Tryck på NexaSwitchen slår till handdukstorken
- NexaHome ska efter en inställd tid (t.ex. två timmar) slå av handdukstorken igen
- Värmning före typisk duschtid (på morgonen) för att ha komfort-varm handduk att torka sig med. (Fixar jag enkelt med vanliga timer funktionen)

Fråga:
Hur gör jag detta enklast med NexaHome? Kan jag konfigurera det i fälten på något vis?
(Alltså: Läsa av om man tryckt på Nexabrytaren och sedan skicka ett off komando två timmar senare)

Tack!
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: Timer - Styra handdukstork i NexaHome

Post by hekj »

eijo wrote:Nu har jag installerat en nexa switch till handdukstorken i duschen. Vidare har jag monterat en vanlig nexa brytare för att styra torken med.

Funktionen jag vill ha är:
- Tryck på NexaSwitchen slår till handdukstorken
- NexaHome ska efter en inställd tid (t.ex. två timmar) slå av handdukstorken igen
- Värmning före typisk duschtid (på morgonen) för att ha komfort-varm handduk att torka sig med. (Fixar jag enkelt med vanliga timer funktionen)

Fråga:
Hur gör jag detta enklast med NexaHome? Kan jag konfigurera det i fälten på något vis?
(Alltså: Läsa av om man tryckt på Nexabrytaren och sedan skicka ett off komando två timmar senare)
Börja med att skapa en bsh fil med samma namn som handdukstorkens Id, exempelvis 15.bsh

Code: Select all

device = "15";
timer = "t15off";
timeout = 120 * 60;  // 2 hours
if (deviceIsOn(device)) {
   startTimer(timer, timeout);
} else if (timerIsRunning(timer)) {
   stopTimer(timer);
}
hideOutput();
Därefter skapar du filen som ska stänga av handdukstorken, t15off.bsh

Code: Select all

device = "15";
deviceOff(device);
hideOutput();
Ändra siffran 15 i filnamnen samt innehållet till ditt eget device id.

Har inte testat ovanstående kod själv, men hoppas att den fungerar.
eijo
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: Timer - Styra handdukstork i NexaHome

Post by eijo »

Tack, funkar perfekt!!!
:clap:
eijo
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: Timer - Styra handdukstork i NexaHome

Post by eijo »

Hej,

Efter lite användning så kan jag konstatera en "bugg"...

- Jag har i NexaHome satt upp att handdukstorken ska vara igång 05.00-05.40 varje morgon (för att ge varma handdukar till ev. morgondusch 05.45)
- Detta triggar timern som också slår av 3 timmar efter start, dvs den slår av 08.00

Då händer följande... Om jag slår på handdukstorken (inför dusch) 07.30, så borde den slå av tre timmar senare dvs. 10.30, men den slår då av redan 08.00 pga att NexaHome schedulern redan triggat timern 05.00....

Hur ändrar jag koden på enklast sätt för att timern ska startas om på "0" varje gång man trycker på knappen?

Tack på förhand!
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: Timer - Styra handdukstork i NexaHome

Post by hekj »

eijo wrote:Efter lite användning så kan jag konstatera en "bugg"...

- Jag har i NexaHome satt upp att handdukstorken ska vara igång 05.00-05.40 varje morgon (för att ge varma handdukar till ev. morgondusch 05.45)
- Detta triggar timern som också slår av 3 timmar efter start, dvs den slår av 08.00

Då händer följande... Om jag slår på handdukstorken (inför dusch) 07.30, så borde den slå av tre timmar senare dvs. 10.30, men den slår då av redan 08.00 pga att NexaHome schedulern redan triggat timern 05.00....

Hur ändrar jag koden på enklast sätt för att timern ska startas om på "0" varje gång man trycker på knappen?

Tack på förhand!
Följande kod kanske fungerar bättre:

Code: Select all

device = "15";
timer = "t15off";
timeout = 120 * 60;  // 2 hours
if (timerIsRunning(timer)) {
   stopTimer(timer);
}
if (deviceIsOn(device)) {
   startTimer(timer, timeout);
}
hideOutput();
eijo
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: Timer - Styra handdukstork i NexaHome

Post by eijo »

Japp, nu har detta blivit rätt också... huset är snart fulländat :D
Post Reply