Hallo, vielleicht ist es völlig einfach und zu erklären ...
Ich frage einen Zähler ab, den ich per IP erreichen kann. Dieser gibt einen String zurück mit den Werten. Im String suche ich dann nach meinem Wert und weise diesen einer Variable zu.
Dieser Inhalt soll dann gespeichert werden. Aufgerufen wird das als Modul.
Im Ergebnis erfolgt die Ausgabe aber immer doppelt, es wird doppelt gespeichert oder doppelt per print ausgegeben. Es läuft, warum auch immer, 2 mal durch. Das weiß ich, weil ich auch Momentanwerte abfrage. Die beiden Werte unterscheiden sich dann. (Ist noch die 2er Version, der Pi steuert schon Jahre meine Heizung).
Woran liegt das?
Beispiel Aufruf
Code
import re
import os
import time
import urllib
jetzt = (time.strftime("%H:%M %d.%m.%Y"))
def szaehler2 () :
try :
url2 = "http://192.168.2.234/get_table"
w2 = urllib.urlopen(url2)
werte2 = w2.read()
i = werte2.find('forward_kwh') + 14 # findet den anfang des eintrags im string
ie =werte2.find ('reverse_kwh') -7 #findet den naechsten eintrag im String
forward_kwh = str(werte2[i:ie]) # liest den wert dazwischen im string, laenge veraenderlich
solar = open("/home/pi/solarertrag1.txt", "a")
solar.write (jetzt + " " + " Arbeit Verbrauch " + forward_kwh + " kWh \n") #stellt die zeile zusammen/schreibe
solar.close()
#print "forward_kwh = " + forward_kwh + "kWh"
return forward_kwh
except:
print "kein zaehler erreichbar"
Alles anzeigen