Page 1 of 2

Hämta data från RSS?

Posted: 06 Jan 2014, 16:36
by Mek
Hej!

Har nyligen gått från Telldus och Switchking till Fibaro HC2. Än så länge supernöjd. :D

I Switchking hämtade jag solinstrålningsdata från Göteborg energi.

http://goteborgenergi.se/Lib/EnergyView ... 2755_.ashx

Fältindex: 3
Radindex: 10

Går det att få in detta till en variabel i HC2? Eller hur funkar de?

//Mattias

Re: Hämta data från RSS?

Posted: 07 Jan 2014, 09:46
by dhanjel
Jag tror bara man kommer åt http, ftp och net-anrop i virtuella enheter.
Testa att skapa en sån. Finns lite olika exempel här och på fibaros anrop hur man gör det.

Re: Hämta data från RSS?

Posted: 07 Jan 2014, 10:43
by jompa68
Mek wrote:Hej!

Har nyligen gått från Telldus och Switchking till Fibaro HC2. Än så länge supernöjd. :D

I Switchking hämtade jag solinstrålningsdata från Göteborg energi.

http://goteborgenergi.se/Lib/EnergyView ... 2755_.ashx

Fältindex: 3
Radindex: 10

Går det att få in detta till en variabel i HC2? Eller hur funkar de?

//Mattias
Kan göra en virtuell enhet åt dig ikväll.

Re: Hämta data från RSS?

Posted: 07 Jan 2014, 11:09
by jompa68
Så här kan man göra
1.PNG
1.PNG (12.14 KiB) Viewed 16491 times
Skapa en variabel (Solwatt)
Skapa en virtuell enhet, lägg till 1st knapp och 2st labels.
2.PNG
2.PNG (46.86 KiB) Viewed 16491 times
Ändra på knappen ifrån String till LUA-kod och lägg in nedanstående kod. Ändra rad nr4 till din virtuella enhets id.

Code: Select all

HC2 = Net.FHttp("www.goteborgenergi.se") 
response, status, errorcode = HC2:GET("/Lib/EnergyView/Rss.ashx?MeasureId=2755&Type=Current&Images=False")

thisId = 242 --ID på virtuella enheten

wTimeStart = string.find(response,"<guid>")
wTimeStop = string.find(response,"</guid>")
watt = string.find(response,"W/m2")
wattTime = string.sub(response,wTimeStart+19, wTimeStop-1)
wattValue = string.sub(response,watt-2, watt+3)
fibaro:call(thisId, "setProperty", "ui.lblTime.value", wattTime);
fibaro:call(thisId, "setProperty", "ui.lblValue.value", wattValue);
fibaro:setGlobal("Solwatt", wattValue);
fibaro:log(wattTime.." "..wattValue)
3.PNG
3.PNG (68.83 KiB) Viewed 16491 times
Skapa en scen som hämtar värdet genom att "trycka" på virtuella enhetes "hämta" knapp.
4.PNG
4.PNG (21.92 KiB) Viewed 16458 times

Re: Hämta data från RSS?

Posted: 07 Jan 2014, 12:59
by Mek
Grymt! Tackar vi för!
Ska testa detta i kväll! :D
Två frågor bara...

Går det att få den att uppdatera utan att använda knappen?
Går det att putta in värdet i en variabel?

Har inte fått kläm på alla funktioner ännu.

//M

Re: Hämta data från RSS?

Posted: 07 Jan 2014, 15:07
by jompa68
Har uppdaterat skriptet och guiden. Lycka till ;)

Re: Hämta data från RSS?

Posted: 07 Jan 2014, 18:55
by Mek
Tack så mycket för hjälpen! :D

Verkar fungera som det ska, får labbs lite till helgen då jag får lite solljus att jobba med.

Hur får jag till det med att få värdet till en variabel?

//M

Re: Hämta data från RSS?

Posted: 07 Jan 2014, 19:01
by jompa68
Står i guiden ;)

// Jonny

Re: Hämta data från RSS?

Posted: 07 Jan 2014, 20:09
by Mek
Ibland så är man blind! :roll:

Tack för hjälpen!!!

Re: Hämta data från RSS?

