Programmering i HC2 - borta från hemmet

Diskussioner runt hur den tänkta funktionaliteten nås
aftersun
Wannabe
Inlägg: 23
Blev medlem: 09 mar 2016, 17:46
Ort: Malmö

Re: Programmering i HC2 - borta från hemmet

Inlägg av aftersun »

Afan, men då är vi ju i princip i mål :shock: :shock:

Så detta borde funka med andra ord?

Kod: Markera allt

local currentDate = os.date("*t"); -- Current Date&Time in table format
if ( currentDate.hour > 20 or currentDate.hour < 3 ) and 
 ( fibaro:getGlobalValue("Hemma_Borta") == "Borta" ) 
then
      fibaro:startScene(81)
  else
 fibaro:call(41, "turnOff");
end

delay = 2820  -- antal sekunder att vänta till nästa koll, en timme
fibaro:sleep(delay*1000) -- väntar i antal millisekunder
Då gör min VD en kontroll var 47:e minut och är jag "Borta" samt klockan är mellan 20:00 - 03:00 så kör den scen 81. Annars stänger den av ID41. Stämmer? :D :D

*EDIT* Detta fungerar inte, den stänger av ID41 utan att ta hänsyn till om jag är "Borta" eller ej. Saken är ju den att jag vill att min lampa tänds på lite random, därför görs en kontroll var 47:e minut. Men när den väl tänts så vill jag inte att den ska vara tänd mer än sju timmar (vilket jag ställt med timer i scen 81). Men det kanske den inte är ändå även om den triggar flera gånger under perioden 20:00 - 03:00 eftersom det ligger en avstängning sedan första "triggern"?
aftersun
Wannabe
Inlägg: 23
Blev medlem: 09 mar 2016, 17:46
Ort: Malmö

Re: Programmering i HC2 - borta från hemmet

Inlägg av aftersun »

Får inte alls detta att fungera. Får nog börja om från början...
Det enda jag vill är att en lampa ska tändas mellan 21-22 och vara tänd i sju timmar, om jag är "borta". Det borde inte vara så svårt tycker jag men får verkligen inte rätt på det.
Användarvisningsbild
supportM
Moderator
Inlägg: 964
Blev medlem: 20 aug 2014, 10:27
Ort: Linköping
Kontakt:

Re: Programmering i HC2 - borta från hemmet

Inlägg av supportM »

Om du sätter Hemma_Borta till "borta" mellan 21-22 då, ska lampan tändas direkt då? Eller hur tänker du där?

I din kod har du angett att om variabeln är satt till "Borta" och klockan är mellan 22-03 så ska scen 81 köras. Om villkoret inte stämmer slår den av lampan. Om något inte fungerar, i det här fallet if-satsen, kan man debugga genom att lägga till utskrifter.
Exempelvis:

fibaro:debug("En text" .. variabel)

"variabel" är någon godtycklig variabel, ".." använder man för att klistra ihop element vid utskrift.

Så i ditt fall, testa med denna kod istället. Gå sen in på "Debug"-knappen så ska du kunna se utskrifter:

Kod: Markera allt

local currentDate = os.date("*t"); -- Current Date&Time in table format
if ( currentDate.hour > 20 or currentDate.hour < 3 ) and
 ( fibaro:getGlobalValue("Hemma_Borta") == "Borta" )
  then
      fibaro:debug("kl " .. currentDate.hour .. ":XX och du är " .. fibaro:getGlobalValue("Hemma_Borta") .. ", startar scen!")
      fibaro:startScene(81)
  else
 fibaro:call(41, "turnOff");
 fibaro:debug("kl " .. currentDate.hour .. ":XX och du är " .. fibaro:getGlobalValue("Hemma_Borta") .. ", stänger av lampa!")
end

delay = 2820  -- antal sekunder att vänta till nästa koll, en timme
fibaro:sleep(delay*1000) -- väntar i antal millisekunder
Utskrifterna ska se ut som: "kl 21:XX och du är Borta, startar scen!" respektive "kl 14:XX och du är Hemma, stänger av lampa!"
Du kan då se på utskriften om värdena på currentDate.hour eller Hemma_Borta är något annat än vad de borde vara.
// Officiellt supportkonto för m.nu
Ionsars
Inlägg: 1
Blev medlem: 26 apr 2022, 08:31

Re: Programmering i HC2 - borta från hemmet

Inlägg av Ionsars »

Hur mycket skulle det kosta att utveckla en liten serverapplikation? Du behöver en daemon för att skicka och ta emot data från servern. Hur beställer man bäst sådana tjänster?
Skriv svar