add unique constraint to program
add device log model
add ecobee parser with get