Posted: 12 Jan 2014, 01:40
by iSnobben
Intressant men vad använder du det till. Har precis beställt en HC2 och det verkar gå att göra väldigt mycket mer med denna än jag först trodde.

Re: Hämta data från RSS?

Posted: 12 Jan 2014, 10:51
by Mek
Använder den tills att släcka och tända lampor beroende på hur ljust det är.
Då det ibland blir det ju väldigt mörkt på dagen.
Har tänkt att skaffa ett skymningsrelä, men fram tills dess kör jag med värdet från Göteborg Energi.

//M

Re: Hämta data från RSS?

Posted: 25 Jan 2014, 00:55
by Mek
Har lite problem med denna funktion, då värdet ändras från 3 siffrigt ner till 0.

Finns det någon möjlighet att läsa mellan taggarna <description>233 W/m2</description>?
Alltså använda >< som separeringstecken och läsa in det som är där i mellan?
Eller finns det någon möjlighet att välja vilken rad man ska börja leta i? Alltså rad 10, 13 tecken in...
Eftersom det finns två description taggar.

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Solinstrålning</title>
<link>http://www.goteborgenergi.se</link>
<description>Mätvärden för Solinstrålning</description>
<item>
<title>Aktuellt mätvärde för Solinstrålning</title>
<pubDate>Fri, 24 Jan 2014 12:20:00 GMT</pubDate>
<description>233 W/m2</description>
<guid>2755:Current:2014-01-24 13:20</guid>
<link />
</item>
</channel>
</rss>

//Mattias

Re: Hämta data från RSS?

Posted: 27 Jan 2014, 19:50
by Mek
Joooooompa68 hjääälp! :D

//Mattias

Re: Hämta data från RSS?

Posted: 27 Jan 2014, 20:04
by jompa68
är det inte från samma källa som mitt tidigare inlägg som du önskar hämta data ifrån?

Re: Hämta data från RSS?

Posted: 27 Jan 2014, 21:28
by Mek
Det är samma, :D men det blir problem då solvärdet varierar från 0-300. Som det är nu funkar det för 0-9.
För det funkar väl så att vi letar efter "W/m2" och backar 2 steg. wattValue = string.sub(response,watt-2, watt+3)

Så för att få till det måste man väl på något sätt peka på vilken rad att leta efter samt läsa allt mellan ><

Eller har jag fattat detta fel. :?

Så jag behöver lite experthjälp.

Re: Hämta data från RSS?

Posted: 27 Jan 2014, 21:31
by jompa68
Ahh nu ser jag...ok, ge mig en stund så fixar jag ny kod.

Re: Hämta data från RSS?

Posted: 27 Jan 2014, 22:35
by jompa68
Prova denna istället, borde fungera.

Code: Select all

HC2 = Net.FHttp("www.goteborgenergi.se") 
response, status, errorcode = HC2:GET("/Lib/EnergyView/Rss.ashx?MeasureId=2755&Type=Current&Images=False")

thisId = 242 --ID på virtuella enheten

wTimeStart = string.find(response,"<guid>")
wTimeStop = string.find(response,"</guid>")
watt = string.find(response,"W/m2")
wattTime = string.sub(response,wTimeStart+19, wTimeStop-1)
wattValue = string.sub(response,watt-15, watt-1)
fibaro:call(thisId, "setProperty", "ui.lblTime.value", wattTime);
fibaro:call(thisId, "setProperty", "ui.lblValue.value", wattValue);
fibaro:setGlobal("Solwatt", wattValue);
fibaro:log(wattTime.." "..wattValue)

Re: Hämta data från RSS?

Posted: 27 Jan 2014, 22:49
by Mek
Tack för att du hjälper till, men det fungerar inte. Det den visar med denna kod är <description>0

//Mattias

Re: Hämta data från RSS?

Posted: 28 Jan 2014, 08:56
by jompa68
Kommer göra om den, har fått lite tips. Återkommer


Jonny sent this from his iPhone using Tapatalk

Re: Hämta data från RSS?

Posted: 28 Jan 2014, 12:17
by Mek
Grymt!
Du är min bästa vän! :D
//Mattias