IR-Detektor problem

Moderators: hekj, Telldus

cazz
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

IR-Detektor problem

Post by cazz »

Hej är ny på detta som Tellstick och NexaHome men har jobbat med Raspberry och Linux sedan den kom ut.

Jag har nu fått så jag har ställt in tiden så när lamporna 1-5 går igång vid en viss tid och stänger av sig en viss tid.
Allt fungerar perfekt med detta riktigt trevliga NexaHome program.


Nu är det så att jag även har en Proove EL2029 IR detektor som jag skulle vilja använda men förstår inte riktigt hur jag ska göra.

Det finns en antal i avdelning Proove i TelldusCenter men är det "Code Switch" jag ska använda till en IR detektor??
Om det är det så är det ju bra för då är ju halva klar :)


Om jag sedan förstå så kör man script för att kunna styra IR-detektorn, tanken är att jag vill att när någon rör sig inom området som den sitter vid så ska relä nr 3 gå igång.
Sedan om ingen är inom det området efter typ 20 min så ska den stänga av relä 3.
Tanken är ju att reläet inte ska gå på och av hela tiden :)

Jag har programmet en hel del men detta är helt nytt för mig så om någon kan skissa hur jag ska göra så skulle jag kunna göra det själv och andra saker om jag får för mig att köpa flera andra sändare.


/Update

Har testat lite att skapa en fil som heter "6.bsh" (eftersom IR-Detektorn har id 6)

Code: Select all

if (deviceIsOn(6)) {
  deviceOn(3);
}
Fast det fungerar inte, kanske inte är så enkelt som jag hoppade på ;)
Tänkte bara testa att tända reläet som har ID 3

/Update 2

Försökt även med namnet på enheten

Code: Select all

if (deviceIsOn("IR")) {
  deviceOn("Koket");
}
Inget händer och inget fel i consolen
cazz
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: IR-Detektor problem

Post by cazz »

Det händer något men inte mycket :)

När jag kör denna kod

Code: Select all

device1 = "3";
device2 = "6";
if (deviceOn(device2)){
  deviceOn(device1);
}
Så blinkar Tellstick Duo rött hela tiden.
Men inget mer händer även om jag trycker in knappen på IR.
Dock så fick jag igång ljuset en gång i köket men gissar att programmet skickade on on on hela tiden för så fort jag tryckte av den så gick lamporna igång :p

Kommit lite närmare men inte så nära som man kan hoppas.
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: IR-Detektor problem

Post by hekj »

cazz wrote:När jag kör denna kod

Code: Select all

device1 = "3";
device2 = "6";
if (deviceOn(device2)){
  deviceOn(device1);
}
Så blinkar Tellstick Duo rött hela tiden.
Men inget mer händer även om jag trycker in knappen på IR.
Dock så fick jag igång ljuset en gång i köket men gissar att programmet skickade on on on hela tiden för så fort jag tryckte av den så gick lamporna igång :p

Kommit lite närmare men inte så nära som man kan hoppas.
Du har nog glömt "Is" på raden som börjar med "if", dvs "deviceOn(device2)" ska vara "deviceIsOn(device2)"

Man bör nog även kontrollera att lampa som ska tändas inte redan är tänd.

Code: Select all

device1 = "3";
device2 = "6";
if (deviceIsOn(device2) && deviceIsOff(device1)) {
  deviceOn(device1);
}
cazz
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: IR-Detektor problem

Post by cazz »

Tack
Jag tror jag har fått IR med Nexahome att fungera. Men det är lite galet ;)

Jag testa lite att programmera igår och fick så den tänder när något händer.

Din kod ser bättre ut, så jag kommer använda den istället.
Har programmerat i större delen av mitt liv men detta skapar huvudbry och jag förstår inte varför.

Nästa steg är att den ska räkna ner 20 min när IR inte upptäcker mig och så fort den upptäcker mig så ska den börja om från början.
När tiden är ute så ska den stänga av device1 (3:an)
cazz
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: IR-Detektor problem

Post by cazz »

Efter sökt lite här och på andra ställen så börjar det likna något :)

Jag har dragit ner tiden för att se vad som händer till 20 sek
Så går man framför IR första gången så tänds lampan och släcks efter 20 sek
Dock om man går framför inom 20 sek så stängs inte lampan av alls

Code: Select all

device1 = "3";
device2 = "6";
timer = "3off";
timeout = 20;
if (timerIsRunning(timer)) {
   stopTimer(timer);
}
if (deviceIsOn(device2) && deviceIsOff(device1)) {
	deviceOn(device1);
	startTimer(timer, timeout);   
}

Tog bort så den inte dubbelkollar och nu verkar det som det fungerar

Code: Select all

device1 = "3";
device2 = "6";
timer = "3off";
timeout = 20;
if (timerIsRunning(timer)) {
   stopTimer(timer);
}
if (deviceIsOn(device2)) {
	deviceOn(device1);
	startTimer(timer, timeout);   
}

/Update
Hmm den släcks nu inte tyvärr
Det verkar som timer körs men den stängerinte av lampan

Kör man 3off filen manuellt via Exeute file så släcks lampan.
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: IR-Detektor problem

Post by hekj »

cazz wrote:Hmm den släcks nu inte tyvärr
Det verkar som timer körs men den stängerinte av lampan

