Hej!
Jag undrar om det är någon som vet om man kan och i sådana fall hur man byter ikon på ett rum, med hjälp av LUA. Jag misstänker att man måste använda sig av något http api...
Idéer?
Bakomliggande story:
Jag vill byta ikon för garaget till en med öppen/stängd port beroende på portsensorns status.
All hjälp mottages med största tacksamhet!
Eric
Sent from my SM-G930F using Tapatalk
HC2 - Byta ikon för rum med LUA?
Hej
Har inte ändrat på icon för ett rum... Men du borde kunna göra typ så här i lua...
För att titta på ett rum i din HC2 kan du göra så här (rum med ID 6 som exempel)...
http://HC2IP_ELLER_DNSNAMN:80/api/rooms/6
Kan se ut så här...
{
"id": 6,
"name": "Hall",
"sectionID": 5,
"icon": "room_polkabuty",
"defaultSensors": {
"temperature": 865,
"humidity": 0,
"light": 866
},
"defaultThermostat": 0,
"created": 1508877156,
"modified": 1508877156,
"sortOrder": 8
}
För att formatera varibeln "data" ovan så kan du titta på "function createglobalpredefvar" i min DSCengine kod. Du hittar den här... https://www.incedo.eu/~sjoholmp/Fibaro_ ... DSCengine/
Kolla i version ...2.8.lua. Sen får du anpassa din "data"variabel ovan genom att titta på rummet. Se exempel på rum ovan. API syntax för att modda rum är här...
http://HC2IP_ELLER_DNSNAMN/docs/#!/rooms/modifyRoom
/Peo
Har inte ändrat på icon för ett rum... Men du borde kunna göra typ så här i lua...
Code: Select all
roomID = "23" -- Example room ID
data = '{ LÄGG IN DITT DATA HÄR }'
HOST = Net.FHttp("127.0.0.1",11111);
local response ,status, err = HOST:PUT('/api/rooms/'..roomID, data);
fibaro:debug(' Error code: ' .. err)
if (tonumber(status)==200) then
fibaro:debug('BLA BLA BLA')
else
fibaro:debug('OOOPS BLA BLA BLA')
end
För att titta på ett rum i din HC2 kan du göra så här (rum med ID 6 som exempel)...
http://HC2IP_ELLER_DNSNAMN:80/api/rooms/6
Kan se ut så här...
{
"id": 6,
"name": "Hall",
"sectionID": 5,
"icon": "room_polkabuty",
"defaultSensors": {
"temperature": 865,
"humidity": 0,
"light": 866
},
"defaultThermostat": 0,
"created": 1508877156,
"modified": 1508877156,
"sortOrder": 8
}
För att formatera varibeln "data" ovan så kan du titta på "function createglobalpredefvar" i min DSCengine kod. Du hittar den här... https://www.incedo.eu/~sjoholmp/Fibaro_ ... DSCengine/
Kolla i version ...2.8.lua. Sen får du anpassa din "data"variabel ovan genom att titta på rummet. Se exempel på rum ovan. API syntax för att modda rum är här...
http://HC2IP_ELLER_DNSNAMN/docs/#!/rooms/modifyRoom
/Peo
Tack Peo! Det funkade jäklar i mig
Byter jag data = '{"icon":"User1001"}' till t.ex. data = '{"icon":"User1002"}' får jag nästa icon, osv... Icon-namnet får jag genom att byta icon på ett rum och sedan "öppna bilden/iconen" genom att dra den till webbläsarens adressfält. I fältet står sedan iconens namn.
Något som jag inte hade koll på innan var att "Net.FHttp" inte fungerar i scener men i en VD (fick googla fram det).
Här är min kod:
Tack också alexndr som tog dig tid att svara!
Jag trodde i ärlighetens namn inte att jag skulle få ett svar på det här; och så snabbt!!
Med största tacksamhet,
Eric
Byter jag data = '{"icon":"User1001"}' till t.ex. data = '{"icon":"User1002"}' får jag nästa icon, osv... Icon-namnet får jag genom att byta icon på ett rum och sedan "öppna bilden/iconen" genom att dra den till webbläsarens adressfält. I fältet står sedan iconens namn.
Något som jag inte hade koll på innan var att "Net.FHttp" inte fungerar i scener men i en VD (fick googla fram det).
Här är min kod:
Code: Select all
roomID = "18" -- Example room ID
data = '{"icon":"User1001"}' -- Change icon to the icon with name "User1001"
HOST = Net.FHttp("127.0.0.1",11111);
local response ,status, err = HOST:PUT('/api/rooms/'..roomID, data);
fibaro:debug(' Error code: ' .. err)
if (tonumber(status)==200) then
fibaro:debug('BLA BLA BLA')
else
fibaro:debug('OOOPS BLA BLA BLA')
end
Tack också alexndr som tog dig tid att svara!
Jag trodde i ärlighetens namn inte att jag skulle få ett svar på det här; och så snabbt!!
Med största tacksamhet,
Eric