Professional Documents
Culture Documents
Eden EMS Architecture
Eden EMS Architecture
Eden EMS Architecture
Premium
Weekly Issues Quarterly Savings Subscription
Weekly Savings
Report Report Invoice
Report
User
eden-ems.com website
Background
- Generate savings
- Generate quarterly savings
- Calculate rolling kwh API for own use and
- Rotate PTAC data 3rd party access
- Premium subscription
payment processing
Data Flow
eden-
ems.com set_config load/refresh
UpdateHistory save
table Update RoomData
table table
save
get_config
Controller/PTAC
set config: send changes from website to DB (current code: eden\eden\api\views.py – UpdateViewSet())
send in update file: PTAC updates DB with changes from unit (current code: eden\eden\eden\utils\
controller.py - receive_controller_data())
Sending in Update File (Importing)
Start
RoomData
Next file
table
No
Runtime
Throw away Archive in table
AWS
AWS Servers
(CD/CI)
AWS RDS
Database
git.eden-ems.com
Gitlab Code
Repository
Beside what is described above, there’s also a local development environment. It’s built & works the
same way Production or Staging does, except that it works with a local database with a tiny amount of
data.
Terms/Definitions
PTAC: Packaged Terminal Air Conditioner
Update table: holds settings that user makes on the web site waiting to be pushed to controller/PTAC.
Staging table: CSV data a PTAC sends in is dumped into this temporary table.
RoomData table: contains interpreted Staging data. For example, an Occupied column in RoomData is
Staging’s Current Status column AND’ed with 1 (i.e., Staging.current_status & 1), a Rented column in
RoomData is Staging’s Current Status AND’ed with 2. RoomData generally is ready-for-display-to-end-
user data .
PTACData table: holds copies of Staging tables, used for deriving & displaying more technical data.
Runtime table: holds only Staging data columns specifically for calculating PTAC energy savings.
** Notes: specific types of data are stored in different tables in order to cut down search & processing
time when there is a need to display or report data. It’s kind of like preprocessing data, and it’s done
either at data import time, or in other background tasks.
Thermistor: a sensor that senses or holds information about a specific type of temperature. An example
is the IAT thermistor for Indoor Ambient Temperature.