<meta http-equiv="refresh" content="188">
<html>
 <head>
  <title>035 olej</title>
 </head>
<body style='background-color:black; color:gray'>

 <?php 
  //$output = exec('python /var/www/html/pobieranieDanych/serialRead.py');
 // echo  $output.'<br>';
  //$zmienne = explode(':', $output);
 print '<span style="color:deepskyblue"> System zasilany z solarów/agregatu benzynowego<br></span>';
  $servername = "localhost";
  $username = "jacek";
  $password = "VolvoS80";
  $dbname = "daneArduino";
  
  $conn = new mysqli($servername, $username, $password, $dbname);
		// Check connection
		if ($conn->connect_error) {
			die("Connection failed: " . $conn->connect_error);
		}
		
 $sql = "SELECT * FROM `data` ORDER BY `time` DESC LIMIT 1";
		
  $result = $conn->query($sql);

  /* Create your dataset object */ 
		$numer=0;
		$rows = array(array());
		if ($result->num_rows > 0) {
			// output data of each row
			while($row = mysqli_fetch_array($result)){
				$rows[$numer++] = $row;
			}
		} else {
			echo "Brak danych z bazy";
		}
		$conn->close();
  //print_r(array_column($rows,"v1"));
  //$testVar = floatval($zmienne[0]);
  $time = date(array_column($rows,"time")[0]);
  $V1 = floatval(array_column($rows,"v1")[0]);
  $V2 = floatval(array_column($rows,"v2")[0]);
  $V3 = floatval(array_column($rows,"v3")[0]);
  $rezerwa = floatval(array_column($rows,"rezerwa")[0]);
  $niskieNapiecie = floatval(array_column($rows,"niskieNapiecie")[0]);
  $blokada = floatval(array_column($rows,"blokada")[0]);
  $ladowanie = floatval(array_column($rows,"ladowanie")[0]);
  $pracaAgregatu = floatval(array_column($rows,"pracaAgregatu")[0]);
  $nieudaneStarty = floatval(array_column($rows,"nieudaneStarty")[0]);
  $temperaturaProcesora = floatval(array_column($rows,"temperaturaProcesora")[0]);
  $olej = floatval(array_column($rows,"olej")[0]);
  
  //if ($testVar == 2021):
  if (true):
  //echo 'Dane z : '.$time.'<br>';
$timenow=date("Y-m-d H:i:s");
$diff = abs(strtotime($timenow) - strtotime($time));
if ($diff<=3600)
		//echo "Stronę wyświetlono dnia $timenow <br>";
  echo 'Aktualizacja: <span style="color:lightgreen"> '.$time.'<br></span>';
    elseif ($diff>3600)
  echo 'Brak odczytu danych od: <span style="color:yellow"> '.$time.'<br>Ostatnie dane przed usterką:<br></span>';
  //echo '<span style="color:yellow">Ostatnie dane przed usterką:<br></span>';
  
 // echo 'roznica czasu: <span style="color:lightgreen"> '.$diff.'<br><br></span>';
  
  
  if ($temperaturaProcesora<65)
  echo 'Temperatura systemu: <span style="color:lightgreen"> '.$temperaturaProcesora.' °C<br><br></span>';
  elseif ($temperaturaProcesora>65 && $temperaturaProcesora<78)
  echo 'Temperatura systemu: <span style="color:yellow"> '.$temperaturaProcesora.' °C<br><br></span>';
  elseif ($temperaturaProcesora>78)
  echo 'Temperatura systemu: <span style="color:orangered"> '.$temperaturaProcesora.' °C<br><br></span>';

if ($V1<11.50)
echo 'Napiecie na akumulatorze  =  <span style="color:orangered"> '.$V1.'V<br></span>';
elseif($V1>=11.50)
echo 'Napiecie na akumulatorze  =  <span style="color:lightgreen"> '.$V1.'V<br></span>';

if ($V2<11.50)
echo 'Napiecie na akumulatorze rozruchowym  =  <span style="color:orangered"> '.$V2.'V<br></span>';
elseif($V2>=11.50)
echo 'Napiecie na akumulatorze rozruchowym  =  <span style="color:lightgreen"> '.$V2.'V<br></span>';

if ($V3<-3.00)
echo 'Bilans prądowy  =  <span style="color:orangered"> '.$V3.'A<br></span>';
elseif($V3>=-3.00&&$V3<0.00)
echo 'Bilans prądowy  =  <span style="color:yellow"> '.$V3.'A<br></span>';
elseif($V3>=0.00)
echo 'Bilans prądowy  =  <span style="color:lightgreen"> '.$V3.'A<br></span>';


if ($ladowanie==0 && $pracaAgregatu==0)
echo 'Ładowanie akumulatorów:  <span style="color:lightgreen"> system pracuje na akumulatorach<br></span>';
elseif($ladowanie==1 && $pracaAgregatu==0)
echo 'Ładowanie akumulatorów:  <span style="color:lightgreen"> ładowanie z obcego agregatu<br></span>';
elseif($ladowanie==1 && $pracaAgregatu==1)
echo 'Ładowanie akumulatorów:  <span style="color:lightgreen"> ładowanie z agregatu CMW<br></span>';

