$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;
$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);
/** * 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); }
} 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);