#!/usr/bin/python

import RPi.GPIO as GPIO
import time
import requests

# set gpio port numeration to bcm style
GPIO.setmode(GPIO.BCM)

#initialise gpio on pi 24 as input with an pull_up resistor
GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_UP)

#initialise some startup values
last = time.time()
lpower = 10000

#start busy loop
while True:
	#wait for a falling edge on gpio 24
	GPIO.wait_for_edge(24, GPIO.FALLING)
	
	#get current time and calculate current power from difference
	current = time.time()
	diff = current - last
	power = 1800 / diff
	

	#write into logfile
	#if (power < lpower + 1800):
	out = str(current) + ";" + str(round(power,0))	
	#else:
	#	out = str(current) + ";" + str(round(lpower,0))
	payload = {"val": out}
	r = requests.post("https://strom.ccc-ffm.de/get.php", data=payload, verify=False)
	lpower = power
	last = current
GPIO.cleanup()