Solen upp/nedgång

zorro
Medlem
Posts: 365
Joined: 22 Oct 2013, 16:16
11

Kan man i HC2 presentera aktuella dagens tider för solens upp/nedgång :oops:
Fibaro fantastic
Aktuell HC2 Version: 4.520
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

Så här kan man göra:
dagsljus.PNG
dagsljus.PNG (10.72 KiB) Viewed 19429 times
Skapa en virtuell enhet, lägg till 3st labels i den virtuella enheten.
labels.PNG
labels.PNG (71.45 KiB) Viewed 19429 times
I mainloop delen så lägger du till följande kod:

Code: Select all

local vd = 181 --Denna virtuella ID's nummer 

local sunrise = fibaro:getGlobalValue("Sunrise")
local sunset = fibaro:getGlobalValue("Sunset")

fibaro:call(vd, 'setProperty', 'ui.Sunrise.value',sunrise)
fibaro:call(vd, 'setProperty', 'ui.Sunset.value',sunset)
fibaro:call(vd, 'setProperty', 'ui.UppNer.value',sunrise.."-"..sunset)
fibaro:sleep(30*60000)  -- uppdateras var 30:e minut
mainloop.PNG
mainloop.PNG (35.18 KiB) Viewed 19429 times
Label nr 3 har jag markerat "Main" för att den ska visas direkt när man tittar på enheten.
info.PNG
info.PNG (119.38 KiB) Viewed 19429 times
Raul
Ny medlem
Posts: 19
Joined: 14 Sep 2013, 14:32
11

Hej! Din kod verkar förutsätta att man anger globala variabler för sunset och sunrise? Finns det någon fördel med det som jag missat? Jag använde sunriseHour och sunsetHour istället.

Code: Select all

local vd = 49 --Denna virtuella ID's nummer 

local sunrise = fibaro:getValue(1, "sunriseHour")
local sunset = fibaro:getValue(1, "sunsetHour")

fibaro:call(vd, 'setProperty', 'ui.Sunrise.value',sunrise)
fibaro:call(vd, 'setProperty', 'ui.Sunset.value',sunset)
fibaro:call(vd, 'setProperty', 'ui.UppNer.value',sunrise.."-"..sunset)
fibaro:sleep(30*60000)  -- uppdateras var 30:e minut
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

Nej det har ingen betydelse.
Missade att skriva om det ;-)


Sent from my iPhone using Tapatalk
zorro
Medlem
Posts: 365
Joined: 22 Oct 2013, 16:16
11

Ok Tack för svaret ska testa om jag får ihop det :lol: :lol:
Fibaro fantastic
Aktuell HC2 Version: 4.520
zorro
Medlem
Posts: 365
Joined: 22 Oct 2013, 16:16
11

Så jag lyckades tillslut
Jompa68 med din kod så fick jag bara fram bindestrecket som visas mellan klockslagen :oops:
Men med Rauls kod så funkade det perfekt :ugeek:
Fråga inte mig vad som är galet
Attachments
Solen.jpg
Solen.jpg (12.62 KiB) Viewed 19382 times
Fibaro fantastic
Aktuell HC2 Version: 4.520
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

MIn kod kräver variabler men det går att använda det inbyggda i HC2 programvaran.
Så Rauls kod är utan variabler, därför du fick den att fungera.
zorro
Medlem
Posts: 365
Joined: 22 Oct 2013, 16:16
11

Orkar du förklara lite mer :oops:
Fibaro fantastic
Aktuell HC2 Version: 4.520
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

Denna kodsnutt hämtas ifrån HC2's operativsystem.

Code: Select all

local sunrise = fibaro:getValue(1, "sunriseHour")
local sunset = fibaro:getValue(1, "sunsetHour")
Då behövs det inga variabler definerade så som jag hade i mitt första inlägg.

Code: Select all

local sunrise = fibaro:getGlobalValue("Sunrise")
local sunset = fibaro:getGlobalValue("Sunset")
Men bägge ger samma sak ;)
mickeys
Medlem
Posts: 80
Joined: 28 Oct 2013, 19:54
11

Jag har satt upp enligt er beskrivning men där kommer inte ut något.

Nu börjar jag undra om jag tittar fel på ID nr. Vilket exakt nr är det man ska ha? Var står det?

local vd = 49 --Denna virtuella ID's nummer
zorro
Medlem
Posts: 365
Joined: 22 Oct 2013, 16:16
11

