Версия 0.6b

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

Модератор: immortal

Anton_kulibin
Сообщения: 354
Зарегистрирован: Вт окт 09, 2012 8:05 am
Откуда: Луза Кировская обл. Россия
Благодарил (а): 20 раз
Поблагодарили: 35 раз

Re: Версия 0.6b

Сообщение Anton_kulibin » Вс фев 02, 2014 9:14 pm

Вообще то часы у него встроены в меню. Элемент меню HTML блок
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Версия 0.6b

Сообщение Amarok » Пн фев 03, 2014 8:53 am

Использую в меню такой HTML-код:

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

<!DOCTYPE html>
<html lang="ru">
<head>
<title>Дом. Часы</title>
<meta charset="utf-8">

<style type="text/css"> 
.clock { color: green; 
        font-size: 110%;        
        font-weight: bold;
        font-family: 'Arial Black', Gadget, sans-serif;
        text-align: center;        
                text-shadow: 2px 2px 0px rgba(0,0,0,0.2);
        }
</style>

</head>
<body>
<div class="clock">%ThisComputer.timeNow%<wbr><nobr>%Time.DayOfWeekTXT%, %Time.DayOfMonthNum% %Time.MonthTXTalt%</nobr></div>
</body>
</html>
В результате получаются вот такие часики:
Изображение

