Så här har jag gjort:
Skapa en Google kalender (eller ni kanske har en redan, använd den)
Gå in på din kalender och välj kalenderinställningar (se bild)
Klicka på XML i Privat adress fältet så dyker den url som är för din kalender (se bild) Delar av denna URL ska du använda i ditt PHP skript, leta efter raden där det står(rad38),"https://www.google.com/calendar/feeds/_ ... _ID_/basic"
I min kalender lägger jag in Jobb (med start och sluttid), Helg och inte för att inte glömma köra ut soptunnorna så lägger jag in det också.
NOTE! Viktigt med stora och små bokstäver(måste vara lika)
Skapa en virtuell enhet i din Fibaro
Ska innehålla denna kod. Byt ut ""WEBBSERVER_IP"
Code: Select all
HC2 = Net.FHttp("WEBBSERVER_IP")
response, status, errorcode = HC2:GET("/calgoogle.php")
--fibaro:log(response)
local currentDate = os.date("%Y-%m-%d")
-- Today
sToday = string.find(response,"<startdate0>")
eToday = string.find(response,"</startdate0>")
Today = string.sub(response,sToday+12,eToday-1)
-- Today first calender entry
sTodayTitlefirst = string.find(response,"<titles0>")
eTodayTitlefirst = string.find(response,"</titles0>")
TodayTitlefirst = string.sub(response,sTodayTitlefirst+9,eTodayTitlefirst-1)
sTodayStartfirst = string.find(response,"<starttime0>")
eTodayStartfirst = string.find(response,"</starttime0>")
TodayStartfirst = string.sub(response,sTodayStartfirst+12,eTodayStartfirst-1)
sTodayEndfirst = string.find(response,"<endtime0>")
eTodayEndfirst = string.find(response,"</endtime0>")
TodayEndfirst = string.sub(response,sTodayEndfirst+10,eTodayEndfirst-1)
if sToday ~= nil then
if currentDate == Today then
fibaro:log("Datum:"..Today)
fibaro:sleep(1000)
if TodayTitlefirst =="Jobb" then
fibaro:log(TodayTitlefirst.." "..TodayStartfirst.."-"..TodayEndfirst)
fibaro:setGlobal("JonnyatWork", "1")
fibaro:setGlobal("jonnyJobbStart", TodayStartfirst)
fibaro:setGlobal("jonnyJobbSlutar", TodayEndfirst)
fibaro:sleep(1000)
elseif TodayTitlefirst == "Sopor" then
fibaro:log("Kom ihåg sopkärlen")
fibaro:sleep(1000)
fibaro:setGlobal("UtMedSoptunnor", "1")
elseif TodayTitlefirst == "Helg" then
fibaro:setGlobal("Helg", "1")
fibaro:log("Helgdag")
fibaro:sleep(1000)
end
end
end
if currentDate ~= Today then
fibaro:log("Inget i kalendern")
end
Beträffande soptunnorna så när detta dyker upp i kalendern och det hämtas så sätts variabel UtMedSoptunnor till 1 och sen monitorerar jag detta med scen som då skickar ett Push meddelande till våra telefoner.
zip fil (lägg denna på din webbserver, i rooten) Källa: http://maison-et-domotique.com/books/sc ... domotique/