Страница 6 из 8

Re: Модуль графики Analog

Добавлено: Сб фев 06, 2016 1:56 pm
Ko/|xo3HUk
Может посмотреть что phpmyadmin выдаёт?

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

SELECT ID, VALUE, UNIX_TIMESTAMP(ADDED) as UNX FROM phistory WHERE VALUE_ID='366' AND ADDED>=('2016-02-06 08:30:00') AND ADDED<=('2016-02-06 15:30:00') ORDER BY ADDED
SPOILERSPOILER_SHOW
555.png
555.png (68.54 КБ) 10027 просмотров
где, VALUE_ID='366' - это ID из таблицы pvalues:
SPOILERSPOILER_SHOW
333.png
333.png (141.71 КБ) 10033 просмотра
и посмотреть выдаёт что-нибудь SQL или нет. Должно быть типа такого:
SPOILERSPOILER_SHOW
444.png
444.png (24.61 КБ) 10033 просмотра
Если выдаёт - проверить время из колонки UNX - совпадает ли со временем добавления этой записи в таблицу (онлайн-конвертер времени UNIX в стандартное, например: http://www.onlineconversion.com/unix_time.htm)

Re: Модуль графики Analog

Добавлено: Пт фев 26, 2016 3:05 pm
Ruslan
Господа,
Столкнулся с похожей проблемой. Я уже использую эти графики. Все работает.
Несколько дней назад добавил сенсор атмосферного давления.
Создал новый класс, свойства (хранить историю 30 дней). Данные принимает, сохраняет (смотрел в базе с помощью phpmyadmin).
Создал график на домашней странице и получил прямую линию. :(
Создал еще один график с помощью обычного pChart. Рисует кривую. :?:

Полез в базу. из предыдущего сообщения взял строку запроса, подправил по своим значениям.

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

SELECT ID, VALUE, UNIX_TIMESTAMP(ADDED) as UNX FROM phistory WHERE VALUE_ID='409' AND ADDED>=('2016-02-26 08:30:00') AND ADDED<=('2016-02-26 15:30:00') ORDER BY ADDED
В результате получил ответ и timestamp был UTC (если верить конвертеру из того же сообщения). Проблема с часами :idea:

Проверил настройки MajorDoMo. Часовой пояс выставлен Jerusalem +2
Проверил часы на "малине" через терминал:

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

 Fri Feb 26 13:07:06 IST 2016
Ну откуда я знаю что значит "IST".
Запустил утилиту конфигурации малины (raspi-config) и выставляю зону на Asia/Jerusalem.
после чего в терминале остался текст:

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

Current default time zone: 'Asia/Jerusalem'
Local time is now:      Fri Feb 26 13:06:36 IST 2016.
Universal Time is now:  Fri Feb 26 11:06:36 UTC 2016.
Значит и раньше настройка была верной.
Все. Идеи кончились.
Прошу помощи.

Re: Модуль графики Analog

Добавлено: Пт фев 26, 2016 3:36 pm
Ko/|xo3HUk
Решение проблем со временем на малине - здесь - см. пункт "Принудительная синхронизация времени при загрузке."

Re: Модуль графики Analog

Добавлено: Пт фев 26, 2016 4:32 pm
Ruslan
Так засада в том что часы идут верно.

Re: Модуль графики Analog

Добавлено: Пт фев 26, 2016 4:38 pm
Ko/|xo3HUk
А если диапазоном времени на графике поиграться - поставить, например, не 10 дней, а минут 30 - тоже прямую линию рисует?

Re: Модуль графики Analog

Добавлено: Пт фев 26, 2016 5:01 pm
Ruslan
Да. Тоже прямая.
Меня смущает тот факт что в базе timestamp записан UTC. т.е. смещение -2 часа.
Судя по предыдущим сообщениям в этой теме, так быть не должно.
Если я правильно понимаю, график рисуется с учетом этого времени. Я конечно не все понимаю. Зачем нужно заглядывать в несколько разных ячеек в таблице и вытаскивать время, но наверное так нужно и так правильно. Другие графики у меня работают. Значит время там в порядке.
Вопрос почему в этом случае не работает.
Сейчас буду ковырять данные из того графика что работает.

Re: Модуль графики Analog

Добавлено: Пт фев 26, 2016 5:40 pm
Ko/|xo3HUk
Если немного изменить запрос для проверки - можно обойтись и без онлайн-калькулятора времени UNX - нормальное время покажет:

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

SELECT ID, VALUE, ADDED FROM phistory WHERE VALUE_ID='409' AND ADDED>=('2016-02-26 08:30:00') AND ADDED<=('2016-02-26 15:30:00') ORDER BY ADDED

Re: Модуль графики Analog

Добавлено: Пт фев 26, 2016 5:43 pm
Ko/|xo3HUk
Задать для проверки время на полчаса назад от текущего и на полчаса вперёд в будущее - не прилетят ли показания из будущего? :D

Re: Модуль графики Analog

Добавлено: Пт фев 26, 2016 5:55 pm
Ko/|xo3HUk
Сейчас попробовал - для отладки analog.php при открытии графиков - можно в этот файл навставлять строк типа:

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

DebMes("pChart2: end_time = ".$end_time); 
После этого в XRay во вкладке debug можно смотреть результат (после обновления страницы с графиками. Естественно, в лог будет валиться столько строк, сколько графиков на странице).

Re: Модуль графики Analog

Добавлено: Пт фев 26, 2016 7:47 pm
Ruslan
Взял вот этот запрос установил время где-то на 15 минут вперед и значение нерабочего графика:

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

SELECT ID, VALUE, UNIX_TIMESTAMP(ADDED) as UNX FROM phistory WHERE VALUE_ID='409' AND ADDED>=('2016-02-26 13:30:00') AND ADDED<=('2016-02-26 18:30:00') ORDER BY ADDED
Получаю:
1_1.PNG
1_1.PNG (5.51 КБ) 9886 просмотров
беру значение UNX-1456502900 для ID-38558 и перевожу конвертером [Fri, 26 Feb 2016 16:08:20 GMT]

Затем делаю такой запрос (такие же настройки):

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

SELECT ID, VALUE, ADDED FROM phistory WHERE VALUE_ID='409' AND ADDED>=('2016-02-26 13:30:00') AND ADDED<=('2016-02-26 18:30:00') ORDER BY ADDED
Получаю следующий результат:
1_2.PNG
1_2.PNG (6.59 КБ) 9886 просмотров
Смотрю на дату для значения с ID 38558 и вижу [2016-02-26 18:08:20]

Делаю ту же самую последовательность запросов для другой переменной (ID=359 пременная график которой рисуется) и получаю:
2_1.PNG
2_1.PNG (9.7 КБ) 9886 просмотров
2_2.PNG
2_2.PNG (11.8 КБ) 9886 просмотров
Беру последнее значение ID 38565
UNX-1456503328 = [Fri, 26 Feb 2016 16:15:28 GMT]
ADDED = [2016-02-26 18:15:28]

Получается тоже самое, разница -2 часа. Но в первом случае на графике прямая линия, а во втором все нормаль рисуется. :shock:

Значений из будущего, кстати, не наблюдаю.