11.03.2020, 06:59
Try this resident script (sleep time = 0), change USER and PASS to your auth data. It will log all incoming data (log(line)). This is to check if there are any errors during communication. If everything is working then comment/delete this line.
Code:
if not sock then
host = '192.168.100.211'
port = 80
path = '/bha-api/monitor.cgi?ring=doorbell,motionsensor&http-user=USER&http-password=PASS'
sock = require('socket').tcp()
sock:settimeout(10)
res, err = sock:connect(host, port)
if res then
sock:send(
'GET ' .. path .. ' HTTP/1.1\r\n' ..
'Host: ' .. host .. '\r\n\r\n'
)
else
alert('connect failed: ' .. tostring(err))
sock:close()
sock = nil
os.sleep(5)
end
end
line, err = sock:receive()
if line then
log(line)
if line:find('doorbell:') then
status = line:split(':')[2]
log('doorbell', line)
elseif line:find('motionsensor:') then
status = line:split(':')[2]
log('motionsensor', status)
end
else
alert('receive failed: ' .. tostring(err))
sock:close()
sock = nil
end