Помогите с программированием формулы!

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

Модератор: immortal

LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Помогите с программированием формулы!

Сообщение LutsenkoDenis » Пт май 29, 2015 10:56 pm

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

// получаем значение свойства counter. Исходя из того что я получил при импорте класса и методов... $this->getPproperty("counter") последнее сохраненное значение счетчика.
Если предположить что последнее значение - 8, то
$counter['OLD_VALUE']=$this->getProperty("counter"); - будет 8
$counter['NEW_VALUE']=$this->getProperty("counter"); - будет тоже 8
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Controer
Сообщения: 44
Зарегистрирован: Чт апр 09, 2015 8:09 am
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Помогите с программированием формулы!

Сообщение Controer » Сб май 30, 2015 11:10 am

LutsenkoDenis писал(а):я вроде и комментарии на русском языке писал в примере...
На счет того, что считает не правильно...я в подробности формулы пересчета не вдавался, она ровно такая как у тебя и была

// получаем значение свойства counter. Исходя из того что я получил при импорте класса и методов... $this->getPproperty("counter") последнее сохраненное значение счетчика.
Если предположить что последнее значение - 8, то
$counter['OLD_VALUE']=$this->getProperty("counter"); - будет 8
$counter['NEW_VALUE']=$this->getProperty("counter"); - будет тоже 8
По данному скрипту, при этих значениях: при новом значении - 7, а предыдущем значении - 5
все равно неправильно считает
$counter['OLD_VALUE']=$this->getProperty("counter");
$counter['NEW_VALUE']=$this->getProperty("counter");
$wind_old = $counter['OLD_VALUE']
$wind_new = $counter['NEW_VALUE']
Получается что $counter['OLD_VALUE'] и $counter['NEW_VALUE'] одинаковые значение получаемые от $counter
$this->setProperty("wind_old ", $wind_old ); в свойствах объекта отображается 7
$this->setProperty("wind_new", $wind_new); в свойствах объекта почему то все равно 7, хотя должно отображается 5
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Помогите с программированием формулы!

Сообщение LutsenkoDenis » Сб май 30, 2015 12:22 pm

А тебя вот тут ничего не смущает?

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

$counter['OLD_VALUE']=$this->getProperty("counter");
$counter['NEW_VALUE']=$this->getProperty("counter");
намек: С левой стороны то куда присваивается значение. С правой стороны - откуда получатся значение.
И в скрипте который я приводил, предыдущее значение я брал из истории. т.е. у меня два одинаховых значения могло быть только в одном случае. Если они реально одинаковые.
А в этих 2х строках ты записываешь в массив два раза одно и тоже значение
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Controer
Сообщения: 44
Зарегистрирован: Чт апр 09, 2015 8:09 am
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Помогите с программированием формулы!

Сообщение Controer » Пн июн 01, 2015 1:37 am

Наконец то разобрался, вообщем создал такой метод, при котором работает пересчет

$wind_old =$params['OLD_VALUE']; получаем предыдущие показания
$wind_new =$params['NEW_VALUE']; получаем текущие показания
$windspeed = (($wind_new -$wind_old) * 0.33) / 10; формула для пересчета ветра
$windspeed = round($windspeed, 1); округление до 0,1
$this->setProperty("windspeed ", $windspeed ); добавляется свойства windspeed с наши показаниями

Единственное почему то график не строиться, видно в истории данные не сохраняются, хотя в деталях объекта стоит хранить историю 30 дней
Controer
Сообщения: 44
Зарегистрирован: Чт апр 09, 2015 8:09 am
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Помогите с программированием формулы!

Сообщение Controer » Пн июн 01, 2015 2:29 am

Разобрался почему график не строится
Эта функция сама создает свойство "windspeed" объекта
$this->setProperty("windspeed", $windspeed);
А зачем мне её создавать если у меня это свойство уже есть, с настройками хранить историю 30 дней.

Как мне просто прописать данные переменной $windspeed в имеющееся свойство "windspeed" объекта.
Ответить