Hej
Hittar inget om att någon kör Home Assistant här, men skickar ut en fråga ändå.
Jag försöker styra ett antal Nexa brytare i Telldus Live via Home Assistant (HA) på en Raspberry Pi. Det fungerar bra att slå av dom i HA och det finns ett REST API med JSON.
https://home-assistant.io/developers/rest_api/
Jag har skapat en VD i min HC2 och allt verkar fungera bra förutom att at switchen i HA ställer tillbaka sig efter ca 5 sekunder.
local thisdevice = fibaro:getSelfId()
local ip = fibaro:getValue(thisdevice, 'IPAddress')
local port = fibaro:getValue(thisdevice, 'TCPPort')
local httpSession = Net.FHttp(ip, port);
--jsonTable = { attributes = { assumed_state = true}, state = "on" }
jsonTable = { state = "on" }
jsonString = json.encode(jsonTable)
response, status, errorCode = httpSession:POST('/api/states/switch.trappa', jsonString)
fibaro:debug("Response = "..response)
fibaro:debug("Status = "..status)
fibaro:debug("ErrorCode = "..errorCode)
Några ideér på vad jag skall göra?
HC2 och Home Assistant REST API
-
- Medlem
- Posts: 44
- Joined: 02 Mar 2015, 17:01
- 9
- Location: Uppsala
Fick till det efter lite ....
För att slå på en switch device:
local switch = "switch.tv_fonster" -- Name of the light dimmer in Home Assistant
local thisdevice = fibaro:getSelfId()
local ip = fibaro:getValue(thisdevice, 'IPAddress')
local port = fibaro:getValue(thisdevice, 'TCPPort')
local httpSession = Net.FHttp(ip, port);
jsonTable = { entity_id = switch }
jsonString = json.encode(jsonTable)
response, status, errorCode = httpSession:POST("/api/services/switch/turn_on", jsonString)
För att slå på en dimmer device:
local light = "light.tv_fonster_dim" -- Name of the light dimmer in Home Assistant
local thisdevice = fibaro:getSelfId()
local ip = fibaro:getValue(thisdevice, 'IPAddress')
local port = fibaro:getValue(thisdevice, 'TCPPort')
local httpSession = Net.FHttp(ip, port);
local sliderValue = fibaro:getValue(thisdevice, "ui.Slider1.value") -- Get Fibaro Slider Value
if tonumber(sliderValue) <= 5
then
jsonTable = { entity_id = light, brightness = "100" }
elseif tonumber(sliderValue) <= 20
then
jsonTable = { entity_id = light, brightness = math.floor((sliderValue*2.55)+0.5) }
else
jsonTable = { entity_id = light, brightness = "100" }
end
jsonString = json.encode(jsonTable)
response, status, errorCode = httpSession:POST("/api/services/light/turn_on", jsonString)
I dimmer har jag tagit hänsyn till att in tända lamporna för stark eller för svagt. Då sätter den 100 av dom 255 möjliga i Home Assistant. Dock är max i HC2 100 så där av om räkningen med 2.55.
Så nu kan jag köra Tellstick eller Telldus Live från min Fibaro via Home Assistant (körs på en Raspberry Pi).
För att slå på en switch device:
local switch = "switch.tv_fonster" -- Name of the light dimmer in Home Assistant
local thisdevice = fibaro:getSelfId()
local ip = fibaro:getValue(thisdevice, 'IPAddress')
local port = fibaro:getValue(thisdevice, 'TCPPort')
local httpSession = Net.FHttp(ip, port);
jsonTable = { entity_id = switch }
jsonString = json.encode(jsonTable)
response, status, errorCode = httpSession:POST("/api/services/switch/turn_on", jsonString)
För att slå på en dimmer device:
local light = "light.tv_fonster_dim" -- Name of the light dimmer in Home Assistant
local thisdevice = fibaro:getSelfId()
local ip = fibaro:getValue(thisdevice, 'IPAddress')
local port = fibaro:getValue(thisdevice, 'TCPPort')
local httpSession = Net.FHttp(ip, port);
local sliderValue = fibaro:getValue(thisdevice, "ui.Slider1.value") -- Get Fibaro Slider Value
if tonumber(sliderValue) <= 5
then
jsonTable = { entity_id = light, brightness = "100" }
elseif tonumber(sliderValue) <= 20
then
jsonTable = { entity_id = light, brightness = math.floor((sliderValue*2.55)+0.5) }
else
jsonTable = { entity_id = light, brightness = "100" }
end
jsonString = json.encode(jsonTable)
response, status, errorCode = httpSession:POST("/api/services/light/turn_on", jsonString)
I dimmer har jag tagit hänsyn till att in tända lamporna för stark eller för svagt. Då sätter den 100 av dom 255 möjliga i Home Assistant. Dock är max i HC2 100 så där av om räkningen med 2.55.
Så nu kan jag köra Tellstick eller Telldus Live från min Fibaro via Home Assistant (körs på en Raspberry Pi).
- Attachments
-
- Fibaro VD for Home Assistant.zip
- (3.49 KiB) Downloaded 561 times