Kör man 3off filen manuellt via Exeute file så släcks lampan.
Skriv in filnamnen intill kodsnuttarna så blir det enklare att lista ut vad som kan vara fel.
cazz
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: IR-Detektor problem

Post by cazz »

Sorry, det har varit lite väll mycket nu men nu har jag tid att fixa till det du frågade efter

6.bsh

Code: Select all

device1 = "3";
device2 = "6";
timer = "3off";
timeout = 1200;
if (timerIsRunning(timer)) {
   stopTimer(timer);
}
if (deviceIsOn(device2)) {
	deviceOn(device1);
	startTimer(timer, timeout);   
}



3off.bsh

Code: Select all

device1 = "3";
deviceOff(device1);
Så ser det jag har just nu men samma problem som innan.
cazz
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: IR-Detektor problem

Post by cazz »

Testat lite nu och den tänder men släcker aldrig?
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: IR-Detektor problem

Post by hekj »

Lägg in några utskrifter i koden som du kan kolla efter i Console fönstret.

6.bsh

Code: Select all

device1 = "3";
device2 = "6";
timer = "3off";
timeout = 1200;
if (timerIsRunning(timer)) {
   echo("timer " + timer + " is running");
   stopTimer(timer);
}
if (deviceIsOn(device2)) {
   echo("device " + device2 + " is ON");
   deviceOn(device1);
   startTimer(timer, timeout);   
} else {
   echo("device " + device2 + " is OFF");
}
3off.bsh

Code: Select all

device1 = "3";
echo("device " + device1 + " is turned OFF");
deviceOff(device1);
cazz
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: IR-Detektor problem

Post by cazz »

Ahh smart, tack

Hmm verkar som den kör, jag satte den på 30 sek så man slipper vänta och 5off kör ju men något skunt är det

Jag har byggt om systemet eftersom jag har fått mera saker och gjorde ett fel i början så 5 är lampan och 8 är IR

2013-12-08 15:00:22 Script executed (8.bsh), result: [[echo, device 8 is ON], [device, 5, On], [timer, 5off:30]]
2013-12-08 15:00:23 :ON 1(2): Turning on device: 5 Köket - ok
2013-12-08 15:00:24 :ON 2(2): Turning on device: 5 Köket - ok
2013-12-08 15:00:28 Script executed (8.bsh), result: [[echo, timer 5off is running], [timer, 5off:-1], [echo, device 8 is OFF]]
2013-12-08 15:00:33 Script executed (8.bsh), result: [[echo, device 8 is ON], [device, 5, On], [timer, 5off:30]]
2013-12-08 15:00:34 :ON 1(2): Turning on device: 5 Köket - ok
2013-12-08 15:00:35 :ON 2(2): Turning on device: 5 Köket - ok
2013-12-08 15:00:38 Script executed (8.bsh), result: [[echo, timer 5off is running], [timer, 5off:-1], [echo, device 8 is OFF]]
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: IR-Detektor problem

Post by hekj »

Ändra så att timern endast stängs av då IR = ON.

8.bsh

Code: Select all

device1 = "5";
device2 = "8";
timer = "5off";
timeout = 1200;
if (deviceIsOn(device2)) {
   echo("device " + device2 + " is ON");
   deviceOn(device1);
   if (timerIsRunning(timer)) {
      echo("timer " + timer + " is running");
      stopTimer(timer);
   }
   startTimer(timer, timeout);   
} else {
   echo("device " + device2 + " is OFF");
}
5off.bsh

Code: Select all

device1 = "5";
echo("device " + device1 + " is turned OFF");
deviceOff(device1);
cazz
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: IR-Detektor problem

Post by cazz »

Tack, ser ut att fungera perfekt

Ska analysera din kod lite och se vad som gör vad :)
robe
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: IR-Detektor problem

Post by robe »

Hej,

Jag har testat ovanstående med en magnetkontakt vilket fungerar. Det enda problemet är att NexaHome endast kollar status på magnetkontakten en gång i minuten. Går det att få den till att göra detta oftare eller rent av direkt?
Jag skulle vilja använda det i ett läge där jag bryter kontakten kort i någon sekund och vill då att det ska trigga scriptet.
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: IR-Detektor problem

Post by hekj »

robe wrote:Jag har testat ovanstående med en magnetkontakt vilket fungerar. Det enda problemet är att NexaHome endast kollar status på magnetkontakten en gång i minuten. Går det att få den till att göra detta oftare eller rent av direkt?
Jag skulle vilja använda det i ett läge där jag bryter kontakten kort i någon sekund och vill då att det ska trigga scriptet.
Om det står libtelldus-core.so.2 i Executable fältet (under Config fliken) så ska det fungera som du vill, står det något annat så läses status av en gång per minut.

Har du utgått från min RPi image eller gjort en egen?
robe
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: IR-Detektor problem

Post by robe »

Jag har själv kört igång från Raspian dvs inte nyttjat din färdiga image med avsikt att lära mig lite på vägen :-)
Det står alltså det som är default, /usr/bin/tdtool.

Vad jag förstår så ska jag ha fått libtelldus-core2 när jag installerat tellduscenter, men hur använder jag det med NexaHome?
Jag tror nog förresten att jag snodde NexaHome.xml från min mac så det hade kanske stått libtelldus-core.so.2 om NexaHome hade fått skapa egen config?
Post Reply