Hilfe beim python script

  • hallo, ich habe ein python script auf einem Raspberrypi Laufen, mit einer Domotica sotware auf dem pi,


    das script macht eigentlich nicht anderes als einen GPIO event überwachen, (ein NPN sensor auf dem Wasserzähler)



    fuktioniert echt gut, und ich habe keine Abweichungen was das zählen angeht.


    nun habe ich mehr ein "kosmetisches" problem, wenn mann länger als 1 stunde kein wasserr nutzt (sprich kein event mehr vom npn sensor kam) sehe ich das device bei domoticz als offline, klar es geht wieder online sobald ich den Wasserhahn aufdrehe aber dann sind die statistiken etwas blöde



    was ich will, ob es möglich wäre in das script ein "keep alive" event einzufügen, sprich wurde das wasser länger als 5 min nicht genutzt soll einfach wieder der gleiche zählerstand übertragen werden an domoticz.



    hier mal das script





    wichtig wäre eigentlich dieser teil


    Zitat

    #Send counter to domoticz JSON
    url1 = domoticz_url+'/json.htm?type=command&param=udevice&idx='+str(idx)+'&svalue='+str(Counter)
    req1 = urllib2.Request(url1)
    response1 = urllib2.urlopen(req1)


    das wird ausgeführt sobald ein event auf dem GPIO 15 erfolgt.


    nun möchte ich aber das genau das gleiche ausgefürht wird wenn 5 min lang kein event vom GPIO 15 kam. sprich einen zähler der 300 secunden abzählt ab den letzten GPIO event, und wenn zwischenzeitlich wieder ein event vom GPIO kam das der zähler dann wieder bei 300 anfängt und nicht einfach weiter die 300 sec runter rattert ...



    ist das irgendwie machbar ??


    ob das jetzt mit nem zusätzlichen script realisiert wird oder in dieses oben genannte script mit übernommen wird ist mir eigenltich egal,


    wie gesagt is mehr ein Schönheitsfehler, weill nachts (wo kein wasser verbraucht wird) habe ich in den 24h statistiken auf einmal ein CUT... sieht einfach kacke aus :grinning_squinting_face: und bei domoticz sowieso alle sensoren nach max 5 min abgelesen werden (damit diese eben alive bleiben) wollt ich das auch mit meinem "virtuellen" sensor der im nachhinein vom oben genannten script mit dem meterstand gefüttert wird.

    Dreambox 900 UHD SS
    Dreambox 8000 HD: SSSC/T, 2GB CF, DVD
    Qnap TS219 P II + 2TB + 3TB HDD


    NC+ HD
    Sky Germany HD

    2 Mal editiert, zuletzt von Micha_123 ()

  • Sob habe ein neues script gemacht, welches einfach den erstellten wert aus der erstellten meterstand.txt datei an domoticz überträgt. Und lasse das script via crond alle 5 min ausführen.


    Sprich die holzhammer Methode...



    Haette das aber schon gern "sauber" sprich wenn ein event am gpio statt gefunden hat, das der counter von 300 wieder zurückgesetzt wird. Denn das script schreibt es ja sofort in die meterstand.txt und ubertragt diesen zwert auch sofirt an domoticz.



    Also an dir python experten, wie kann ich das am besten in das oben genannte script aeinbinden.das na h dem letzten gpio event und ubertragen des wertes einfsch ein counter von 300 sec losgeht und wenn der ablauft das dann wieder der inhalt der meterstand.txt an domoticz ubertragen wird. Und wen zwischenzeitlich doch ein gpio event statt findet, das der counter wieder auf 300 zurückgesetzt wird.

    Dreambox 900 UHD SS
    Dreambox 8000 HD: SSSC/T, 2GB CF, DVD
    Qnap TS219 P II + 2TB + 3TB HDD


    NC+ HD
    Sky Germany HD