예제 #1
0
         $aMacro = new Macro();
         $aMacro->setLabel(label_parse($_POST["macro_name"], true));
         $aMacro->setCommand($_POST["macro_command"]);
         if ($_POST["status"] == COMMENT_SIGN_D) {
             $aMacro->setEnabled(false);
         } else {
             $aMacro->setEnabled(true);
         }
         $aMacro->rebuildElementLine();
         $heyusched->addElement($aMacro);
         $mustSave = true;
     }
     break;
 case "save":
     //build macro line with POST results
     $schedObjs[$_POST["line"]]->setLabel(label_parse($_POST["macro_name"], true));
     $schedObjs[$_POST["line"]]->setCommand($_POST["macro_command"]);
     if ($_POST["status"] == COMMENT_SIGN_D) {
         $schedObjs[$_POST["line"]]->setEnabled(false);
     } else {
         $schedObjs[$_POST["line"]]->setEnabled(true);
     }
     $schedObjs[$_POST["line"]]->rebuildElementLine();
     $mustSave = true;
     break;
 case "del":
     $heyusched->deleteElement($_GET["line"]);
     $mustSave = true;
     break;
 case "cancel":
     break;
예제 #2
0
     $aTrigger->setCommand($_POST["command"]);
     $aTrigger->setMacroLabel(label_parse($_POST["macro"], true));
     if ($_POST["status"] == COMMENT_SIGN_D) {
         $aTrigger->setEnabled(false);
     } else {
         $aTrigger->setEnabled(true);
     }
     $aTrigger->rebuildElementLine();
     $heyusched->addElement($aTrigger);
     $mustSave = true;
     break;
 case "save":
     $aTrigger = $schedObjs[$_POST["line"]];
     $aTrigger->setLabel(label_parse($_POST["unit"], true));
     $aTrigger->setCommand($_POST["command"]);
     $aTrigger->setMacroLabel(label_parse($_POST["macro"], true));
     if ($_POST["status"] == COMMENT_SIGN_D) {
         $aTrigger->setEnabled(false);
     } else {
         $aTrigger->setEnabled(true);
     }
     $aTrigger->rebuildElementLine();
     $mustSave = true;
     break;
 case "del":
     $heyusched->deleteElement($_GET["line"]);
     $mustSave = true;
     break;
 case "move":
     if ($_GET["dir"] == "up") {
         $heyusched->reorderElements($_GET['line'], $_GET['line'] - 1);
예제 #3
0
 /**
  * Build Module Table
  * 
  * Description:
  * 
  * @param $alias
  */
 function buildModuleTable($anAliasable)
 {
     $lang = $_SESSION['frontObj']->getLanguageFile();
     $config = $_SESSION['frontObj']->getConfig();
     $modTypes = $_SESSION['frontObj']->getModuleTypes();
     $alias = $anAliasable;
     $scene = $anAliasable;
     $multi_alias = $alias->isMultiAlias();
     // check if A1,2 or just A1
     $hvac_alias = $alias->isHVACAlias();
     // check if HVAC module
     // check if is a multi alias, if true, use modules.tpl, if not use template acording to $type
     if ($multi_alias) {
         $tpl = "modules.tpl";
     } else {
         $tpl = $modTypes->getModuleType($anAliasable->getAliasMap()->getType())->getModuleImage() . ".tpl";
     }
     // create new template
     $mod = new Template(TPL_FILE_LOCATION . $tpl);
     $mod->set('config', $config);
     $mod->set('label', label_parse($anAliasable->getLabel(), false));
     $mod->set('lang', $lang);
     if ($anAliasable->isAlias()) {
         $mod->set('code', $alias->getHouseDevice());
     }
     if (!isset($_GET['page'])) {
         $_GET['page'] = 'domus_home_page';
     } else {
         $mod->set('page', $_GET['page']);
     }
     // if alias is a multi alias, scene or HVAC, module state & dimlevel are not checked
     if ($anAliasable->statusAbility()) {
         try {
             if (on_state($config, $alias->getHouseDevice())) {
                 $state = 'on';
                 $action = $config['cmd_off'];
             } else {
                 $state = 'off';
                 $action = $config['cmd_on'];
             }
         } catch (Exception $e) {
             gen_error("buildLocationTable - on_state ", $e->getMessage());
             exit;
         }
         $mod->set('action', $action);
         $mod->set('state', $state);
         if (strtolower(trim($modTypes->getModuleType($alias->getAliasMap()->getType())->getModuleType())) == DIMMABLE_D) {
             $mod->set('level', $this->level_calc(dim_level($config, $alias->getHouseDevice())));
         }
     } elseif ($hvac_alias) {
         $result_arr = heyu_action($config, "hvac_control", $alias->getHouseDevice(), null, null, "mode");
         //			error_log("error of heyu_action in hvac ".$result_arr[0]. " count of result array [".count($result_arr)."]");
         if ($result_arr[0] != "Error in HVAC result") {
             $mode = $result_arr[0];
         } else {
             $mode = "OFF";
         }
         if ($mode == "OFF") {
             $state = "off";
         } else {
             $state = "on";
         }
         $result_arr = heyu_action($config, "hvac_control", $alias->getHouseDevice(), null, null, "temp");
         if ($result_arr[0] != "Error in HVAC result") {
             $temp = $result_arr[0];
         } else {
             $temp = "?";
         }
         $result_arr = heyu_action($config, "hvac_control", $alias->getHouseDevice(), null, null, "setpoint");
         if ($result_arr[0] != "Error in HVAC result") {
             $setpoint = $result_arr[0];
         } else {
             $setpoint = "?";
         }
         $result_arr = heyu_action($config, "hvac_control", $alias->getHouseDevice(), null, null, "fan_mode");
         if ($result_arr[0] != "Error in HVAC result") {
             $fan_mode = $result_arr[0];
         } else {
             $fan_mode = "?";
         }
         $result_arr = heyu_action($config, "hvac_control", $alias->getHouseDevice(), null, null, "setback_mode");
         if ($result_arr[0] != "Error in HVAC result") {
             $setback_mode = $result_arr[0];
         } else {
             $setback_mode = "?";
         }
         $mod->set('state', $state);
         $mod->set('mode', $mode);
         $mod->set('temp', $temp);
         $mod->set('setpoint', $setpoint);
         $mod->set('fan_mode', $fan_mode);
         $mod->set('setback_mode', $setback_mode);
     }
     // return as html
     return $mod->fetch(TPL_FILE_LOCATION . $tpl);
 }
예제 #4
0
     }
     break;
 case "save":
     if (preg_match($chars, $_POST["label"])) {
         gen_error(null, $lang['error_special_chars']);
     } else {
         $settings[$_POST["line"]]->setLabel(label_parse($_POST["label"], true));
         $settings[$_POST["line"]]->parseHouseUnitCodes($_POST["code"]);
         $settings[$_POST["line"]]->setModuleType($_POST["module"]);
         $settings[$_POST["line"]]->setModuleOptions($_POST["moduleopts"]);
         $settings[$_POST["line"]]->getAliasMap()->setType($_POST["type"]);
         $settings[$_POST["line"]]->getAliasMap()->setAliasLabel(label_parse($_POST["label"], true));
         if (strlen(trim($_POST["newloc"])) > 0) {
             $settings[$_POST["line"]]->getAliasMap()->setFloorPlanLabel(label_parse($_POST["newloc"], true));
         } else {
             $settings[$_POST["line"]]->getAliasMap()->setFloorPlanLabel(label_parse($_POST["loc"], true));
         }
         $settings[$_POST["line"]]->getAliasMap()->setGroup($_POST["group"]);
         $settings[$_POST["line"]]->getAliasMap()->setAccessLevel(intval($_POST["secaccesslevel"]));
         $settings[$_POST["line"]]->getAliasMap()->rebuildElementLine();
         $settings[$_POST["line"]]->rebuildElementLine();
         $mustSave = true;
     }
     break;
 case "del":
     $heyuconf->deleteElement($_GET["line"]);
     $mustSave = true;
     break;
 case "move":
     if ($_GET["dir"] == "up") {
         $heyuconf->reorderElements($_GET['line'], $_GET['line'] - 1);