
| Current Path : /var/www/web-klick.de/dsh/11_kistler/56__rivsmart/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/web-klick.de/dsh/11_kistler/56__rivsmart/rivsmart.py |
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
import time
from rivsmart import wifi, connector
from rivsmart.parse import RivStreamList
from rivsmart.utils import *
from rivsmart.datastructure import Rivdom
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--ssid", default='', help="SSID of the tool")
args = parser.parse_args()
tool_ssid = args.ssid
rivdom = Rivdom()
def ping(rivsmart_connection):
sender = connector.Send(rivsmart_connection, rivdom.request('total_count', 'tool_second'))
sender.start()
def print_status(rivsmart_connection):
my_println(rivsmart_connection.connected)
def main():
my_wifi = wifi.WifiConnection()
if tool_ssid:
my_wifi.connect_to(tool_ssid)
else:
my_wifi.connection_menu(func=sys.exit)
time.sleep(0.5)
rivsmart_connection = connector.Connector()
rivsmart_connection.connect()
my_println("connected")
time.sleep(0.5)
pinger = RepeatedTimer(5, ping, rivsmart_connection)
pinger.stop()
sender = connector.Send(rivsmart_connection, rivdom.multi_request(rivdom.get('sn_code'), 130))
sender.start()
time.sleep(0.5)
x = 0
while x < 5:
my_println("-"*50)
my_println("x: ", x)
receiver = connector.Receive(rivsmart_connection)
receiver.start()
stream = RivStreamList(receiver.received_data)
for item_dict in stream:
for key, value in item_dict.items():
my_println("{name:<35}:{data:8X}".format(name=key, data=value.data[0]))
time.sleep(1)
x += 1
pinger.stop()
show_cursor()
if __name__ == '__main__':
main()