Ещё немного обновлений

Новые релизы, обновления и т.п.

Модератор: immortal

Аватара пользователя
foxvlad
Сообщения: 287
Зарегистрирован: Пн сен 22, 2014 3:18 pm
Откуда: Сочи
Благодарил (а): 78 раз
Поблагодарили: 78 раз
Контактная информация:

Re: Ещё немного обновлений

Сообщение foxvlad » Пн ноя 09, 2015 5:33 pm

foxvlad писал(а):
sergejey писал(а):
foxvlad писал(а):Сегодняшние обновления, опять останавливают и на сценах и в меню изменение информации все стоит. не переключаются элементы при смене статуса.
Пришлите в личку доступ и где смотреть, что именно не работает, ибо странно.
Переустановил статусы меняются, но выключатели меню так и реагируют наоборот.
Если клацать выключатели в меню все нормально будет.

Но если статус поменять из другого места или с прибора или со сцены, работает не правильно.
Если у объекта статус "0" выключатель становиться в состояние включен, а если наоборот "1" -выключатель ставиться в состояние выключен.
mr_kulepetov
Сообщения: 32
Зарегистрирован: Пн ноя 09, 2015 6:14 pm
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Ещё немного обновлений

Сообщение mr_kulepetov » Пн ноя 09, 2015 6:22 pm

Мужики, всем привет, тоже не могу понять, после перехода на вебсокеты постоянно валится цикл websockets, хотя, формально, он в htop виден, но в логах ничего не видно.
При "крахе" вебсокетов, в меню (http://мой ип/menu.html) пропадают иконки с разделов, первые 10 секунд после обновления страницы иконки видно, затем они пропадают). + сначала увеличивается отклик на нажатие радио кнопок и т.д., а затем вообще перестает обновляться. После перезапуска системы, а она стоит на raspberry Pi 2, все работает нормально. Думал, что нехватка памяти, перетащил мускуль на другой серв, штатный убил, свободно 500+ оперативы, а проблема осталась. :(
Обновления накатил от сегодняшнего числа. Проблема уже давно, все пробовал разобраться сам, но безрезультатно...
AndreyZak
Сообщения: 24
Зарегистрирован: Пт окт 16, 2015 8:47 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Ещё немного обновлений

Сообщение AndreyZak » Пн ноя 09, 2015 7:22 pm

Такая же ситуация с лампочками. На сцене лампочка горит, а привязанный к ней выключатель OFF и наоборот. Нажимаешь переключение, на кнопку или на саму лампочку и статусы меняются на противоположные, но не соотвествующие друг друг. Я уж думал у меня у одного так в силу кривых рук, а нет)))
Аватара пользователя
foxvlad
Сообщения: 287
Зарегистрирован: Пн сен 22, 2014 3:18 pm
Откуда: Сочи
Благодарил (а): 78 раз
Поблагодарили: 78 раз
Контактная информация:

Re: Ещё немного обновлений

Сообщение foxvlad » Пн ноя 09, 2015 8:39 pm

А еще есть такой неприятный момент, иногда нажимаешь на выключатель на сцене, а в этот момент считывался статус, и она рас моргнула и включилась, а на самом деле значение на нуле, без веб-сокетов он потом выключиться и покажет что не включено, а с веб-сокетами так и горит включенное, а на самом деле выключено. Как победить этот момент не представляю.
Аватара пользователя
foxvlad
Сообщения: 287
Зарегистрирован: Пн сен 22, 2014 3:18 pm
Откуда: Сочи
Благодарил (а): 78 раз
Поблагодарили: 78 раз
Контактная информация:

Re: Ещё немного обновлений

Сообщение foxvlad » Вт ноя 10, 2015 11:33 am

foxvlad писал(а): Если клацать выключатели в меню все нормально будет.

Но если статус поменять из другого места или с прибора или со сцены, работает не правильно.
Если у объекта статус "0" выключатель становиться в состояние включен, а если наоборот "1" -выключатель ставиться в состояние выключен.
Так что по поводу данной проблематики?
Аватара пользователя
foxvlad
Сообщения: 287
Зарегистрирован: Пн сен 22, 2014 3:18 pm
Откуда: Сочи
Благодарил (а): 78 раз
Поблагодарили: 78 раз
Контактная информация:

Re: Ещё немного обновлений

Сообщение foxvlad » Ср ноя 11, 2015 11:14 am

foxvlad писал(а): Если клацать выключатели в меню все нормально будет.

Но если статус поменять из другого места или с прибора или со сцены, работает не правильно.
Если у объекта статус "0" выключатель становиться в состояние включен, а если наоборот "1" -выключатель ставиться в состояние выключен.
Не ужели это мелочь? И не будет правиться, это не у меня эта проблемка, это косяк в обновлении.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Ещё немного обновлений