if ($rezerwa>=2)
echo 'Ilość paliwa w zbiorniku : <span style="color:lightgreen"> '.$rezerwa.'l<br></span>';
elseif($rezerwa<2)
echo 'Ilość paliwa w zbiorniku : <span style="color:orangered"> '.$rezerwa.' l<br></span>';

if ($pracaAgregatu==0 && $nieudaneStarty<5)
echo 'Praca agregatu : <span style="color:lightgreen"> agregat obecnie nie pracuje<br></span>';
elseif($pracaAgregatu==1)
echo 'Praca agregatu : <span style="color:deepskyblue"> agregat obecnie pracuje<br></span>';
if($blokada==1)
echo 'Praca agregatu : <span style="color:orangered"> agregat obecnie nie pracuje z powodu blokady<br></span>';

if ($nieudaneStarty==0)
echo 'Stan agregatu : <span style="color:lightgreen"> normalna praca<br></span>';
elseif($nieudaneStarty>0 && $nieudaneStarty<5 )
echo 'Stan agregatu : <span style="color:yellow"> Ostatnio wystąpiły problemy z rozruchem ' .$nieudaneStarty. ' razy <br></span>';
elseif($nieudaneStarty==5 )
echo 'Stan agregatu : <span style="color:orangered"> blokada agregatu po ' .$nieudaneStarty. ' nieudanych rozruchach <br></span>';


    echo '<span style="display:none">Ladowanie akumulatorow: '.$ladowanie.'<br></span>';

  elseif ($testVar == 2022):
    echo 'ERROR: '.$zmienne[1];
  else:
    echo 'Niepelne dane<br>';
    header("Refresh:0");
  endif;

print '<br><span style="color:white">Opis znaczenia kolorów:</span>';
print '</br><span style="color:lightgreen"> System działa poprawnie<br></span>';
print '<span style="color:deepskyblue"> Informacja<br></span>';
print '<span style="color:yellow"> Ostrzeżenie<br></span>';
print '<span style="color:#bb2300"> Awaria systemu - wymaga natychmiastowego działania<br></span>';

 ?> 

 
 <?php
// sprawdzanie czasu pracy agregatu od ostaniej wymiany oleju
// Połączenie z bazą danych
  $servername = "localhost";
  $username = "jacek";
  $password = "VolvoS80";
  $dbname = "daneArduino";

$conn = new mysqli($servername, $username, $password, $dbname);

// Sprawdzenie połączenia
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Zapytanie SQL
$sql = "SELECT (COUNT(*) * 3) AS przemnozone_wiersze,
CONCAT(FLOOR((COUNT(*) * 3) / 60), ' godz. ', (COUNT(*) * 3) % 60, ' min.') AS wynik_przeliczony
FROM data
JOIN (SELECT MAX(time) AS max_time FROM data WHERE olej = 1) AS max_time_table
WHERE pracaAgregatu = 1 AND olej = 0 AND time >= max_time_table.max_time;
";

$result = $conn->query($sql);



if (!$result) {
    die("Query failed: " . $conn->error);
}

//Data wymiany oleju
$sql1 = "
SELECT `time` AS data_wymiany_oleju 
FROM `data` 
WHERE `olej`=1 
ORDER BY `data`.`time` DESC 
LIMIT 1;
";

// Wykonanie zapytania
$result1 = $conn->query($sql1);

// Sprawdzenie, czy są wyniki
if ($result1 && $result1->num_rows > 0) {
    // Pobranie pierwszego wiersza wyników
    $row = $result1->fetch_assoc();
    $czas_wymiany = $row['data_wymiany_oleju']; // Wartość kolumny "data_wymiany_oleju"
} else {
    $czas_wymiany = "Brak danych"; // Domyślna wartość, gdy brak wyników
}

// Wyświetlanie wyniku w HTML
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
//        echo "<p>Przemnożone wiersze: " . $row["przemnozone_wiersze"] . "</p>";
        echo '<span style="color:deepskyblue"><p>Od ostatniej wymiany oleju ( </span>' . $czas_wymiany . '<span style="color:deepskyblue"> ) agregat  przepracował </span>'  . $row["wynik_przeliczony"] . "</p>";
    }
} else {
    echo "Brak wyników";
}


// Zamknięcie połączenia
$conn->close();
?>

 <?php

if (isset($_POST['updateButton'])) {

    // Połączenie z bazą danych
    $servername = "localhost";
    $username = "jacek";
    $password = "VolvoS80";
    $dbname = "daneArduino";

    $conn = new mysqli($servername, $username, $password, $dbname);

    // Sprawdzenie połączenia
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    // Aktualizacja danych w tabeli
    $sql = "UPDATE `data` SET olej = 1 WHERE `time` < NOW()";

    if ($conn->query($sql) === TRUE) {
        echo '<span style="color:lightgreen">Zapisano datę ostatniej wymiany oleju<br><br</span>';
    } else {
        echo "Błąd aktualizacji: " . $conn->error;
    }

    // Zamknięcie połączenia
    $conn->close();
}

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body style='background-color:black; color:gray'>
 <span style="color:red"> Nacisnąć przycisk w momencie kiedy olej w agregacie został wymieniony<br></span>
    <form action="b.php" method="post">
        <input type="submit" name="updateButton" value="Zapisz datę wymiany oleju">
    </form>
</body>
</html>
 </body>
</html>
 </body>
</html>