function wireRelay_plugin_setting_page() { global $_, $myUser, $conf; if (isset($_['section']) && $_['section'] == 'wireRelay') { if (!$myUser) { throw new Exception('Vous devez être connecté pour effectuer cette action'); } $wireRelayManager = new WireRelay(); $wireRelays = $wireRelayManager->populate(); $roomManager = new Room(); $rooms = $roomManager->populate(); $selected = new WireRelay(); $selected->pulse = 0; $selected->icon = 'fa fa-flash'; //Si on est en mode modification if (isset($_['id'])) { $selected = $wireRelayManager->getById($_['id']); } $icons = array('fa fa-lightbulb-o', 'fa fa-power-off', 'fa fa-flash', 'fa fa-gears', 'fa fa-align-justify', 'fa fa-adjust', 'fa fa-arrow-circle-o-right', 'fa fa-desktop', 'fa fa-music', 'fa fa-bell-o', 'fa fa-beer', 'fa fa-bullseye', 'fa fa-automobile', 'fa fa-book', 'fa fa-bomb', 'fa fa-clock-o', 'fa fa-cutlery', 'fa fa-microphone', 'fa fa-tint'); ?> <div class="span9 userBloc"> <h1>Relais</h1> <p>Gestion des relais filaires</p> <fieldset> <legend>Ajouter/Modifier un relais filaire</legend> <div class="left"> <label for="nameWireRelay">Nom</label> <input type="hidden" id="id" value="<?php echo $selected->id; ?> "> <input type="text" id="nameWireRelay" value="<?php echo $selected->name; ?> " placeholder="Lumiere Canapé…"/> <label for="descriptionWireRelay">Description</label> <input type="text" value="<?php echo $selected->description; ?> " id="descriptionWireRelay" placeholder="Relais sous le canapé…" /> <label for="iconWireRelay">Icone</label> <input type="hidden" value="<?php echo $selected->icon; ?> " id="iconWireRelay" /> <div> <div style='margin:5px;'> <?php foreach ($icons as $i => $icon) { if ($i % 6 == 0) { echo '</div><div style="margin:5px;">'; } ?> <i style="width:25px;" onclick="plugin_wirerelay_set_icon(this,'<?php echo $icon; ?> ');" class="<?php echo $icon; ?> btn <?php echo $selected->icon == $icon ? 'btn-success' : ''; ?> "></i> <?php } ?> </div> </div> <label for="onWireRelay">Commande vocale "ON" associée</label> <?php echo $conf->get('VOCAL_ENTITY_NAME'); ?> , <input type="text" id="onWireRelay" value="<?php echo $selected->oncommand; ?> " placeholder="Allume la lumière, Ouvre le volet…"/> <label for="offWireRelay">Commande vocale "OFF" associée</label> <?php echo $conf->get('VOCAL_ENTITY_NAME'); ?> , <input type="text" id="offWireRelay" value="<?php echo $selected->offcommand; ?> " placeholder="Eteinds la lumière, Ferme le volet…"/> <label for="pinWireRelay">Pin GPIO (Numéro Wiring PI) relié au relais</label> <input type="number" value="<?php echo $selected->pin; ?> " id="pinWireRelay" placeholder="0,1,2…" /> <label for="roomWireRelay">Pièce de la maison</label> <select id="roomWireRelay"> <?php foreach ($rooms as $room) { ?> <option <?php if ($selected->room == $room->getId()) { echo "selected"; } ?> value="<?php echo $room->getId(); ?> "><?php echo $room->getName(); ?> </option> <?php } ?> </select> <label for="pinWireRelay">Mode impulsion (micro secondes)</label> <input type="number" value="<?php echo $selected->pulse; ?> " id="pulseWireRelay" placeholder="0" /> <small>laisser à zéro pour désactiver le mode impulsion</small> </div> <div class="clear"></div> <br/><button onclick="plugin_wirerelay_save(this)" class="btn">Enregistrer</button> </fieldset> <br/> <fieldset> <legend>Consulter les relais filaires existants</legend> <table class="table table-striped table-bordered table-hover"> <thead> <tr> <th>Nom</th> <th>Description</th> <th>Pin GPIO</th> <th>Pièce</th> <th colspan="2">Impulsion</th> </tr> </thead> <?php foreach ($wireRelays as $wireRelay) { $room = $roomManager->load(array('id' => $wireRelay->room)); ?> <tr> <td><?php echo $wireRelay->name; ?> </td> <td><?php echo $wireRelay->description; ?> </td> <td><?php echo $wireRelay->pin; ?> </td> <td><?php echo $room->getName(); ?> </td> <td><?php echo $wireRelay->pulse; ?> </td> <td> <a class="btn" href="setting.php?section=wireRelay&id=<?php echo $wireRelay->id; ?> "><i class="fa fa-pencil"></i></a> <div class="btn" onclick="plugin_wirerelay_delete(<?php echo $wireRelay->id; ?> ,this);"><i class="fa fa-times"></i></div> </td> </td> </tr> <?php } ?> </table> </fieldset> </div> <?php } }
function wireRelay_vocal_command(&$response, $actionUrl) { global $conf; $wireRelayManager = new WireRelay(); $wireRelays = $wireRelayManager->populate(); foreach ($wireRelays as $wireRelay) { $response['commands'][] = array('command' => $conf->get('VOCAL_ENTITY_NAME') . ', allume ' . $wireRelay->getName(), 'url' => $actionUrl . '?action=wireRelay_change_state&engine=' . $wireRelay->getId() . '&state=1&webservice=true', 'confidence' => '0.9'); $response['commands'][] = array('command' => $conf->get('VOCAL_ENTITY_NAME') . ', eteint ' . $wireRelay->getName(), 'url' => $actionUrl . '?action=wireRelay_change_state&engine=' . $wireRelay->getId() . '&state=0&webservice=true', 'confidence' => '0.9'); } }