Om det gäller solinstrålningsvärdet från Göteborg Energi så har jag löst det som följande:
Code: Select all
startTag = "<description>"
stopTag = " W/m2</description>"
unitText = "Solinstrålning = "
unitValue = " W/m2"
timeStartTag = "<guid>2755:Current:"
timeStopTag = "</guid>"
DATA = Net.FHttp("www.goteborgenergi.se", 80)
response, status, errorCode = DATA:GET("/Lib/EnergyView/Rss.ashx?MeasureId=2755&Type=Current&Images=False")
if tonumber(status) == 200 and errorCode == 0
then
startValue = string.find(response,startTag, 275)
stopValue = string.find(response,stopTag, 275)
Value= string.sub(response,startValue+string.len(startTag),stopValue-1)
timeStartValue = string.find(response,timeStartTag)
timeStopValue = string.find(response,timeStopTag)
timeValue= string.sub(response,timeStartValue+string.len(timeStartTag),timeStopValue-1):sub(12,19)
fibaro:setGlobal("insolation", Value)
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", (Value..unitValue))
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label2.value", timeValue..":00")
fibaro:debug(unitText..Value..unitValue)
fibaro:debug("Tid = "..timeValue)
fibaro:log(Value..unitValue.." ("..timeValue..":00)")
else
fibaro:debug("ErrorCode = "..errorCode)
fibaro:debug("Status = "..status)
fibaro:log("Status = "..status.." ErrorCode = "..errorCode)
end
Skrivet på en iPad, så det kan ha smugit sig in något fel...