Сообщение sergejey » Ср ноя 11, 2015 12:26 pm

Проблему со статусами в меню исправил.
За это сообщение автора sergejey поблагодарили (всего 2):
foxvlad (Ср ноя 11, 2015 1:53 pm) • mr_kulepetov (Чт ноя 12, 2015 7:12 am)
Рейтинг: 2.33%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
foxvlad
Сообщения: 287
Зарегистрирован: Пн сен 22, 2014 3:18 pm
Откуда: Сочи
Благодарил (а): 78 раз
Поблагодарили: 78 раз
Контактная информация:

Re: Ещё немного обновлений

Сообщение foxvlad » Ср ноя 11, 2015 1:53 pm

sergejey писал(а):Проблему со статусами в меню исправил.
Спасибо!!!
coolermister
Сообщения: 49
Зарегистрирован: Пт июл 31, 2015 9:23 am
Благодарил (а): 12 раз
Поблагодарили: 17 раз

Re: Ещё немного обновлений

Сообщение coolermister » Пт ноя 13, 2015 12:44 pm

Появилась проблема с обновлением. При нажатии на кнопку обновить, через время вместо того что бы сообщить об успешном обновлении, браузер выдает вот это:
СпойлерПоказать
* @copyright http://www.smartliving.ru/ (c) * Ver: 0.2 * */ include_once("nut.class.php"); class app_nut extends module { /** * blank * * Module class constructor * * @access private */ function app_nut() { $this->name="app_nut"; $this->title="NUT"; $this->module_category="<#LANG_SECTION_DEVICES#>"; $this->checkInstalled(); } /** * saveParams * * Saving module parameters * * @access public */ function saveParams() { $p=array(); if (IsSet($this->id)) { $p["id"]=$this->id; } if (IsSet($this->view_mode)) { $p["view_mode"]=$this->view_mode; } if (IsSet($this->edit_mode)) { $p["edit_mode"]=$this->edit_mode; } if (IsSet($this->tab)) { $p["tab"]=$this->tab; } return parent::saveParams($p); } /** * getParams * * Getting module parameters from query string * * @access public */ function getParams() { global $id; global $mode; global $view_mode; global $edit_mode; global $tab; if (isset($id)) { $this->id=$id; } if (isset($mode)) { $this->mode=$mode; } if (isset($view_mode)) { $this->view_mode=$view_mode; } if (isset($edit_mode)) { $this->edit_mode=$edit_mode; } if (isset($tab)) { $this->tab=$tab; } } /** * Run * * Description * * @access public */ function run() { global $session; $out=array(); if ($this->action=='admin') { $this->admin($out); } else { $this->usual($out); } if (IsSet($this->owner->action)) { $out['PARENT_ACTION']=$this->owner->action; } if (IsSet($this->owner->name)) { $out['PARENT_NAME']=$this->owner->name; } $out['VIEW_MODE']=$this->view_mode; $out['EDIT_MODE']=$this->edit_mode; $out['MODE']=$this->mode; $out['ACTION']=$this->action; if ($this->single_rec) { $out['SINGLE_REC']=1; } $this->data=$out; $p=new parser(DIR_TEMPLATES.$this->name."/".$this->name.".html", $this->data, $this); $this->result=$p->result; } /** * BackEnd * * Module backend * * @access public */ function admin(&$out) { if ($this->view_mode == ''){ $this->listups($out); } if ($this->view_mode == 'edit'){ $this->editups($out, $this->id); } if ($this->view_mode == 'delete') { $this->deleteups($this->id); $this->redirect("?"); } if ($this->view_mode == 'propertyes'){ $this->propertyes($out, $this->id); } /* switch ($this->view_mode){ case 'help': $this->view_mode = "help"; break; case '': $this->listups($out); break; } */ } /** * FrontEnd * * Module frontend * * @access public */ function usual(&$out) { $this->admin($out); } /** * List of ups * * Module frontend * * @access private */ function listups(&$out) { require(DIR_MODULES.$this->name.'/listups.inc.php'); } /** * addconsole * * Module frontend * * @access private */ function editups(&$out, $id){ require(DIR_MODULES.$this->name.'/edit.inc.php'); } /** * deleteups * * Module frontend * * @access private */ function deleteups($id) { $rec=SQLSelectOne("SELECT * FROM app_nut_devices WHERE ID='$id'"); // some action for related tables SQLExec("DELETE FROM app_nut_params WHERE DEVICEID='".$rec['ID']."'"); SQLExec("DELETE FROM app_nut_devices WHERE ID='".$rec['ID']."'"); } /** * propertyes * * Module frontend * * @access private */ function propertyes(&$out, $id){ require(DIR_MODULES.$this->name.'/propertyes.inc.php'); } /** * Title * * Description * * @access public */ function checkUPS() { // Get checked ups $upslist=SQLSelect("SELECT * FROM app_nut_devices WHERE CHECK_NEXT<=NOW()"); $total=count($upslist); for($i=0;$i<$total;$i++) { $ups=$upslist[$i]; $interval=$ups['INTERVAL']; if (!$interval) { $interval=60; } $ups['CHECK_NEXT']=date('Y-m-d H:i:s', time()+$interval); SQLUpdate('app_nut_devices', $ups); // Create $nut = new nut_client($ups['UPS'], $ups['HOST'], $ups['PORT']); // Connect if ($nut->connect()){ // Login if ($ups['USERNAME']) { if (!$nut->login($ups['USERNAME'], $ups['PASSWORD'])){ DebMes("Error in nut connection: Error login"); } } // Get values $change = false; $params = $nut->listvar(); if ($params){ foreach ($params as $pname => $pval){ $prec=SQLSelectOne("SELECT * FROM app_nut_params WHERE DEVICEID='".$ups['ID']."' AND TITLE='".DBSafe($pname)."'"); if ($prec['ID']) { if ($pval != $prec['VALUE']){ $prec['VALUE'] = $pval; SQLUpdate('app_nut_params', $prec); if ($prec['LINKED_OBJECT'] && $prec['LINKED_PROPERTY']) { setGlobal($prec['LINKED_OBJECT'].'.'.$prec['LINKED_PROPERTY'], $prec['VALUE'], array($this->name=>'0')); $change = true; } } } } } $ups['CHECK_LATEST']=date('Y-m-d H:i:s'); $ups['CHECK_NEXT']=date('Y-m-d H:i:s', time()+$interval); SQLUpdate('app_nut_devices', $ups); if ($change){ $params=array('VALUE'=>$params); // do some status change actions $run_script_id=0; $run_code=''; // got online if ($ups['SCRIPT_ID']) { $run_script_id=$ups['SCRIPT_ID']; } elseif ($ups['CODE']) { $run_code=$ups['CODE']; } if ($run_script_id) { //run script runScript($run_script_id, $params); } elseif ($run_code) { //run code try { $code=$run_code; $success=eval($code); if ($success===false) { DebMes("Error in NUT code: ".$code); } } catch(Exception $e){ DebMes('Error: exception '.get_class($e).', '.$e->getMessage().'.'); } } } } else { DebMes("Error in nut connection: ".$ups['HOST'].":".$ups['PORT']); } $nut = NULL; } } /** * Control * * Module installation routine * * @access private */ function control($alias, $cmd, $name = NULL, $val = NULL){ $ups=SQLSelectOne("SELECT * FROM app_nut_devices WHERE UPS='$alias'"); if ($ups['ID']) { // Create $nut = new nut_client($ups['UPS'], $ups['HOST'], $ups['PORT']); // Connect if ($nut->connect()){ // Login if ($ups['USERNAME']) { if (!$nut->login($ups['USERNAME'], $ups['PASSWORD'])){ DebMes("Error in nut connection: Error login"); } } switch ($cmd){ case 'upsdesc': $res = $nut->upsdesc(); return $res; case 'getvar': $res = $nut->getvar($name); return $res; case 'vartype': $res = $nut->vartype($name); return $res; case 'vardesc': $res = $nut->vardesc($name); return $res; case 'varenum': $res = $nut->varenum($name); return $res; case 'varrange': $res = $nut->varrange($name); return $res; case 'cmddesc': $res = $nut->cmddesc($name); return $res; case 'listups': $res = $nut->listups(); return $res; case 'listvar': $res = $nut->listvar(); return $res; case 'listrw': $res = $nut->listrw(); return $res; case 'listcmd': $res = $nut->listcmd(); return $res; case 'instcmd': $res = $nut->instcmd($name); return $res; case 'setvar': $res = $nut->setvar($name, $val); return $res; case 'master': $res = $nut->master(); return $res; case 'fsd': $res = $nut->fsd(); return $res; case 'starttls': $res = $nut->starttls(); return $res; case 'ver': $res = $nut->ver(); return $res; case 'netver': $res = $nut->netver(); return $res; } } $nut = NULL; } } /** * Install * * Module installation routine * * @access private */ function install() { parent::install(); } /** * dbInstall * * Database installation routine * * @access private */ function dbInstall($data) { /* app_nut_devices - Devices app_nut_properties - Properties */ $data = <<
upd. решилось удалением модуля NUT
yantarik
Сообщения: 10
Зарегистрирован: Пн окт 06, 2014 1:31 pm
Благодарил (а): 10 раз
Поблагодарили: 8 раз

Re: Ещё немного обновлений

Сообщение yantarik » Пт ноя 13, 2015 8:33 pm

после обновления не обновляются элементы сцен? Кто что по этому поводу скажет?
Закрыто