Живые индикаторы на pChart

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

PAV
Сообщения: 969
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

Re: Живые индикаторы на pChart

Сообщение PAV » Пт фев 21, 2014 5:02 pm

Переключаюсь на светлую тему - все ОК. На темной все плывет. Полез в s.php, там вроде стоит проверка темная/светлая тема. Что не так?
PAV
Сообщения: 969
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

Re: Живые индикаторы на pChart

Сообщение PAV » Чт апр 10, 2014 4:38 pm

Можно попросить индикатор для состояния приборов - вкл/выкл.
Вижу так - прямоугольник с текстом внутри - вкл зеленый. выкл красный.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Живые индикаторы на pChart

Сообщение Alex » Чт апр 10, 2014 4:54 pm

> Можно попросить индикатор для состояния приборов - вкл/выкл.

Сейчас как-то более актуальны индикаторы на js. Так что если что то появится, то в библиотеке jsgraphics.

Времени хватает только на то, чтобы ответить здесь, а на разработку — пока нет. Но вы сами можете изменить код индикатора, наиболее близкого к нужному вам по функционалу. Там всё элементарно.
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Живые индикаторы на pChart

Сообщение Ivan » Чт апр 10, 2014 7:21 pm

Возьмите s2 - скопируйте готовый индикатор в новый и перепишите процедуру перерисовки. 3 строки
Я думал сделать картинками. Но с буквой думаю сделать недолго. В следующей версии добавлю
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
PAV
Сообщения: 969
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

Re: Живые индикаторы на pChart

Сообщение PAV » Пт апр 11, 2014 11:43 am

Переписал state2.js

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

function state1(contid, objprop, title, refreshtime, type) {
    this.contid = contid;
    this.objprop = objprop;
    this.title = title;
    this.refreshtime = refreshtime;
    this.type = type;    
  
    this.lenX = 50;    
    this.lenY = 28;    
  
    this.title_font = '11px Tahoma';
    this.value_font = '26px Tahoma';
    
    this.background = 'rgba(0, 0, 0, 1)';
    this.color_title = 'rgba(220, 220, 220, 1)';
    
    this.color_unknown = '#444444';
    this.color = this.color_unknown;
    
    this.int1 = 0; this.int1_color = this.color_unknown;
    this.int2 = 0; this.int2_color = this.color_unknown;
    
    
// ------------ redraw
    
    this.redraw = function() {   
        // Background
        this.context.clearRect(0, 0, this.lenX, this.lenY);
        this.context.fillStyle = this.background;
        this.context.fillRect(0, 0, this.lenX, this.lenY);
    
        this.color = this.color_unknown;

        if (this.value = this.int1) {this.color = this.int1_color;}
        if (this.value = this.int2) {this.color = this.int2_color;}
            
        this.context.fillStyle = this.color;
        this.context.textAlign = "center";      
    
                
        // Led
        this.context.font = this.value_font;
    
        if (this.type == 2) {
            this.context.fillText('●', 34, 28);
        } else {
            this.context.fillRect(24, 17, 14, 7);
        }
        
        // Title
        this.context.font = this.title_font;
        this.context.fillStyle = this.color_title;
        this.context.fillText(this.title, 25, 10, 80); 

    } // redraw()

    this.init();
  
} // state1()

state1.prototype = new jsgraphics_alertobject;
Вызываю

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

<script language="javascript" type="text/javascript" src="/jsgraphics/jsgraphics.js"></script>
<script language="javascript" type="text/javascript" src="/jsgraphics/state2.js"></script>




<canvas id="stt1" width="50" height="28">Canvas not supported</canvas>


<script type="text/javascript">
    st1 = new state1('stt1', 'Arduino.alive', 'MEGA', 20000, 1);

    st1.int1 = 1; st1.int1_color = 'rgba(50, 200, 50, 1)'; // green
    st1.int2 = 0; st1.int2_color = 'rgba(210, 160, 50, 1)';  // orange

    
    
    st1.redraw();    
</script>

Ни черта не работает. Индикатор радостно горит зеленым, хотя значение 0
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Живые индикаторы на pChart

Сообщение Ivan » Сб апр 12, 2014 3:18 pm

Ок. Постараюсь сделать быстрее.
Я просто хотел переделать под шаблоны движка и вынести как компонент а маокет
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Живые индикаторы на pChart

Сообщение Vit » Чт июн 19, 2014 6:30 am

Ivan приветствую...

ты победил индикатор вкл/выкл ?


выложи код если есть пожалуйста
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Живые индикаторы на pChart

Сообщение Ivan » Чт июн 19, 2014 6:17 pm

Честно говоря сделал в тот же день. Но хотел переделать всё под шаблоны ядра. Но до них пока увы руки не доходят

Смотрите icon1
Вложения
s2.zip
(13.19 КБ) 281 скачивание
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Живые индикаторы на pChart

Сообщение Vit » Чт июн 19, 2014 7:01 pm

не могу вывести что то...подскажи как ты в шапке их выводил примером..

сделал вот так

<script language="javascript" type="text/javascript" src="/jsgraphics/jsgraphics.js"></script>
<script language="javascript" type="text/javascript" src="/jsgraphics/icon1.js"></script>

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

<script language="javascript" type="text/javascript" src="/jsgraphics/jsgraphics.js"></script>
<script language="javascript" type="text/javascript" src="/jsgraphics/icon1.js"></script>




<canvas id="stt1" width="50" height="28">Canvas not supported</canvas>


<script type="text/javascript">
    st1 = new state1('stt1', 'Garag.enabled', 'MEGA', 20000, 1);

    st1.int1 = 1; st1.int1_color = 'rgba(50, 200, 50, 1)'; // green
    st1.int2 = 0; st1.int2_color = 'rgba(210, 160, 50, 1)';  // orange

    
    
    st1.redraw();    
</script>
что неправильно?
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Живые индикаторы на pChart

Сообщение Ivan » Пт июн 20, 2014 9:38 am

Нужно видеть загруженную страницу.
Я в шапку не выводил. Выводил на отдельную страницу.
В схеме шапке почему то не выводится. Сам не смог разобраться. Сергей поставил это в задания, но оно уже висит с февраля (ему не до того)
Я с вебом не сильно дружу в плане отладки, если кто сможет разобраться буду благодарен
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ответить