def _test_main(port_id, cur_addr, new_date, wait_for_read, verbose=0): rsp = 0 chn = dlt645.Channel(port_id=port_id, tmo_cnt=10, wait_for_read=wait_for_read) if not chn.open(): sys.stdout.write('Fail to open %s...exit script!\n\n\n' % port_id) sys.exit() if (cur_addr == []): rsp = read_meter_address(chn) else: rsp = is_meter_online(chn, cur_addr) if (rsp): cur_addr = chn.rx_addr rsp = enter_factory_mode(chn, cur_addr, verbose=verbose) if (rsp): rsp = change_meter_date(chn, cur_addr, new_date, verbose=verbose) #if (rsp): # rsp = exit_factory_mode(chn, cur_addr, verbose=verbose) if (rsp): rsp = read_date(chn, cur_addr, verbose=verbose) sys.stdout.write('\n\n') chn.close()
def _test_main(port_id, addr, wait_for_read=0.5, verbose=0): rsp = 0 chn = dlt645.Channel(port_id=port_id, tmo_cnt=10, wait_for_read=wait_for_read) if not chn.open(): sys.stdout.write('Fail to open %s...exit script!\n\n\n' % port_id) sys.exit() if (addr == []): rsp = read_meter_address(chn, verbose) else: #chn.print_hex_list(addr) rsp = is_meter_online(chn, addr, verbose) if rsp: addr = chn.rx_addr if rsp: rsp = read_date(chn, addr, verbose) if rsp: rsp = read_time(chn, addr, verbose) if rsp: rsp = read_voltage(chn, addr, verbose) if rsp: rsp = read_current(chn, addr, verbose) if rsp: rsp = read_power(chn, addr, verbose) if rsp: rsp = read_temperature(chn, addr, verbose) if rsp: rsp = read_battery_voltage(chn, addr, verbose) if rsp: rsp = read_last_outage_timestamp(chn, addr, 1, verbose) if rsp: rsp = read_preset_billing_time(chn, addr, verbose) m = 0 for n in range(0, 5): if rsp: rsp = read_energy(chn, addr, m, n, verbose) sys.stdout.write('\n\n') chn.close()
def _test_main(port_id, addr, wait_for_read, verbose=0): rsp = 0 chn = dlt645.Channel(port_id=port_id, tmo_cnt=10, wait_for_read=wait_for_read) if not chn.open(): sys.stdout.write('Fail to open %s...exit script!\n\n\n' % port_id) sys.exit() if (addr == []): rsp = read_meter_address(chn, verbose=verbose) else: rsp = is_meter_online(chn, addr, verbose=verbose) sys.stdout.write('\n\n') chn.close()
def _test_main(port_id, cur_addr, new_time, wait_for_read, verbose=0): rsp = 0 chn = dlt645.Channel(port_id=port_id, tmo_cnt=10, wait_for_read=wait_for_read) if not chn.open(): sys.stdout.write('Fail to open %s...exit script!\n\n\n' % port_id) sys.exit() if (cur_addr == []): rsp = read_meter_address(chn) else: rsp = is_meter_online(chn, cur_addr) if (rsp): cur_addr = chn.rx_addr rsp = enter_factory_mode(chn, cur_addr, verbose=verbose) if (rsp): if new_time == []: t0 = time.time() + 1 # add 1s for the delay time sys.stdout.write( "\n---> No new time specified. Use system time.\n") new_time = str_to_bcd_time( time.strftime('%H%M%S', time.localtime(t0))) rsp = change_meter_time(chn, cur_addr, new_time, verbose=verbose) #if (rsp): # rsp = exit_factory_mode(chn, cur_addr, verbose=verbose) if (rsp): rsp = read_time(chn, cur_addr, verbose=verbose) sys.stdout.write('\n\n') chn.close()
def _test_main(port_id, addr, wait_for_read=0.5, verbose=0): rsp = 0 chn=dlt645.Channel(port_id = port_id, tmo_cnt = 10, wait_for_read = wait_for_read) if not chn.open() : sys.stdout.write('Fail to open %s...exit script!\n\n\n' % port_id) sys.exit() rsp = read_meter_address(chn, verbose) addr = chn.rx_addr read_date(chn, addr, verbose) read_time(chn, addr, verbose) read_voltage(chn, addr, verbose) read_current(chn, addr, verbose) read_power(chn, addr, verbose) # read_temperature(chn, addr, verbose) read_battery_voltage(chn, addr, verbose) read_last_outage_timestamp(chn, addr, 1, verbose) # read_preset_billing_time(chn, addr, verbose) # read_power_energy(chn, addr, verbose) for m in range(0,2): for n in [0,2,4]: read_energy(chn, addr, m, n, verbose) sys.stdout.write('\n\n') chn.close()
#!/usr/bin/env python3 import dlt645 import sys from test_dlt645 import * verbose = 1 port_id = '/dev/ttyUSB0' chn = dlt645.Channel(port_id=port_id, tmo_cnt=10, wait_for_read=0.5) # open the channel if not chn.open(): sys.stdout.write('Fail to open %s...exit script!\n\n\n' % port_id) sys.exit() # read meter address rsp = read_meter_address(chn) if rsp: addr = chn.rx_addr rsp = rtcc_write_trim_enable(chn, addr, 0x1, verbose)