Neerslag monitor script

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: Neerslag monitor script

Post by AshaiRey »

Als het resultaat een plaatjes is kan dat gewoon
Bram
DJF3
Advanced Member
Advanced Member
Posts: 895
Joined: Thu Jul 12, 2007 9:28 am
Contact:

Re: Neerslag monitor script

Post by DJF3 »

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
AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: Neerslag monitor script

Post by AshaiRey »

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.
Leuk idee alleen hoe ga je dan een event triggeren op bijvoorbeeld 15 of 45 minuten ?
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
DJF3
Advanced Member
Advanced Member
Posts: 895
Joined: Thu Jul 12, 2007 9:28 am
Contact:

Re: Neerslag monitor script

Post by DJF3 »

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 ;-)
User avatar
Irritanterik
Member
Member
Posts: 82
Joined: Tue Apr 19, 2011 1:00 pm
Location: Amersfoort
Contact:

Re: Neerslag monitor script

Post by Irritanterik »

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:

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]
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.
Attachments
Buienalarm.png
Buienalarm.png (11.3 KiB) Viewed 17191 times
HP t5630w with Homeseer 2 > Will migrate to Homey | RFXLAN | IRTrans | Opentherm Gateway | ITHO ECO-FAN integration | Harrison Curtain | Z-wave
DJF3
Advanced Member
Advanced Member
Posts: 895
Joined: Thu Jul 12, 2007 9:28 am
Contact:

Re: Neerslag monitor script

Post by DJF3 »

Ben wel nieuwschierig!
Digit
Global Moderator
Global Moderator
Posts: 3388
Joined: Sat Mar 25, 2006 10:23 am
Location: Netherlands
Contact:

Re: Neerslag monitor script

Post by Digit »

Ziet er mooi uit. Zal ik (proberen te) onthouden die HighCharts, ik ben nl. van plan volledig te switchen naar browser UI..
User avatar
Irritanterik
Member
Member
Posts: 82
Joined: Tue Apr 19, 2011 1:00 pm
Location: Amersfoort
Contact:

Re: Neerslag monitor script

Post by Irritanterik »

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.

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);
?>
En de html-pagina:

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>
En nu hopen op regen... :D
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
Digit
Global Moderator
Global Moderator
Posts: 3388
Joined: Sat Mar 25, 2006 10:23 am
Location: Netherlands
Contact:

Re: Neerslag monitor script

Post by Digit »

LOL
Ik ben toch meer het "warm-en-droog" zomertypje... dan pas ik toch liever de lat & lon aan om mooie grafiekjes te krijgen :lol:
User avatar
Irritanterik
Member
Member
Posts: 82
Joined: Tue Apr 19, 2011 1:00 pm
Location: Amersfoort
Contact:

Re: Neerslag monitor script

Post by Irritanterik »

Leg de *lat* niet te hoog.. :wink:
HP t5630w with Homeseer 2 > Will migrate to Homey | RFXLAN | IRTrans | Opentherm Gateway | ITHO ECO-FAN integration | Harrison Curtain | Z-wave
keeslamper
Member
Member
Posts: 152
Joined: Wed Apr 11, 2012 11:21 am

Re: Neerslag monitor script

Post by keeslamper »

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
labium
Advanced Member
Advanced Member
Posts: 512
Joined: Sat Feb 06, 2010 10:56 am
Location: netherlands

Re: Neerslag monitor script

Post by labium »

het is 20.21, het regent hier al half uur
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
Knipsel.GIF
Knipsel.GIF (23.8 KiB) Viewed 17162 times
labium
Advanced Member
Advanced Member
Posts: 512
Joined: Sat Feb 06, 2010 10:56 am
Location: netherlands

Re: Neerslag monitor script

Post by labium »

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
keeslamper
Member
Member
Posts: 152
Joined: Wed Apr 11, 2012 11:21 am

Re: Neerslag monitor script

Post by keeslamper »

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
labium
Advanced Member
Advanced Member
Posts: 512
Joined: Sat Feb 06, 2010 10:56 am
Location: netherlands

Re: Neerslag monitor script

Post by labium »

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.
Post Reply

Return to “Homeseer Scripts Forum”