Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Es gibt bekanntlich mehrere Möglichkeiten die Helligkeit (Außen) zu bestimmen.

Ein Weg - über die Auswertung der Bilder der Überwachungskameras- möchte ich hier aufzeigen.
Für diese Varainte wird ein Webserver bzw. der Loxberry benötigt.

...

Codeblock
languagephp
<?php
// #!/usr/bin/env php
require_once "loxberry_XL.php";

$url = "http://192.168.178.xxx:PORT/cgi-bin/CGIProxy.fcgi";
// Get new sizes
  list($width, $height) = getimagesize($url);
  $newwidth = 1;
  $newheight = 1;
  
  // Load
  $thumb = imagecreatetruecolor($newwidth, $newheight);
  $source = imagecreatefromjpeg($url);
  
  // Resize
  imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  
  // Output
  //imagejpeg($thumb);
  
  
  $rgb = imagecolorat($thumb,0,0);
  	
  	$r = ($rgb >> 16) & 0xFF;
  	$g = ($rgb >> 8) & 0xFF;
  	$b = $rgb & 0xFF;
  	
  	echo '<br><br>RGB (dec): ';
  	echo 'R: '.$r.' '; 
  	echo 'G: '.$g.' ';
  	echo 'B: '.$b.' ';
      

  	$helligkeit = round(sqrt((0.299 * pow($r,2)) + (0.587 * pow($g,2)) + (0.114 * pow($b,2))));
  	$helligkeitprozent = round(($helligkeit / 255) * 100);
  		
  	echo "\n<br>";
  	echo 'Helligkeit: '.$helligkeit.' von 255 ('.$helligkeitprozent.'%)'."\n<br>";		
  
Panel
bgColor#DEEBFF

Kurze Erklärung zum Script.
Das Script ruft vereinfacht gesagt das Kamerabidl ab und komprimiert das Bild auf eine Bildgröße von 1x1 Pixel. Dabei wird automatisch die Helligkeit neuberechnet. Dieser MicroPixel wird nachfolgend ausgewertet und in entsprechende Ausgaben aufgearbeitet.

Mit einer kleinen Erweiterung durch die imagecopyresized Funktion könnten auch nur Teilbereiche geprüft und ausgewertet werden.

Die Auswertung der Daten kann über den Miniserver erfolgen oder bei Bedarf über eine Erweiterung des Scriptes.

Per Virtueller HTTP-Eingang kann in der Loxone Config nun die Ausgabe des Scripts ausgelesen werden:

...