ich beschäftige mich gerade mit einer Neuentwicklung des Viessmann Plugins, mit Lese- und Schreibfunktion und direktem Zugriff über die serielle Schnittstelle.
Viele Funktionen sind bereits implementiert und getestet. Aktuell stehen die Timer (Schaltzeiten) an und dabei bräuchte ich Hilfe bei der Umsetzung in Python.
Konkret:
Die Abfrage der Schaltzeiten liefert ein Bytearray in dem die möglichen 4 An- und 4 Abschaltzeiten enthalten sind. diese möchte ich in ein dict übertragen.
Das Dict soll so aussehen: {1{'AN':'Zeit1'; 'AUS':'Zeit2'};2{'AN':'Zeit3'; 'AUS':'Zeit4'};3{'AN':'Zeit5'; 'AUS':'Zeit6'};4{'AN':'Zeit7'; 'AUS':'Zeit8'}}
Das bytearray sieht bspw so aus: b'20248389ffffffff'
Immer 2 Byte stehen für eine Schaltzeit.
Mein PythonCode zur Ermittelung der Zeit sieht so aus:
Code: Alles auswählen
timerdict = {}
index = 0
while (len(rawdatabytes) > 0):
# Ersten 2Byte zwischenspeichern
leftbytes = rawdatabytes[:2]
# Wert der Bytes ermitteln
value = int(leftbytes, 16)
if value != 255:
hour = int(value>>3)
minute = int((value-(hour<<3))*10)
else:
hour = 0
minute = 0
zeit2 = str(hour).zfill(2) + ':' + str(minute).zfill(2)
rawdatabytes = rawdatabytes[2:]
Danke Euch