Forum Tiny Control Solution
Odczyt wirtualnych eventów - vouts - Wersja do druku

+- Forum Tiny Control Solution (https://forum.tinycontrol.pl)
+-- Dział: LanKontroler - sprzęt i wersje wsadów, problemy, zastosowanie (https://forum.tinycontrol.pl/forumdisplay.php?fid=3)
+--- Dział: LanKontroler V3.5 (https://forum.tinycontrol.pl/forumdisplay.php?fid=28)
+--- Wątek: Odczyt wirtualnych eventów - vouts (/showthread.php?tid=2733)



Odczyt wirtualnych eventów - vouts - stAch - 03-28-2023

jak odczytać vouts... potrzeba matka  wynalazku... /json/events_per.json -> eventVariables
Kod PHP:
<style>.c0{background-color:red;} .c1{background-color:lightgreen;}</style>
<?
php
error_reporting
(E_ALL);
parse_str($_SERVER['QUERY_STRING']);

function 
post($url$data,$post){
    $curl curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => "http://192.168.1.100/".$url,                    //<-- edit LK ip
        CURLOPT_USERPWD => "admin:admin",                                //<-- edit user:pass LK
        CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
        CURLOPT_RETURNTRANSFER => true,    
        CURLOPT_TIMEOUT => 0,    
        CURLOPT_POST => $post,    
        CURLOPT_POSTFIELDS => $data    
    
));
    $response curl_exec($curl);
    curl_close($curl);
    return $response;
}

if ( isset(
$id)  AND isset($val)) {
    if (
$val == 0){$val 1;} else {$val 0;}
    
post("outs.cgi?vout".$id."=".$val""0); //ustawiamy parametr vouts
    
sleep(1);
}
    
$name = ['Rolety','event 2','event 3','Klimatyzacja','Zmierzch','Ogrzewanie','Nawadnianie','Brama']; //nazwy guzikow
    
$json post("json/events_per.json"""0);        //odczyt tresci vouts
    
$data json_decode($json);
    
$stat str_split(strrev(decbin($data->eventVariables))."0000000");  //hex->bin->array
    
for ($i 0$i <= 7$i++) {        //bind page element
    
echo "<a href='?id=".$i."&val=".$stat[$i]."'><button class='c".$stat[$i]."'>".$name[$i]."</button></a>\n";
    }
?>
może komuś się przyda.. poprawki oraz pytania mile widziane.

nie masz serwera -> podgląd stanu w LK3 przy pomocy 4 reguł zadań w kolumnie STAN