Page 1 of 1

Tips: Presentation av kombinerad mottagare/sändare

Posted: Fri Mar 17, 2023 9:45 am
by hekj
Har tidigare skrivit ett inlägg om hur man kan få kvittens på att en tänd/släck-signal har nått fram till fjärrmottagaren:
http://www.telldus.se/forum/viewtopic.php?f=11&t=1517

Detta är hur jag har gjort för att vända på den inverterade status som skymningsrelät skickar samt åskådliggöra om tänd/släck-signalen har nått fram till fjärrmottagaren eller ej.

Device 3 'Motorvärmare' är den fjärrströmbrytare jag har kopplat till lampan som är fasttejpad mot skymningsrelät.

Device 27 'Skymmningsrelä (motorvärmare)' är den enhet som är hoptejpad med lampan som är parallellkopplad med motorvärmaruttaget.

Device 28 'Motorvärmare (kvittens)' är en "dummy" enhet som är definierad i TelldusCenter men som inte är kopplad till någon fjärrmottagare/sändare.

27.bsh (detta script inverterar mottagen status)

Code: Select all

if (deviceIsOff("27")) {
   echo("Kvittens ON");
   deviceOn("28");
} else {
   echo("Kvittens OFF");
   deviceOff("28");
}
För att enkelt kunna se om device 3 'Motorvärmare' och device 28 'Motorvärmare (kvittens)' har samma status har jag skapat en grupp 'Motorvärmare (status)' i NexaHome som innehåller dessa (3, 28).

Re: Tips: Presentation av kombinerad mottagare/sändare

Posted: Fri Mar 17, 2023 9:45 am
by hekj
Följande scripts är ett försök till att få datorn att själv hålla koll på om skickat kommando gick fram eller ej och försöka pånytt om det behövs.

3.bsh

Code: Select all

device = "3";
device_on = "t3on";
device_off = "t3off";
receipt = "28";
if (deviceIsOn(device)) {
   if (executedByCmd()) {
      if (!timerIsRunning(device)) {
         startTimer(device, 60);
      }
   } else if (executedByTimer()) {
      if (deviceIsOff(receipt)) {
         startTimer(device_on, 30);
         startTimer(device, 60);
         deviceOff(device);
      }
   }
} else {
   if (executedByCmd()) {
      if (timerIsRunning(device)) {
         stopTimer(device);
      }
      startTimer(device, 60);
   } else if (executedByTimer()) {
      if (deviceIsOn(receipt)) {
         startTimer(device_off, 30);
         startTimer(device, 60);
         deviceOn(device);
      }
   }
}
t3on.bsh

Code: Select all

device = "3";
if (deviceIsOff(device)) {
   deviceOn(device);
}
t3off.bsh

Code: Select all

device = "3";
if (deviceIsOn(device)) {
   deviceOff(device);
}
Har inte verifierat att koden fungerar helt och hållet men tror att den borde kunna fungera!

Re: Tips: Presentation av kombinerad mottagare/sändare

Posted: Fri Mar 17, 2023 9:45 am
by hekj
Enligt exemplet är device 28 'Motorvärmare (kvittens)' en dummy enhet, dvs en enhet som är definierad i TelldusCenter men som inte är kopplad till någon mottagare.

Denna typ av enheter kan numera särbehandlas av NexaHome, läs följande inlägg för att få mer information.
http://www.telldus.se/forum/viewtopic.php?f=23&t=1579