Hallo zusammen,
ich lese über ein Python-Script zyklisch Temperaturwerte von meinen 1-Wire Sensoren aus und schreibe diese dann auf bestimmte Netzwerkadressen. Das ganze sieht so aus:
#################################################################################
# Sensor
tfile = open("/sys/devices/w1_bus_master1/28-0516a44ea2ff/w1_slave")
# read the data and close the file...
text1 = tfile.read()
tfile.close()
temperature_data1 = text1.split()[-1]
temperature1 = float(temperature_data1[2:])
temperature1 = temperature1 / 1000
print 'Ausgelesene Temperatur ', temperature1
url = ("http://localhost:8088/rest/devices/4/attributes/1/value?set=" + str(temperature1) + "")
content = urllib.urlopen(url).read()
Die ausgelesenen Temperaturen wiederum nutze ich in meiner Logo 8 um z.B. die Temperatur zu Regeln. Mein Problem ist jetzt folgendes. Ich lese in der Logo 8 die Netzwerkadresse als Analogeingang ein und leite die Temperatur durch einen analogen Schwellwertschalter. Dieser wiederum soll bei +50°C einschalten und bei +20°C wieder ausschalten. Das macht er am Anfang auch aber irgendwann „springen“ die Werte. Das heißt jedesmal wenn ich über mein Pythonscript die Temperaturen auf die Netzwerkadresse schreibe, kann ich in der LogoControl beobachten, wie die Temperaturen kurzeitig auf einen ganz komischen Wert springen. Dies ist als -1888°C oder so. Dies ist aber echt nur für ein paar hundertstel Sekunden so. Dann wird direkt die korrekte Temperatur angezeigt. Dies reicht aber, das mein analoger Schwellwertschalter wieder ausschaltet. Das heißt er springt die ganze Zeit hin und her. Ich habe es auch schon mit einem anlogen Filter eingestellt auf 256 probiert. Hier aber das gleiche Problem. Sobald ein kurzeitig ein komischer Wert gesendet wird, ist mein Mittelwert des Filters hinüber. Hatte das Problem schonmal jemand? Wie kann ich das umgehen?
Danke
Gerdi