Web-интерфейс Умного Дома и разработка домашнего сайта

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Mixman » 27 авг 2013, 00:45

Андрей, стр 15 этой темы
viewtopic.php?f=1&t=2&start=280#p8568

Андрей
Сообщения: 77
Зарегистрирован: 04 июн 2013, 16:37

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Андрей » 27 авг 2013, 12:05

Mixman писал(а): Андрей, стр 15 этой темы
viewtopic.php?f=1&t=2&start=280#p8568
Спасибо, Mixman. Пока что-то не радостно...
Andrey_B » 22 июн 2013, 23:26
plusQ, для построения графиков используется запросы типа "NOW() - INTERVAL 1 DAY".
В демо-интерфейсе на сайте данные обновляются с моего домашнего сервера, а вот в архиве дамп статичен.
То есть, грубо говоря, нет актуальных данных в БД.
Попробовал перевести дату на компе на 10.05.2013, результата не увидел.
Запускаю Андреев скрипт, что на сайте (JpGraph. Рисуем графики температуры http://ab-log.ru/smart-house/linux/jpgraph), вываливается ошибка:
JpGraph Error: 25064 Minor or major step size is 0. Check that you haven't got an accidental SetTextTicks(0) in your code. If this is not the case you might have stumbled upon a bug in JpGraph. Please report this and if possible include the data that caused the problem

Может есть ссылка, как использовать этот код, в подробностях...
Как использовать эту библиотеку для своей СМС?

Вот код, который у меня выдает ошибку:

Код: Выделить всё

// Подключаем библиотеку
DEFINE("TTF_DIR","libs/fonts/");
include ("libs/jpgraph/jpgraph.php");
include ("libs/jpgraph/jpgraph_line.php");

// Пишем SQL-запрос к базе
// Структура базы может быть разной, поэтому заменю его тестовыми значениями
$ydata = array("2.5", "2.7", "2.8", "3.0");
$xdata = array("12:00", "12:05", "12:10", "12:15");

$graph = new Graph(450,200,"auto");
$graph->SetScale("textlin");
$graph->SetMarginColor('white');
$graph->SetFrame(true,'#B3BCCB', 1);
$graph->SetTickDensity(TICKD_DENSE);
$graph->img->SetMargin(50,20,20,60);
$graph->title->SetMargin(10);
$graph->xaxis->SetTickLabels($xdata);
$graph->xaxis->SetLabelAngle(90);
$graph->xaxis->SetPos('min');

// Обычно значений много, не менее 250 в сутки, 
// поэтому нельзя выводить все значения из массива $xdata на шкалу X
// Это будет сильным нагромождением, поэтому я вывожу каждое 30-е значение.
$my_interval = ceil($i / 30);
//$my_interval =1;

$graph->xaxis->SetTextTickInterval($my_interval);

$lineplot=new LinePlot($ydata);
$graph->Add($lineplot);
$graph->Stroke();
Ошибка вываливается, при отработке оператора вывода:

Код: Выделить всё

$graph->Stroke()
Библиотеки подключены, взяты с последних исходников Андрея

Andrey_B
Администратор
Сообщения: 5329
Зарегистрирован: 18 мар 2011, 12:06

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 27 авг 2013, 16:26

Mixman писал(а):Вопросы к Андрею.
1. Когда я создаю новый модуль в cms выскакивает 2 типа: список и запись. Хотелось бы узнать что такое запись и чем они друг от друга отличаются.
2. Как записывать данные в БД, чтобы предыдущие значения заменялись новыми, а не добавлялись?
1. Функционал еще не доделан. Суть в следующем. Если полей в таблице много, то при редактировании модуля (таблицы) появляется горизонтальная полоса прокрутки, что не очень удобно, поэтому при переключении модуля в режим "Запись", отображаются (без редактирования) только некоторые, "главные" поля, а для редактирования нужно будет нажать на пиктограмму слева от записи, где все поля текущей записи размещены уже вертикально.
2. метод mod_write($id, $sql, $where = ""). Если указан параметр $where, то тогда выполняется UPDATE-запрос, а не INSERT.

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Mixman » 27 авг 2013, 16:58

Андрей писал(а):2. метод mod_write($id, $sql, $where = ""). Если указан параметр $where, то тогда выполняется UPDATE-запрос, а не INSERT.
синтаксис $where = "метка" ? правильно понял? т.е. например mod_write($id, $sql, $where = "temp_out")?

и еще хочу попросить вас написать код, ну или помочь написать. Вообщем хочу кнопку переключения режимов, наподобие ключей во вкладке свет. чтобы при нажатии было "подождите" и затем запрос на php файл типа regim.php?r=1 без перехода на другую страницу.
несколько раз пробовал брать за основу вкладу "свет", но то ли еще не дорос до этого, то ли слона та я и не увидел.

Andrey_B
Администратор
Сообщения: 5329
Зарегистрирован: 18 мар 2011, 12:06

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 27 авг 2013, 17:08

Mixman, $where = это то, что стоит после ключевого слова WHERE в SQL-запросе
$ab->mod_write($id, $sql, "Cont_Label='temp_out'");

Чтобы не было перезагрузки страницы, можно использовать jQuery+ajax он же .get(). Во всяком случае так сделано во вкладке "Свет".

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Mixman » 28 авг 2013, 15:22

Спасибо. Первое получилось, второе что-то с наскоку не сдалось, но буду штурмовать ))

