Du Musst die MSG-ID in eine Zahl konvertieren. Also z.B. mit
Code:
int('msgID', 16)
import serial import httplib2 import time stop = time.time() + 59 h = httplib2.Http(".cache") s = serial.Serial('/dev/ttyUSB0', 115200) # IF und Baudrate anpassen while time.time() < stop: if s.inWaiting()>0: inputValue = s.readline().strip() array = str(inputValue).split(';') if len(array) == 3: msgID = array[0].strip("b'") data = array[2].rstrip("'") choices = { '1CB86000' : '1075', #Brennraumtemp '1CB86001' : '1076', #Kesseltemp '1C104003' : '1077', #Volumenstrom Festbrennofen '1C104005' : '1078', #Anlagendruck '1C104006' : '1079', #Volumenstrom HK1 '1C104009' : '1080', #Temp VL HK 1 '1C10400B' : '1081', #Puffer oben '1C10400C' : '1082', #Puffer mitte '1C10400D' : '1083', #Puffer unten '1C104013' : '1084', #Aussentemp '1C104015' : '1085', #Kessel RL '1C10401E' : '1086', #HK1 RL '1C10600A' : '1087', #HK1 Ein Aus '1C10801A' : '1088', #Leistung Ofen '1C112006' : '1089', #WW Volumenstrom '1C114406' : '1090' #Leistung HK1 } koid = choices.get(msgID, 'error') data = hex(int(data, 16)) if koid != "error": erg = str(int(data, 16)/2560) if koid == '1084': temp = int(data, 16) if temp >= 1<<23: temp -=1<<24 erg = str(temp / 2560) if koid == '1087': erg = str(int(data, 16)/256) (header, content) = h.request("http://192.168.211.16/remote/?login=******&pass=******&koid="+koid+"&kovalue="+erg, "GET")
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar