03-31-2023, 05:54 PM
(Ten post był ostatnio modyfikowany: 03-31-2023, 06:43 PM przez stAch.
Powód edycji: opisy kodu
)
opis 3
Załóżmy ze monitorujemy jakiś czujnik DS czy POWER cyklicznie zapisujemy jego wartość wraz z każdym jego wzrostem do value(MIN-MAX) w dowolnym momencie cron zeruje nam ww wartość która może przybierać zarówno wartości dodatnie jak i ujemne. np dla spadku temperatury.
O ile będzie możliwe podanie własnego skryptu w LK3UI to posiadam gotowe rozwiązanie dla tych co są niecierpliwi min-max na własnym serwerze przy pomocy cyklicznego HTTP.
Cytat:Krzychorto tylko minimalna możliwość opcji value MIN-MAX
--------------------------------------------
2) LICZNIK - twór, którego wartość = Energia 1do6 , z możliwością zerowania w schedulerze, aby dało się uzyskać np dzienne / miesięczne wskazania energii bez angażowania pola Moc i Energia
Załóżmy ze monitorujemy jakiś czujnik DS czy POWER cyklicznie zapisujemy jego wartość wraz z każdym jego wzrostem do value(MIN-MAX) w dowolnym momencie cron zeruje nam ww wartość która może przybierać zarówno wartości dodatnie jak i ujemne. np dla spadku temperatury.
O ile będzie możliwe podanie własnego skryptu w LK3UI to posiadam gotowe rozwiązanie dla tych co są niecierpliwi min-max na własnym serwerze przy pomocy cyklicznego HTTP.
Kod PHP:
<?php //usage ?mm=%XXXAB zapis wartości, ?mm=ZERO kasowanie wartości, odczyt zwracany w formie current - min - max w każdym kolejnym zapytaniu
function set_val($param, $value){ //zapis do pseudo bazy danych
$fileData = file(basename('db.php'));
$newArray = array(); $jest = 0;
foreach($fileData as $line) {
if (strpos($line, $param.' = ')) {
if (strpos($line, '/')){$opis = substr($line, strpos($line, '/'), strlen($line));} else {$opis = "\n";}
$line = '$'.$param.' = \''.$value.'\'; '.$opis; $jest = 1;
}
if (strpos($line, '*end*') && $jest == 0){$line = '$'.$param.' = \''.$value.'\';'."\n".'/*end*/'."\n";}
$newArray[] = $line;
}
$fp = fopen(basename('db.php'), 'w');
fwrite($fp, implode("",$newArray));
fclose($fp);
}
parse_str($_SERVER['QUERY_STRING']);
include_once('db.php'); //baza danych bez angazowania SQL
/* -----------------min-max-functions---------------------*/
if($mm != "") {
if($mm == 'ZERO'){ set_val('minval',0); set_val('maxval',0); die();}
if(intval($minval) > $mm ){ set_val('minval',$mm);}
if(intval($maxval) < $mm ){ set_val('maxval',$mm);}
die( $mm." - ".$minval . " - " . $maxval);
}
/*-------------------------------------------------------*/
?>
Kod PHP:
<?php //db.php peseudo baza danych
$minval = '-9'; //wartość min
$maxval = '33'; //wartość max
/*end*/
?>
e-chata.hyzne.com | LK1 - sterowniki akwarystyki | LK2 - sterowniki ihome | LK3 - niezliczone ilości wersji/nakładek na farmach PV i nie tylko | LK4 - testy bezprzewodowe