<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
Hallo <br><br>hab nun doch schon einiges erledigt .. aber mit dem Script komm ich nun mal gar nicht weiter <br><br>ich habe das Script ein 'bischen' verändert, hatte mal die <br> usw rausgenommen<br>und da ja in dem How To ( ja nicht Anleitung) ein anders Script steht wie in der FAQ hab ich mal geschaut wo da die Unterschiede sind <br><br><br><br>zur Info <br>'Bezug' = 1.8.1 = was vom EVU zu mir kommt (Tag), hab eigentlich Tag Nacht...<br>'Einspeisung' = 2.8.0 = was ich ins Netz einspeiße<br>'Erzeugung' = 2.8.0 = PV Anlage<br>Zähler sind 2 * ED300L von EMH Metering<br><br>ich bekomme immer das als Ausgabe in Putty<br><br>pi@raspberrypi ~ $ php /var/www/volkszaehler.org/htdocs/direktverbrauch.php<br>ddfea5f0-713c-11e2-8667-8d4b408bc4f7 / Bezug: 0<br><br>Array<br>(<br> [0] => 1360331363815<br> [1] => 5433.071<br> [2] => 1<br>)<br>f7998900-713c-11e2-ada2-795d327a9fd6 / Einspeisung: 5433.071<br><br>0e2c3850-713d-11e2-a384-4bda743e342c / Erzeugung: 0<br><br>Gesamtverbrauch = Bezug + Erzeugung - Lieferung: -5433.071<br><br>http://localhost/middleware.php/data/c28860c0-713c-11e2-b372-bb9dc25e9aa0.json?operation=add&value=-5433.071&ts=1360331363771<br><br>Direktverbrauch = Erzeugung - Lieferung : -5433.071<br><br>^C<br>pi@raspberrypi ~ $<br><br><br><br>und das ist mein 'zusammengewürfeltes' Script <br><br><?php<br> $urlBase='http://localhost/middleware.php/data/';<br> $uuIds=array( 'Bezug' => 'ddfea5f0-713c-11e2-8667-8d4b408bc4f7',<br> 'Einspeisung' => 'f7998900-713c-11e2-ada2-795d327a9fd6',<br> 'Erzeugung' => '0e2c3850-713d-11e2-a384-4bda743e342c',<br> );<br> <br> $uuIdTarget=array('Gesamtverbrauch' => 'c28860c0-713c-11e2-b372-bb9dc25e9aa0',<br> 'Direktverbrauch' => 'b9a59860-713c-11e2-81af-7fa065fe71c7',<br> );<br><br> $urlEnd='.json?from=30%20seconds%20ago';<br><br>function curl_file_get_contents($URL)<br> {<br> $c = curl_init();<br> curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);<br> curl_setopt($c, CURLOPT_URL, $URL);<br> $contents = curl_exec($c);<br> curl_close($c);<br><br> if ($contents) return $contents;<br> else return FALSE;<br> } // function curl_get_file_contents<br><br>function getTimestamp() {<br> $seconds = microtime(true); // false = int, true = float<br> return round( ($seconds * 1000) );<br> }<br><br>for ($i=1; $i<5 ; $i++) {<br> $minTimestamp = getTimestamp();<br> $maxTimestamp = $minTimestamp;<br> foreach($uuIds as $index=>$value) {<br> $url=$urlBase . $value . $urlEnd;<br> $content = curl_file_get_contents($url);<br> $content=json_decode($content);<br> if (!empty($content->data->tuples)) {<br><br> $lastTuple = end($content->data->tuples);<br> $minTimestamp = min($minTimestamp,$lastTuple[0]);<br> $maxTimestamp = max($maxTimestamp,$lastTuple[0]);<br> print_r($lastTuple);<br> $lastValue = $lastTuple[1];<br> } else {<br> $lastValue=0;<br> } // if<br> echo "$value / $index: $lastValue\n<br>";<br><br> $values[$index]=$lastValue;<br> } // foreach<br><br> $diffGV= $values['Bezug'] + $values['Erzeugung'] - $values['Einspeisung'];<br> echo "Gesamtverbrauch = Bezug + Erzeugung - Lieferung: $diffGV \n<br>";<br> $timestamp = round($minTimestamp + ( ($maxTimestamp - $minTimestamp) / 2 ));<br> $linkGV=$urlBase . $uuIdTarget['Gesamtverbrauch'] . '.json?operation=add&value=' . $diffGV . '&ts=' . $timestamp;<br> $dummy=curl_file_get_contents($linkGV);<br> echo "$linkGV \n<br>";<br> <br> $diffDV= $values['Erzeugung'] - $values['Einspeisung'];<br> echo "Direktverbrauch = Erzeugung - Lieferung : $diffDV \n<br>";<br> if ($diffDV>0) {<br> $linkDV=$urlBase . $uuIdTarget['Direktverbrauch'] . '.json?operation=add&value=' . $diffDV . '&ts=' . $timestamp;<br> $dummy=curl_file_get_contents($linkDV);<br> echo "$linkDV \n<br>";<br> }<br> sleep(15);<br>} // for<br>?><br><br><br>sind da irgendwo grobe Fehler drinnen ? <br>oder bin ich nur zu ... <br><br>würd mich freuen wenn ich das noch hinbekommen könnte :) <br>weil dann 'läuft alles' was ich will/wollte.. <br><br><br><br><br><br>Mit freundlichen Grüßen<br>Heiko W.<br> </div></body>
</html>