Возможно ли сделать таб (или что-то похожее, не знаю как это назвать технически), чтобы нажимая на определенную ячейку или ссылку было типа контекстного меню или странички lightbox для уточнения параметров. Например вкладка свет. пункт "свет в спальне" - "вкл/выкл/доп." нажимаем доп и всплывает окошко или может разворачивается еще как-то с кнопками "вкл на 5 мин, выкл через 5 мин, и т.д." . и после нажатия кнопки окошко пропадает и на экране стандартная вкладка "свет". Может криво написал, но думаю идею раскрыл.

И не пойму, почему скрипт php, мониторящий сухой контакт 1wire, вылетает каждый первый раз размыкания сух контакта в сутки. На нем стоит геркон, так кто первый выходит - скрипт вылетает... потом работает норм, а утром опять... Может кто знает особенности?

------
upd
Правильно ли я понимаю, что код ниже проверяет соединение с БД, а в случае потери соединения, то востанавлиевает его?

Код: Выделить всё

		# Каждые 5 минут проверяем соединение с БД
		$sleep_count++;		
		if ( $sleep_count == 600 )
		{
			$sleep_count=0;
			if (!$ab->db_conn->ping())
			echo "MySQL connectio is lost\n";
		}

BSB
Сообщения: 47
Зарегистрирован: 22 фев 2012, 13:11
Откуда: Челябинск
Контактная информация:

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение BSB » 03 сен 2013, 19:28

Andrey_B, а поделитесь планами насчет веб-интерфейса, развейте сомнения - он не будет коммерческим? Я скачал ab-log-demo2, но там всё так статично, что сложилось впечатление о вырубленном функционале.

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Mixman » 03 сен 2013, 20:38

Напрашивается вопрос, а какой функционал Вы хотите?

BSB
Сообщения: 47
Зарегистрирован: 22 фев 2012, 13:11
Откуда: Челябинск
Контактная информация:

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение BSB » 03 сен 2013, 20:41

что-то вроде сценариев действий, шаблонов вывода, какого-то администрирования...
я может просто чего-то не понял? :)

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Mixman » 03 сен 2013, 20:50

Администрирование в админ панели http://ваш-адрес/ab-cms/index.php (Вы же отсюда скачивали архив?)
сценария действий в демоархиве мало, но есть. Например, poll.php при занесении в cron опрашивает датчики температуры, занесенные опять же в систему через админпанель. В основном скрипты действий пишут сами для себя, т.к. у каждого индивидуальные потребности, но спрашивать мнения и совета можно тут - всегда помогут.

В свою очередь прошу Андрея немного прокомментировать обновления, в частности что такое bootstrap-datepicker?

Andrey_B
Администратор
Сообщения: 5329
Зарегистрирован: 18 мар 2011, 12:06

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 03 сен 2013, 21:30

