To specifically answer @melih’s question about LUA in scenes, I think of:
- Custom IP integrations.
I have a LUA start-up function to control my QMotion roller shades. Qmotion Blinds - #36 by wilme2 Then I reference that function in scenes. This code was for 2rd generation QMotion requiring a QConnect and an IP2SL, but I also have a 3rd generation blind with a direct IP call to a QSync.
Move a Foscam PTZ camera based on an Event. Adjust Foscam FI9826P camera position when one of the doors is opened - #2 by ceefin
- Access functions of devices that are not available via official integration or plug-in.
Re-sync all devices on a DSC alarm panel connected to Vera via Envisalink and the DSC plug-in. DSC Plugin Getting out of Sync with Alarm System state - #9 by wilme2
- Control anything IR/RS232 via a Global Cache IP2IR/IS2SL
Turn on my kitchen TV:
SendiTachCommand("192.168.0.125,4998,sendir,1:1,1,38000,1,1,172,172,22,64,22,64,22,64,22,21,22,21,22,21,22,21,22,21,22,64,22,64,22,64,22,21,22,21,22,21,22,21,22,21,22,64,22,21,22,21,22,64,22,64,22,21,22,21,22,64,22,21,22,64,22,64,22,21,22,21,22,64,22,64,22,21,22,1820,\r") -- Turn On Samsung TV in Kitchen
Via Startup LUA:
function SendiTachCommand(ParamString)
local IPAddress,Port, CommandtoSend = string.match(ParamString,"(%d+.%d+.%d+.%d+),(%d+),(.+)")
print (IPAddress)
print (Port)
print (CommandtoSend)
local socket = require("socket")
c = assert(socket.connect(IPAddress, Port))
c:settimeout(5)
local sres, serr = c:send(CommandtoSend)
print("Send:", sres, serr)
local data, rerr = c:receive(5)
print ("Receive:", data, rerr)
c:close()
end