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

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

Модератор: immortal

PAV
Сообщения: 970
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва

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

Сообщение PAV »

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

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

Сообщение PAV »

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

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

Сообщение Alex »

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

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

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

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

Сообщение Ivan »

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

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

Сообщение PAV »

Переписал 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
Сообщения: 1474
Зарегистрирован: Сб окт 12, 2013 11:03 pm

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

Сообщение Ivan »

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

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

Сообщение Vit »

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

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


выложи код если есть пожалуйста
Ivan
Сообщения: 1474
Зарегистрирован: Сб окт 12, 2013 11:03 pm

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

Сообщение Ivan »

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

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

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

Сообщение Vit »

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

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

<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
Сообщения: 1474
Зарегистрирован: Сб окт 12, 2013 11:03 pm

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

Сообщение Ivan »

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