BSB, веб-интерфейс не будет коммерческим.
Что касается сценариев... Веб-интерфейс - это только часть системы, это только отображение некоторых параметров. Невозможно и ненужно все засовывать в Web-интерфейс. На самом деле необходимо сделать листинг файлов с описанием задачи, которую каждый файл решает. Тогда, думаю, картина станет более ясной. Кроме того, в демо-интерфейс включены не все мои скрипты и не всегда в рабочей конфигурации. Демо-интерфейс изначально задумывался в качестве "примера", но не готового решения на все случаи жизни. Если нужно что-нибудь конкретное - говорите, обсудим.

Mixman, кое-где в CMS требуется отображение календарика, а стандартном bootstrap 2.* его нет.

gnork
Сообщения: 54
Зарегистрирован: 08 янв 2013, 20:39

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение gnork » 17 окт 2013, 14:21

Скачал демо-интерфейс. Поставил.
Объясните пожалуйста, почему я наблюдаю вот такую картину?
Изображение
И второе.
Написано
Сборка включает в себя систему управления содержанием.
Для доступа к системе
http://адрес/ab-cms/index.php
Логин: admin
Пароль: ablog
При вводе адреса 127.0.1.1/ab-cms/index.php , ругается "You don't have permission to access..."
Если я правильно понимаю, я должен был написать, что я "admin" и что пароль "ablog", но оно этого не спрашивает...

Andrey_B
Администратор
Сообщения: 5329
Зарегистрирован: 18 мар 2011, 12:06

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 17 окт 2013, 15:00

gnork, не нужно загружать в браузере main.php
либо загружаем корень "/", либо index.php.
По всей видимости, ваш web-сервер игнорирует файлы .htaccess

gnork
Сообщения: 54
Зарегистрирован: 08 янв 2013, 20:39

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение gnork » 17 окт 2013, 15:22

Andrey_B писал(а):gnork, не нужно загружать в браузере main.php
либо загружаем корень "/", либо index.php.
По всей видимости, ваш web-сервер игнорирует файлы .htaccess
Тогда вообще пустой экран получается:
Изображение
Как убедить сервер не игнорировать важные вещи?

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Mixman » 17 окт 2013, 15:58

А вы все файлы залили правильно? У меня даже при http://адресс/main.php все открывается.

А логин / пароль вводить, читайте внимательно, где он вводится
http://www.ab-log.ru/smart-house/linux/demo-src

gnork
Сообщения: 54
Зарегистрирован: 08 янв 2013, 20:39

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение gnork » 17 окт 2013, 16:08

Mixman писал(а):А вы все файлы залили правильно? У меня даже при http://адресс/main.php все открывается.

А логин / пароль вводить, читайте внимательно, где он вводится
http://www.ab-log.ru/smart-house/linux/demo-src
Да там вроде вариантов не особо много. Из папки DEMO все, как есть, переписано в /var/www, где до этого был только index.html
А куда пароль вводить, так и не понял.

Andrey_B
Администратор
Сообщения: 5329
Зарегистрирован: 18 мар 2011, 12:06

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 17 окт 2013, 16:30

gnork, включите вывод ошибок. Возможно, многое станет яснее.
В файле php.ini это опция
display_errors = On

gnork
Сообщения: 54
Зарегистрирован: 08 янв 2013, 20:39

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение gnork » 17 окт 2013, 16:41

Andrey_B писал(а):gnork, включите вывод ошибок. Возможно, многое станет яснее.
В файле php.ini это опция
display_errors = On
Сделано. Где смотреть ошибки?

Andrey_B
Администратор
Сообщения: 5329
Зарегистрирован: 18 мар 2011, 12:06

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 17 окт 2013, 16:49

После того, как вы перезапустите Apache, вы должны будете увидеть что-нибудь после вызова index.php
Да, проверьте также опцию
error_reporting = E_ALL

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Mixman » 17 окт 2013, 17:17

Такое ощущение, что php не работает.
Создайте файл test.php с кодом

Код: Выделить всё

<?php
echo "Проверка работы php";
?>
и потом положите его в туже папку, куда и index.php и откройте через браузер.

Ответить