Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta http-equiv="refresh" content="300"> <!-- reload page every 5 minutes !-->
- <title>Energieverbruik</title>
- <script src="http://code.jquery.com/jquery.js"></script>
- <?php
- $link = mysql_connect("localhost", "p1logger", "p1logger") or die("Error verbinden met DB: " . mysql_error());
- $db = mysql_select_db("p1", $link);
- if (!$db) {
- mysql_close($link);
- die("Error selecteren DB: " . mysql_error());
- }
- // Alle waardes van VANDAAG ophalen voor huidig verbruik.
- $result = mysql_query("SELECT unix_timestamp (time) AS ts, time, huidig_verbruik AS 'vandaag' FROM readings WHERE DATE(time) = CURRENT_DATE");
- if (!$result) {
- mysql_close($link);
- die("Error met ophalen verbruik VANDAAG " . mysql_error());
- }
- while ($row = mysql_fetch_array($result)) {
- $datetime = (($row['ts']) * 1000) + 7200000; // convert from Unix timestamp to JavaScript time
- $latest_measure = $row['time'];
- $value1 = $row['vandaag'];
- if (!$meting1)
- $meting1 = $value1;
- $data1[] = "[$datetime, $value1]";
- }
- $vandaag = join($data1, ',');
- // Alle waardes van GISTEREN ophalen voor huidig verbruik.
- $result = mysql_query("SELECT unix_timestamp (time) AS ts, huidig_verbruik AS 'gisteren' FROM readings WHERE DATE(time) = CURDATE() - INTERVAL 1 DAY ");
- if (!$result) {
- mysql_close($link);
- die("Error met ophalen verbruik GISTEREN " . mysql_error());
- }
- while ($row = mysql_fetch_array($result)) {
- $datetime = (($row['ts']) * 1000) + 7200000; // convert from Unix timestamp to JavaScript time
- $value2 = $row['gisteren'];
- if (!$meting2)
- $meting2 = $value2;
- $data2[] = "[$datetime, $value2]";
- }
- $gisteren = join($data2, ',');
- ?>
- <script id="source" language="javascript" type="text/javascript">
- $(function latestFromElektra()
- {
- //-----------------------------------------------------------------------
- // 2) Send a http request with AJAX http://api.jquery.com/jQuery.ajax/
- //-----------------------------------------------------------------------
- $.ajax({
- url: 'http://192.168.4.4/www/ipaddash/api_energy.php', //the script to call to get data
- data: "utility=elektra&type=huidig", //you can insert url argumnets here to pass to api_temperature.php
- //for example "id=5&parent=6"
- dataType: 'json', //data format
- success: function(data) //on recieve of reply
- {
- var huidig_verbruik = data[0]; //get id
- //--------------------------------------------------------------------
- // 3) Update html content
- //--------------------------------------------------------------------
- $('#e_huidig_verbruik').html(""+huidig_verbruik+" Watt"); //Set output element html
- //recommend reading up on jquery selectors they are awesome
- // http://api.jquery.com/category/selectors/
- setTimeout(latestFromElektra, 10000); //Elke 5min verversen
- }
- });
- });
- </script>
- <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
- <script type="text/javascript">
- $(function () {
- $('#container').highcharts({
- chart: {
- type: 'area',
- zoomType: 'x'
- },
- title: {
- text: 'Energieverbruik via slimme meter'
- },
- subtitle: {
- text: document.ontouchstart === undefined ?
- 'Klik en sleep in de grafiek om in te zoomen' :
- 'Maak een knijpbeweging om in te zoomen' //only shown on touch (tablet) devices
- },
- xAxis: {
- type: 'datetime',
- minRange: 60 * 1000, // Smallest zoominterval (in miliseconds). 10 * 1000 = 10.000ms because smartmeter spits out data every 10sec.
- plotBands: [{
- color: '#FCFFC5',
- from: Date.UTC(2014, 8, 17,23,0,0), // Start of the plot band
- to: Date.UTC(2014, 8, 18,7,0,0) // End of the plot band
- }],
- },
- yAxis: {
- min: 0, // Schaal instellen, uncomment de min en max voor automatisch
- //max: 80,
- title: {
- text: 'Watt (W)'
- }
- },
- tooltip: {
- valueSuffix: 'W'
- },
- legend: {
- layout: 'vertical',
- align: 'right',
- verticalAlign: 'middle',
- borderWidth: 0
- },
- series: [{
- name: 'Vandaag',
- color: '#f3c629',
- marker: {
- enabled: false
- },
- data: [<?php
- echo ($vandaag);
- ?>]
- },
- {
- name: 'Gisteren',
- color: '#0066CC',
- visible: false,
- marker: {
- enabled: false
- },
- data: [<?php
- echo ($gisteren);
- ?>]
- },
- ]
- });
- });
- <?
- // Nieuwste enkele waarde voor WOONKAMER ophalen
- $result = mysql_query("SELECT id as LATEST, huidig_verbruik FROM readings ORDER BY id DESC LIMIT 1");
- if (!$result) {
- mysql_close($link);
- die("Error met query: enkele waarde huidig verbruik" . mysql_error());
- }
- while ($row = mysql_fetch_array($result)) {
- $huidig_verbruik = $row['huidig_verbruik'];
- }
- ?>
- </script>
- <style type="text/css">
- body {
- background-color: #FFFFFF;
- font-family: 'Helvetica, Arial, sans-serif';
- color: black;
- font-size: 20px;
- text-align: center;
- }
- p {
- font-family: 'helvetica, arial, sans-serif';
- }
- </style>
- </head>
- <body>
- <script src="js/highcharts.js"></script>
- <script src="js/modules/exporting.js"></script>
- <div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
- <p style="font-family:helvetica, tahoma, sans-serif;">
- <span style="color: #000000";><strong>Huidig verbruik:</strong></span>
- <span style="color: #000000";><div id="e_huidig_verbruik">Data wordt opgehaald, even geduld...</div></span></br>
- <span style="color: #000000";><font size="2">Laatste meting opgehaald om:</span> <br /> <?php echo $latest_measure; ?></font><br>
- </p>
- <?php
- mysql_close($link);
- ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement