Beispiel #1
0
function setGpio($gpio, $value)
{
    //logToFile("GPIO: setze gpio: $gpio value: $value");
    //$value = intval($value);
    //Schalten GPIO
    $sql = query("select toggle_gpio from aktor WHERE gpio = '" . $gpio . "'");
    $row = fetch($sql);
    //var_dump($row);
    if ($row[toggle_gpio] > 0) {
        //echo "toggle!";
        if ($value == 0) {
            $out = file_put_contents('/sys/class/gpio/gpio' . $gpio . '/value', "0");
            logToFile("GPIO Manuell(Toogle): setze gpio: {$gpio} value: 0");
            sleep(1);
            if (!getGpio($gpio)) {
                $out = file_put_contents('/sys/class/gpio/gpio' . $row[toggle_gpio] . '/value', "1");
                logToFile("GPIO Manuell(Toogle): setze gpio: {$row['toggle_gpio']} value: 1");
                //shell_exec("./setGpio_intervall.sh " . $row[toggle_gpio] . " 0 60 > /dev/null 2>/dev/null &" );
                //logToFile("GPIO Manuell(Toogle): setze gpio nach 60s: $row[toggle_gpio] value: 0 ");
            }
        } elseif ($value == "1") {
            $out = file_put_contents('/sys/class/gpio/gpio' . $row[toggle_gpio] . '/value', 0);
            logToFile("GPIO Manuell(Toogle): setze gpio: {$row['toggle_gpio']} value: 0");
            sleep(1);
            if (!getGpio($row[toggle_gpio])) {
                $out = file_put_contents('/sys/class/gpio/gpio' . $gpio . '/value', "1");
                logToFile("GPIO Manuell(Toogle): setze gpio: {$gpio} value: 1");
            }
        }
    } elseif ($row[toggle_gpio] == 0) {
        $out = file_put_contents('/sys/class/gpio/gpio' . $gpio . '/value', $value);
        logToFile("GPIO Manuell: setze gpio: {$gpio} value: {$value}");
    }
    //Datenbank Aktuallisieren
    $sql = query("SELECT * FROM aktor WHERE gpio = '" . $gpio . "'");
    $row = fetch($sql);
    $zeitEin = $row['zeitEin'];
    //echo $value;
    if ($value == 'on' || $value > 0) {
        // Doppeltes Einschalten verhindern
        if ($zeitEin == 0) {
            $sql = query("UPDATE aktor SET zeitEin = '" . time() . "' WHERE gpio = '" . $gpio . "'");
        }
    } elseif ($value == 'off' || $value == 0) {
        //var_dump($row['zeitEin']);
        // Doppeltes ausschalten verhindern
        if ($zeitEin > 0) {
            $zeitAus = time();
            $zeitDelta = $zeitAus - $zeitEin;
            $zeitDelta = intval($zeitDelta);
            //rechneVerbrauch($pin,$zeitDelta);
            $zeitHeute = $row['zeitHeute'] + $zeitDelta;
            $sql = query("UPDATE aktor SET zeitEin = '0', zeitHeute = '" . $zeitHeute . "' WHERE gpio = '" . $gpio . "'");
        }
    }
}
Beispiel #2
0
        ?>
" id="gpio-<?php 
        echo $gpio[gpio];
        ?>
" data-role="slider" data-mini="true">
				<option value="0">Aus</option>
				<option value="1">An</option>
			</select>
			</div>
    	</li>
	</ul>
<?php 
        if ($iphone == "false") {
            echo "</div>";
        }
    } else {
        $gpios = $gpios . $gpio[gpio] . "," . getGpio($gpio[gpio]) . ";";
        /*for($z=0; $z < count($gpios); $z++){
        		list($name, $pin) = explode(",", $gpios[$z]);
           		echo $pin . "," getGpio($pin);
        	}
        */
    }
}
if (isset($update)) {
    $gpios = substr($gpios, 0, -1);
    echo $gpios;
}
?>