Nummret på din virituella enhet
Fibaro fantastic
Aktuell HC2 Version: 4.520
mickeys
Medlem
Posts: 80
Joined: 28 Oct 2013, 19:54
11

ja men var står det? Där står ju inget ID nånstans på den virtuella. Eller jag missar det?
StarkJohan
Medlem
Posts: 102
Joined: 30 Nov 2013, 11:08
10
Location: Skegrie

Du har rätt i att det inte står utskrivet vilket är dåligt men du kan se det i adressraden i din webbläsare. Numret i slutet på adressen (när du är inne och ser på din virtuella enhet) är ID på enheten.

Det går också med lite kod att dynamiskt ta reda på enhetens ID, jag använder hellre dynamiska metoder vilket gør koden mer flexibel (men i detta fallet betydligt otympligare). Kan slänga upp ett exempel när jag kommer hem.
zorro
Medlem
Posts: 365
Joined: 22 Oct 2013, 16:16
11

Tryck på skiftnyckeln på din virituella enhet och titta uppe i adressfältet så står ditt id där sista siffrorna
tex: http://192.168.100.2/fibaro/sv/devices/ ... d=[b][u]61[/u][/b]
Fibaro fantastic
Aktuell HC2 Version: 4.520
mickeys
Medlem
Posts: 80
Joined: 28 Oct 2013, 19:54
11

Underbart. Tack så mycket.
StarkJohan
Medlem
Posts: 102
Joined: 30 Nov 2013, 11:08
10
Location: Skegrie

För att dynamisk ta reda på information om virtuella enheter, använd följande kod i den knapp där den behövs.

Lägg först en kommentar i main loop för den enhet du önskar hitta. I mitt fall plisségardinen i mitt "spelrum".

Code: Select all

-- Söksträng: plisse_spelrum
.. och i knappen/knapparna:

Code: Select all

local virtual_dev = "plisse_spelrum" -- Den enhet vi önskar hitta

function readVirtualDevice() 
  tcp = Net.FHttp("localhost", 80); 
  tcp:setBasicAuthentication("admin", "password"); 
  response, status, errorCode = tcp:GET("/api/virtualDevices"); 
  if (tonumber(status)~=200) then 
    return nil; 
  else 
    jsonTable = json.decode(response); 
    for virtualIndex, virtualData in pairs(jsonTable) do 
      if (virtualData.type=="virtual_device") then 
        check = string.find(virtualData.properties.mainLoop, virtual_dev); 
        if (check and check>0) then 
          id = virtualData.id; 
          ip = virtualData.properties.ip; 
          port = virtualData.properties.port; 
          name = virtualData.name; 
          icon = virtualData.properties.deviceIcon; 
          return id, name, ip, port, icon; 
        end 
      end 
    end 
  end 
  return nil; 
end 
id, name, ip, port, icon = readVirtualDevice();
Du har nu 5 variabler med information om den virtuella enhet du har sökt upp genom att ange den som "virtual_dev". Smidigt om man som i mitt fall har en väldig massa knappar på en enhet och får för sig att byta ip-adress. Med denna funktionen behöver slipper man ändra varenda knapp manuellt.
jens
Medlem
Posts: 329
Joined: 22 Apr 2013, 17:09
11

zorro wrote:Så jag lyckades tillslut
Jompa68 med din kod så fick jag bara fram bindestrecket som visas mellan klockslagen :oops:
Men med Rauls kod så funkade det perfekt :ugeek:
Fråga inte mig vad som är galet
Zorro,

Det finns ingen möjlighet att du kan lägga upp sol ikonen?

//Jesse
mickeys
Medlem
Posts: 80
Joined: 28 Oct 2013, 19:54
11

jens
Medlem
Posts: 329
Joined: 22 Apr 2013, 17:09
11

Får inte till detta, vad gör jag för fel?? :?
Skärmavbild 2013-12-19 kl. 08.18.52.png
Skärmavbild 2013-12-19 kl. 08.18.52.png (577.06 KiB) Viewed 18951 times
Skärmavbild 2013-12-19 kl. 08.19.17.png
Skärmavbild 2013-12-19 kl. 08.19.17.png (397.93 KiB) Viewed 18951 times
Skärmavbild 2013-12-19 kl. 08.19.22.png
Skärmavbild 2013-12-19 kl. 08.19.22.png (413.91 KiB) Viewed 18951 times
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

Istället för Knappar så skapa Labels så ska du se att det fungerar.
Post Reply