Neerslag monitor script
Re: Neerslag monitor script
Neerslagmonitor script: Like
Weet nog niet precies hoe ik het ga gebruiken maar het is leuk.
Suggestie: Met nieuwe versies van je script: update de eerste post in deze thread.. Was zonder verder te lezen aan de slag gegaan met versie 1.0
Suggestie: Misschien 1 device met daarin 24 kleine 'bars' die aangeven of en hoeveel het gaat regenen?
Bijv: 24 html images naast elkaar, blauw-droog, rood=regen
Misschien gebruik makend van 10 differently sized rode bars, afhankelijk van de hoeveelheid neerslag
Dit geeft je een 'grafiekje' zonder system impact, installaties, programming, etc.
CHeers!
DJ
Weet nog niet precies hoe ik het ga gebruiken maar het is leuk.
Suggestie: Met nieuwe versies van je script: update de eerste post in deze thread.. Was zonder verder te lezen aan de slag gegaan met versie 1.0
Suggestie: Misschien 1 device met daarin 24 kleine 'bars' die aangeven of en hoeveel het gaat regenen?
Bijv: 24 html images naast elkaar, blauw-droog, rood=regen
Misschien gebruik makend van 10 differently sized rode bars, afhankelijk van de hoeveelheid neerslag
Dit geeft je een 'grafiekje' zonder system impact, installaties, programming, etc.
CHeers!
DJ
Re: Neerslag monitor script
Leuk idee alleen hoe ga je dan een event triggeren op bijvoorbeeld 15 of 45 minuten ?DJF3 wrote:Neerslagmonitor script: Like
Suggestie: Misschien 1 device met daarin 24 kleine 'bars' die aangeven of en hoeveel het gaat regenen?
Bijv: 24 html images naast elkaar, blauw-droog, rood=regen
Misschien gebruik makend van 10 differently sized rode bars, afhankelijk van de hoeveelheid neerslag
Dit geeft je een 'grafiekje' zonder system impact, installaties, programming, etc.
Als het aantal virtual devices een probleem is (vind ik ook trouwens) dan kan je misschien beter dit bepreken door het aantal te verkleinen of door de interval te veranderen.
Bram
Re: Neerslag monitor script
Daar zit wat in Je wil op basis van bepaalde criteria events triggeren..
Misschien een extra device voor een eenvoudige visuele weergave en de grote hoeveelheid events voor de triggering
Zit nu al 2 jaar op een vrij stabiele 340 devices
Misschien een extra device voor een eenvoudige visuele weergave en de grote hoeveelheid events voor de triggering
Zit nu al 2 jaar op een vrij stabiele 340 devices
- Irritanterik
- Member
- Posts: 82
- Joined: Tue Apr 19, 2011 1:00 pm
- Location: Amersfoort
- Contact:
Re: Neerslag monitor script
Voor de visuele weergave gebruik ik de gegevens uit HomeSeer niet, maar heb zelf een scriptje gemaakt op basis van HighCharts en php.
Een php-script doet op basis van locatie de aanroep naar gps.buienradar.nl, verwerkt het resultaat en levert een reeks (JSON) met verwachte regenintentsiteit terug:
Het php-script wordt aangeroepen vanuit een webpagina. De webpagina verwerkt de reeks in een interactieve highcharts grafiek. Het grafiekje wordt elke 60 seconden automatisch ververst.
Als er interesse is zal ik de source hier posten.
Een php-script doet op basis van locatie de aanroep naar gps.buienradar.nl, verwerkt het resultaat en levert een reeks (JSON) met verwachte regenintentsiteit terug:
Code: Select all
[0,0.09,0.07,0.12,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03]
Als er interesse is zal ik de source hier posten.
- Attachments
-
- Buienalarm.png (11.3 KiB) Viewed 18231 times
HP t5630w with Homeseer 2 > Will migrate to Homey | RFXLAN | IRTrans | Opentherm Gateway | ITHO ECO-FAN integration | Harrison Curtain | Z-wave
Re: Neerslag monitor script
Ziet er mooi uit. Zal ik (proberen te) onthouden die HighCharts, ik ben nl. van plan volledig te switchen naar browser UI..
- Irritanterik
- Member
- Posts: 82
- Joined: Tue Apr 19, 2011 1:00 pm
- Location: Amersfoort
- Contact:
Re: Neerslag monitor script
Ik ben dolenthousiast over HighCharts. Alles wat je kan bedenken is te configureren.
GetRainPrediction.php: gps.buienradar.nl direct aanroepen via AJAX calls wordt niet toegestaan door Javascript, vandaar de route via de php service.
En de html-pagina:
En nu hopen op regen...
GetRainPrediction.php: gps.buienradar.nl direct aanroepen via AJAX calls wordt niet toegestaan door Javascript, vandaar de route via de php service.
Code: Select all
<?php
/*
lat: latitude
lon: longitue
*/
$lat = htmlspecialchars($_GET["lat"]);
$lon = htmlspecialchars($_GET["lon"]);
if (($lat == "") || ($lon == "")) {
exit;
}
$sub_req_rul = "http://gps.buienradar.nl/getrr.php?lat=" . $lat. "&lon=" . $lon;
$ch = curl_init();
curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, $sub_req_rul);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$result = array();
$rain = float;
$outputLines = explode("\r\n", $output, -1);
foreach($outputLines as $outputLine) {
$record = explode("|", $outputLine);
$rain = round(pow(10,((intval($record[0]) - 109)/32)),2);
array_push($result, $rain);
}
/* output in required format */
header('Content-type: application/json');
echo json_encode($result, JSON_NUMERIC_CHECK);
?>
Code: Select all
<html>
<head>
<title>Voorbeeld buienalarm grafiek</title>
<meta name='viewport' content='initial-scale=1, user-scalable=no, maximum-scale=1'>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
</head>
<body>
<div id="regenverwachting" style="width: 800px; height: 300px; margin: 0 auto"></div>
<script type="text/javascript">
$(function () {
var chart;
Highcharts.setOptions({
global : {
useUTC: false
}
});
$(document).ready(function() {
var options = {
chart: {
renderTo: 'regenverwachting',
zoomType: null,
alignTicks: false,
events: {
load: function() {
setInterval(function() {
reload();
}, 60 * 1000);
}
}
},
credits:{enabled:false},
exporting:{enabled:false},
title:{text:null},
tooltip: {
formatter: function() {
return Highcharts.dateFormat('%H:%M', this.x) +'<br/>' +
'<b>'+ this.y + '</b> mm/h<br/>';
}
},
legend:{enabled:false},
plotOptions:{
series:{
shadow:false,
marker:{
enabled:false
},
},
},
xAxis: {
type: 'datetime',
title:null,
lineWidth:0,
tickWidth:1,
},
yAxis:{
title:{text:'intensiteit (mm)'},
lineWidth:0,
tickWidth:0,
gridLineWidth:1,
min: 0,
showFirstLabel: false
},
series: [{
type: 'areaspline',
name: 'Intensiteit',
pointInterval: 300 * 1000,
pointStart: (new Date()).getTime(),
data: []
}
]
}
chart = new Highcharts.Chart(options);
reload(true);
});
function reload(isFirstLoad) {
$.getJSON('GetRainPrediction.php?lat=52.0000&lon=5.0000', function(resultJSON) {
chart.series[0].setData(resultJSON, true);
chart.redraw();
});
}
});
</script>
</body>
</html>
Last edited by Irritanterik on Tue Jul 16, 2013 4:50 pm, edited 1 time in total.
HP t5630w with Homeseer 2 > Will migrate to Homey | RFXLAN | IRTrans | Opentherm Gateway | ITHO ECO-FAN integration | Harrison Curtain | Z-wave
Re: Neerslag monitor script
LOL
Ik ben toch meer het "warm-en-droog" zomertypje... dan pas ik toch liever de lat & lon aan om mooie grafiekjes te krijgen
Ik ben toch meer het "warm-en-droog" zomertypje... dan pas ik toch liever de lat & lon aan om mooie grafiekjes te krijgen
- Irritanterik
- Member
- Posts: 82
- Joined: Tue Apr 19, 2011 1:00 pm
- Location: Amersfoort
- Contact:
Re: Neerslag monitor script
Leg de *lat* niet te hoog..
HP t5630w with Homeseer 2 > Will migrate to Homey | RFXLAN | IRTrans | Opentherm Gateway | ITHO ECO-FAN integration | Harrison Curtain | Z-wave
-
- Member
- Posts: 152
- Joined: Wed Apr 11, 2012 11:21 am
Re: Neerslag monitor script
Irritanterik,
Zou je iets meer uit kunnen leggen over je script/pagina? Ik vind het supermooi, wil het ook graag gebruiken!
Alleen heb ik nu het script gekopieerd en opgeslagen en de html pagina, maar er wordt niets weergegeven.
Moet er nog iets aangepast/ingevuld worden? Of denk ik te simpel?
Groet,
Kees
Zou je iets meer uit kunnen leggen over je script/pagina? Ik vind het supermooi, wil het ook graag gebruiken!
Alleen heb ik nu het script gekopieerd en opgeslagen en de html pagina, maar er wordt niets weergegeven.
Moet er nog iets aangepast/ingevuld worden? Of denk ik te simpel?
Groet,
Kees
Re: Neerslag monitor script
het is 20.21, het regent hier al half uur
is het engelse tijd of zomertijd die gegeven wordt of zit buienradar er naast ?
is het engelse tijd of zomertijd die gegeven wordt of zit buienradar er naast ?
Code: Select all
Public Sub getrain(ByVal parms As Object)
Dim a As String = hs.GetURL("gps.buienradar.nl", "/getrr.php?lat=52.190062&lon=5.431838", False, 80, True)
Dim b As Integer = 5
Dim arg() As String = {vbCrLf, vbLf}
Dim raintimepairs As String() = a.Split(arg, StringSplitOptions.None)
Dim datum As Date = Now.ToShortTimeString
End Sub
Re: Neerslag monitor script
nee waren verkeerde coordinaten, gmail geeft in te beantwooorden email die is geedit de oude waarden bij copieren en plakken.
http://gps.buienradar.nl/getrr.php?lat= ... n=4.315127 is correct
http://gps.buienradar.nl/getrr.php?lat= ... n=4.315127 is correct
-
- Member
- Posts: 152
- Joined: Wed Apr 11, 2012 11:21 am
Re: Neerslag monitor script
Labium gebruik jij het script in combinatie met de Charts? Of kun je mij dat ook niet uitleggen? Het lijkt erop dat jij er meer van begrijpt als mij in ieder geval:P
Re: Neerslag monitor script
nee , dit is een eerste uitprobeersel om te kijken of ik er wat aan heb, ik zag in een van de laatste posts die gps site , ik had er nooit van gehoord. als de gegevens adequaat zouden zijn zou ik het kunnen gebruiken om me te waarschuwen voor regen, niet om charts te maken.
om te beginnen moet je voor scripts tenscripting downloaden en installeren, gratis plugin voor homeseer waar je makkelijk in kan kijken of een methode wat doet of niet, is via google zo te vinden.
om te beginnen moet je voor scripts tenscripting downloaden en installeren, gratis plugin voor homeseer waar je makkelijk in kan kijken of een methode wat doet of niet, is via google zo te vinden.