solarrd/mockup.py

49 lines
1.1 KiB
Python

#!/usr/bin/env python3
import os
import crcmod
from random import randint
from time import sleep
from config import *
from update import parse_line, create_database, update_database, update_graphs, upload_graphs
calc_crc = crcmod.predefined.mkCrcFun(CRC_TYPE)
def gen_line():
values = []
stored = {name : (minval, maxval) for name, minval, maxval in STORED_VALUES}
for name in FORMAT:
minval = 0
maxval = 1000
if name in stored.keys():
minval, maxval = stored[name]
values += [str(randint(minval, maxval))]
payload = ";".join(values) + ";"
crc = calc_crc(payload.encode('ascii'))
crc_str = chr((crc & 0xFF00) >> 8) + chr(crc & 0xFF)
return payload + crc_str + "\r\n"
def main():
if not os.path.exists(DATA_FILE) or not os.path.exists(ARCHIVE_DATA_FILE):
create_database()
sleep(60)
while True:
print("Adding Line...")
line = gen_line()
parsed = parse_line(line)
update_database(parsed)
update_graphs()
upload_graphs()
sleep(60)
if __name__ == '__main__':
main()