Переменные Time.DayOfWeekTXT, Time.DayOfMonthNum и Time.MonthTXTalt получаю вот таким скриптом (вызывается он раз в сутки в 0 часов и 0 минут):
$days=array('воскресенье','понедельник','вторник','среда','четверг','пятница','суббота');
$months=array(1=>'январь','февраль','март','апрель','май','июнь','июль','август','сентябрь','октябрь','ноябрь','декабрь');
$months2=array(1=>'января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
$daymonth=array(1=>'первое','второе','третье','четвертое','пятое','шестое','седьмое','восьмое','девятое','десятое','одиннадцатое','двенадцатое','тринадцатое','четырнадцатое','пятнадцатое','шестнадцатое','семнадцатое','восемнадцатое','девятнадцатое','двадцатое','двадцать первое','двадцать второе','двадцать третье','двадцать четвертое','двадцать пятое','двадцать шестое','двадцать седьмое','двадцать восьмое','двадцать девятое','тридцатое','тридцать первое');
$day_num=(int)date('w');
$month_num=(int)date('m');
$day_month=(int)date('j');
$day_of_month=$daymonth[$day_month];
$day_of_week=$days[$day_num];
$month_txt1=$months[$month_num];
$month_txt2=$months2[$month_num];
setGlobal('Time.MonthNum',$month_num);
setGlobal('Time.MonthTXT',$month_txt1);
setGlobal('Time.MonthTXTalt',$month_txt2);
setGlobal('Time.DayOfMonthNum',$day_month);
setGlobal('Time.DayOfMonthTXT',$day_of_month);
setGlobal('Time.DayOfWeekTXT',$day_of_week);
setGlobal('Time.DayOfWeekNum',$day_num);
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
dimik
Сообщения: 141
Зарегистрирован: Пн апр 22, 2013 10:42 am
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: Версия 0.6b

Сообщение dimik » Ср фев 05, 2014 8:53 am

После обновления перестали работать графики highchart :(
графики.jpg
графики.jpg (242.04 КБ) 12959 просмотров
откатился до 1 февраля, теперь прямая линия на уровне текущего значения начиная с 1.02. Как поправить? Помогите!
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Версия 0.6b

Сообщение sergejey » Ср фев 05, 2014 8:09 pm

Никаких изменений с графиками не производилось, так что даже и не знаю что посоветывать.

(оффтопик: ребята, я сейчас в отпуске, так что сюда захожу редко. вопросы ко мне буду разбирать более детально уже на следующей неделе)

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
dimik
Сообщения: 141
Зарегистрирован: Пн апр 22, 2013 10:42 am
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: Версия 0.6b

Сообщение dimik » Чт фев 06, 2014 8:35 am

С прямой линией в конце графика разобрался заменой файла index.php в папке pChart. Заменил старым файлом версии 0.3.0b от 06.03.2013.
dimik
Сообщения: 141
Зарегистрирован: Пн апр 22, 2013 10:42 am
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: Версия 0.6b

Сообщение dimik » Чт фев 06, 2014 10:07 pm

Еще вопрос. Наверное адресованный sergejey.
В меню управления создал "Поле выбора", период авто обновления поставил 1 сек.
Так вот при выборе пункта на любом из терминалов, на других терминалах это поле не меняется автоматически.
Большая просьба: можно это поправить и сделать чтобы период авто обновления заработал?
Satgate_M
Сообщения: 79
Зарегистрирован: Ср дек 26, 2012 8:20 pm
Благодарил (а): 6 раз
Поблагодарили: 0

Re: Версия 0.6b

Сообщение Satgate_M » Пт фев 07, 2014 8:03 am

dimik писал(а):После обновления перестали работать графики highchart :(
графики.jpg
откатился до 1 февраля, теперь прямая линия на уровне текущего значения начиная с 1.02. Как поправить? Помогите!
А если не секрет, то как реализовали такие графики?

Спасибо.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Версия 0.6b

Сообщение sergejey » Пт фев 07, 2014 10:04 am

dimik писал(а):С прямой линией в конце графика разобрался заменой файла index.php в папке pChart. Заменил старым файлом версии 0.3.0b от 06.03.2013.
А можно мне в личку работающую версию файла? Хочу проанализировать из-за чего "грабли".

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Версия 0.6b

Сообщение sergejey » Пт фев 07, 2014 10:05 am

dimik писал(а):Еще вопрос. Наверное адресованный sergejey.
В меню управления создал "Поле выбора", период авто обновления поставил 1 сек.
Так вот при выборе пункта на любом из терминалов, на других терминалах это поле не меняется автоматически.
Большая просьба: можно это поправить и сделать чтобы период авто обновления заработал?
Посмотрю обязательно на следующей неделе как из отпуска вернусь ) Вполне возможно, что для этого элемента я не додедлал авто-обновление, как для других, так что буду разбираться.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
dimik
Сообщения: 141
Зарегистрирован: Пн апр 22, 2013 10:42 am
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: Версия 0.6b

Сообщение dimik » Пт фев 07, 2014 1:07 pm

Satgate_M писал(а): А если не секрет, то как реализовали такие графики?
Где то здесь на сайте уже писал, но зная как тут трудно найти что надо повторю :)
Графики сделаны на основе примера sample2.php
В общем делается новая домашняя страница HTML и вставляем такой код:

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

<!DOCTYPE HTML>
<html>
        <head>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
                <title>Highstock Example</title>
                <script type="text/javascript" src="/highcharts/js/jquery-1.7.1.min.js"></script>
                <script type="text/javascript" language="javascript">


var chart_preiod=15; //days
var chart_interval=1200; //seconds (interval);

var dateNow = new Date();
var startDate = new Date(dateNow.getTime() - chart_preiod*24*60*60*1000);
startDate.setHours(0,0,0,0);

$(function() {

url = '/pChart/?p=ws.tempOutside&op=values&start='+startDate.getFullYear()+'/'+(startDate.getMonth()+1)+'/'+(startDate.getDate())+'&interval='+chart_interval;


        $.getJSON(url, function(data) {
        
                //alert(data);
                // Create a timer
                var start = + new Date();
                var old_data=data;
                for(var i=0;i<old_data.length;i++) {
                 data[i]=parseFloat(old_data[i]);
                }
        
                // Create the chart
                var chart = new Highcharts.StockChart({
                    chart: {
                        renderTo: 'Outside',
                                events: {
                                        load: function(chart) {
                                                this.setTitle(null, {
                                                        text: 'Built chart at '+ (new Date() - start) +'ms'
                                                });
                                        }
                                },
                                zoomType: 'x'
                    },
        
                    rangeSelector: {
                        buttons: [{
                            type: 'hour',
                            count: 1,
                            text: '1h'
                        }, {
                            type: 'day',
                            count: 1,
                            text: '1d'
                        }, {
                            type: 'week',
                            count: 1,
                            text: '1w'
                        }, {
                            type: 'month',
                            count: 1,
                            text: '1m'
                        }, {
                            type: 'month',
                            count: 6,
                            text: '6m'
                        }, {
                            type: 'year',
                            count: 1,
                            text: '1y'
                        }, {
                            type: 'all',
                            text: 'All'
                        }],
                        selected: 3
                    },
        
                        yAxis: {
                                title: {
                                        text: 'Температура (°C)'
                                }
                        },
        
                    title: {
                                text: 'Температура на улице'
                        },
        
                        subtitle: {
                                text: 'Built chart at...' // dummy text to reserve space for dynamic subtitle
                        },
                        
                        series: [{
                        name: 'Temperature',
                        data: data,
                        pointStart: (startDate.getTime()- startDate.getTimezoneOffset() * 60*1000),
                        pointInterval: chart_interval * 1000,
                        tooltip: {
                                valueDecimals: 1,
                                valueSuffix: '°C'
                        }
                    }]
        
                });
        });
});
$(function() {

url = '/pChart/?p=ws.tempInside&op=values&start='+startDate.getFullYear()+'/'+(startDate.getMonth()+1)+'/'+(startDate.getDate())+'&interval='+chart_interval;


        $.getJSON(url, function(data) {
        
                //alert(data);
                // Create a timer
                var start = + new Date();
                var old_data=data;
                for(var i=0;i<old_data.length;i++) {
                 data[i]=parseFloat(old_data[i]);
                }
        
                // Create the chart
                var chart = new Highcharts.StockChart({
                    chart: {
                        renderTo: 'Inside',
                                events: {
                                        load: function(chart) {
                                                this.setTitle(null, {
                                                        text: 'Built chart at '+ (new Date() - start) +'ms'
                                                });
                                        }
                                },
                                zoomType: 'x'
                    },
        
                    rangeSelector: {
                        buttons: [{
                            type: 'hour',
                            count: 1,
                            text: '1h'
                        }, {
                            type: 'day',
                            count: 1,
                            text: '1d'
                        }, {
                            type: 'week',
                            count: 1,
                            text: '1w'
                        }, {
                            type: 'month',
                            count: 1,
                            text: '1m'
                        }, {
                            type: 'month',
                            count: 6,
                            text: '6m'
                        }, {
                            type: 'year',
                            count: 1,
                            text: '1y'
                        }, {
                            type: 'all',
                            text: 'All'
                        }],
                        selected: 3
                    },
        
                        yAxis: {
                                title: {
                                        text: 'Температура (°C)'
                                }
                        },
        
                    title: {
                                text: 'Температура в квартире'
                        },
        
                        subtitle: {
                                text: 'Built chart at...' // dummy text to reserve space for dynamic subtitle
                        },
                        
                        series: [{
                        name: 'Temperature',
                        data: data,
                        pointStart: (startDate.getTime()- startDate.getTimezoneOffset() * 60*1000),
                        pointInterval: chart_interval * 1000,
                        tooltip: {
                                valueDecimals: 1,
                                valueSuffix: '°C'
                        }
                    }]
        
                });
        });
});
                </script>
        </head>
        <body>
<script src="/highcharts/js/highstock.js"></script>
<script src="/highcharts/js/modules/exporting.js"></script>

<div id="Outside" style="height: 280px; min-width: 550px"></div>
<br>
<div id="Inside" style="height: 280px; min-width: 550px"></div>
        </body>
</html>
вот чего не смог пока сделать, так это прикрутить на эту-же страницу еще и стрелочные индикаторы.
Ответить