コード例 #1
0
ファイル: atlantis.php プロジェクト: nawrasg/Atlantis
while (!getBDD()) {
}
$push = new PushMessage();
$mode = new Mode();
$alarm = new Alarm();
$arrMvt = loadSensors();
$arrMvt2 = initTimestamp($arrMvt);
$scenarios = loadScenarios($arrMvt);
while (true) {
    $settings = new Settings();
    $zwave = new Zwave();
    foreach ($arrMvt as $i => $sensor) {
        if ($sensor['type'] == 'Door/Window') {
            switch ($sensor['protocol']) {
                case 'zwave':
                    if ($zwave->getValue($sensor['sensor']) == 'on' && $zwave->GetTimestamp($sensor['sensor']) != $arrMvt2[$i]) {
                        $arrMvt2[$i] = $zwave->GetTimestamp($sensor['sensor']);
                        execScenario($i, $scenarios);
                        if ($mode->getMode() == Mode::NIGHT || $mode->getMode() == Mode::AWAY) {
                            $alarm->execAlarm();
                        }
                    }
                    break;
            }
        } else {
            if ($sensor['type'] == 'Motion') {
                switch ($sensor['protocol']) {
                    case 'zwave':
                        if ($zwave->GetTimestamp($sensor['sensor']) != $arrMvt2[$i]) {
                            $arrMvt2[$i] = $zwave->GetTimestamp($sensor['sensor']);
                            execScenario($i, $scenarios);
コード例 #2
0
ファイル: at_sensors.php プロジェクト: nawrasg/Atlantis
function checkBattery()
{
    $zwave = new Zwave();
    $bdd = getBDD();
    $req = $bdd->query('SELECT * FROM at_sensors WHERE type = "Battery"');
    while ($data = $req->fetch()) {
        switch ($data['protocol']) {
            case 'zwave':
                $val = $zwave->getValue($data['sensor']);
                if ($val <= 15) {
                    $push = new PushMessage();
                    $push->sendMessage('Atlantis', 'Certains capteurs necessitent un changement de piles !');
                }
                break;
        }
    }
}