# import serial # import io # import time # import os import time from stab_reader import StabReader from stab_display import StabDisplay I2C_ADDRESS_O = 0x3C # 011110+SA0+RW - 0x3C or 0x3D I2C_ADDRESS_U = 0x3D # 011110+SA0+RW - 0x3C or 0x3D if __name__ == '__main__': # create objects sr1 = StabReader(port='/dev/ttyUSB0') sr2 = StabReader(port='/dev/ttyUSB1') sao = StabDisplay(i2c_address=I2C_ADDRESS_O) sau = StabDisplay(i2c_address=I2C_ADDRESS_U) # wait until at least one stab is online while True: sr1.read_state() sr2.read_state() if sr1.is_online() or sr2.is_online(): break # check which stab device is the upper and which the lower # SN oben: 1234567890123456 # SN unten: 2345678901234567 print('sr1 SN: ' + sr1.get_value('Seriennummer')) print('sr2 SN: ' + sr2.get_value('Seriennummer')) if sr1.get_value('Seriennummer') == '1234567890123456' or sr2.get_value('Seriennummer') == '2345678901234567': sro = sr1 sru = sr2 else: sro = sr2 sru = sr1 # main loop count = 4 while True: if count >= 4: # read devices every 2 seconds sro.read_state() sru.read_state() count = 0 # update displays every 500 ms sao.set_values(v=sro.get_value('Solarspannung'), c=sro.get_value('Solarstrom'), w=sro.get_value('Solarleistung'), d=sro.get_value('SolarenergieHeute'), s=sro.get_value('SolarenergieGesammt'), wt=sro.get_value('Wassertemp'), gt=sro.get_value('GeraeteTemp')) # sao.set_values(v=sro.get_dummy('Solarspannung'), c=sro.get_dummy('Solarstrom'), # w=sro.get_dummy('Solarleistung'), d=sro.get_dummy('SolarenergieHeute'), # s=sro.get_dummy('SolarenergieGesammt'), wt=sro.get_dummy('Wassertemp'), # gt=sro.get_dummy('GeraeteTemp')) # sao.set_values(v='260.8', c='10.3276', w='2000.00', d='10000', s='999999', wt='33', gt='66') sao.update() sau.set_values(v=sru.get_value('Solarspannung'), c=sro.get_value('Solarstrom'), w=sru.get_value('Solarleistung'), d=sru.get_value('SolarenergieHeute'), s=sru.get_value('SolarenergieGesammt'), wt=sru.get_value('Wassertemp'), gt=sru.get_value('GeraeteTemp')) sau.update() time.sleep(0.5) # wait 500 ms count = count + 1