%load_ext autoreload
%autoreload 2
import sys
# https://github.com/fzinfz/flask-DLT645
sys.path.append("/data_nfs/flask-DLT645/lib")
from read import *
%run /data_nfs/conf/flask-DLT645/dev.py
devices = Meters(meter_list_str)
df_meters = devices.df
df_meters
Tag | |
---|---|
Addr | |
010128318569 | UPS |
000080853040 | 市电 |
result = devices.read_meters(chn, level=2, verbose=0)
Serial<id=0x7f37b4b80670, open=True>(port='/dev/ttyUSB0', baudrate=2400, bytesize=8, parity='E', stopbits=1, timeout=0, xonxoff=False, rtscts=False, dsrdtr=False) ===== ['010128318569', 'UPS'] ===== {'功率-瞬时总有功': ('89.80', 'W'), '电能-组合有功总-当前': (8.87, 'kWh')} ===== ['000080853040', '市电'] ===== {'功率-瞬时总有功': ('49.60', 'W'), '电能-组合有功总-当前': (3286.75, 'kWh')}
import copy
result_list = copy.deepcopy(result)
for k,v in result_list.items():
v['Addr'] = k, ''
for m in result_list.values():
for k in m.keys():
m[k] = m[k][0]
df = pd.DataFrame(result_list.values()).set_index('Addr')
df = df_meters[['Tag']].merge(df, on='Addr')
df
Tag | 功率-瞬时总有功 | 电能-组合有功总-当前 | |
---|---|---|---|
Addr | |||
010128318569 | UPS | 89.80 | 8.87 |
000080853040 | 市电 | 49.60 | 3286.75 |