vzlogger.conf und Mini-Web

Seit ich den Volkszaehler.org auf einem Raspberry Pi im Airbnb am Laufen habe, kann ich auf einem Chart den Stromverbrauch sehen. Schön mit Verlauf und als Auswertung aus einer MariaDB SQL Datenbank.

Der aktuelle Zählerstand und der aktuelle Verbrauch interessierte ich auch. Das wollte ich aber nur ganz rudimentär als aktuellen Stand sehen. Ohne weitere Verwaltung.

Am Einfachsten geht das, indem am Volkszähler das Mini-Web aktiviert wird. Am angegebenen Port liegen dann JSON-Daten die mit PHP abgeholt werden können.

Anschliessend der HTML-Code mit dem die Daten abgeholt und aufbereitet werden:

<!-- kleine Seite aktualisiert selbst -->
<!-- zeigt aktuellen Leistungsbezug Airbnb -->
<!-- und den Zählerstand an -->
<!-- http://www.silva-nigra-chalet.com -->
<!-- in vzlogger.conf unter local enabled -->
<!-- "local": { -->
<!-- "enabled": true, -->
<!-- "port": 8080, -->
<!-- } -->
<!-- erspart das selberparsen -->

<?php
// Kommuniziert mit dem Volkszaehler Mini-Web
$apiURL = "http://192.168.200.207:8080";
// Get the raw JSON
$jsonData = file_get_contents($apiURL);
// Decode into an object
$meter = json_decode($jsonData, true);
// Get the variables in which we're interested
$zaehler = $meter["data"]["0"]["tuples"]["0"]["1"]; // akt. Zaehlerstand
$grid = $meter["data"]["1"]["tuples"]["0"]["1"]; // Verbrauch in kWh
?>


<!DOCTYPE html>
<html>
<head>
<title>Airbnb Verbrauch</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="expires" content="2">
<meta http-equiv="pragma" content="no-cache">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<meta http-equiv="refresh" content="5; URL=http://192.168.22.200/km6-kwh.php">
<style>
.meinfont {
text-align: center;
font-family: Verdana;
font-size: 64px;
font-style: normal;
font-weight: bold;
text-decoration: none;
text-transform: none;
color: #0d0bac;
background-color: #ffffff;
}
.airbnb {
text-align: center;
font-family: Verdana;
font-size: 64px;
font-style: normal;
font-weight: bold;
text-decoration: none;
text-transform: none;
color: #FF3358;
background-color: #ffffff;
}
</style>

</head>
<body>
<script type="text/javascript">
var zaehler = <?php echo $zaehler/1000 ?>;
var grid = <?php echo $grid ?>;
document.write("<span class='airbnb'><p>Airbnb</p></span>");
document.write("<span class='meinfont'><p> " + Math.round(grid) + " W</p></span>");
document.write("<span class='meinfont'><p>Stand: "+ Math.round(zaehler)+" kWh</p></span>");
</script>
</body>
</html>
Getagged mit: , , ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.