Basic web API service for managing my Tuya based WiFi alarm.
Add Widmaker repo and install windmaker-alarmmanager:
wget -O - https://packages.windmaker.net/WINDMAKER-GPG-KEY.pub | sudo apt-key add -
sudo add-apt-repository "deb http://packages.windmaker.net/ focal main"
sudo apt-get update
sudo apt-get install windmaker-alarmmanager
This service uses a config file which folder location is defined by environment variable ALARM_MANAGER_CONFIG_FILE_LOCATION, inside this folder it must exists a file called config.toml.
[web_server]
port = 3000
[tuya_devices]
[tuya_devices.home_alarm]
name = "Home Alarm"
type = "99AST"
host = "https://openapi.tuyaeu.com"
client_id = "clientID"
secret = "secret"
device_id = "device_id"
Client and Device ID's are extracted from Tuya Developer Account.
curl -s -X GET "http://IP:PORT" | jq
{
"success": true,
"msg": "Service up"
}
curl -s -X GET "http://IP:PORT/version" | jq
{
"success": true,
"version": "0.1"
}
curl -s -X GET "http://IP:PORT/devices" | jq
{
"success": true,
"data": {
"deviceid": "Home Alarm"
}
}
curl -s -X GET "http://IP:PORT/devices/status/deviceid" | jq
{
"success": true,
"msg": "",
"mode": "disarmed",
"firing": false,
"online": true
}
curl -s -X PUT "http://IP:PORT/devices/status/deviceid" -H 'Coontent-type: application/json' -d '{"mode": "Disarmed"}' | jq
{
"success": true,
"msg": "",
"mode": "disarmed",
"firing": false,
"online": true
}