Нужна помощь

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

Модератор: immortal

kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm

Нужна помощь

Сообщение kostya77 »

Товарищи программы помогите соединить эти три куска в один

1

$UPS_state=exec("upsc APC@localhost input.voltage");
{
setGlobal("input_voltage", $UPS_state);
break;
};



2

$vol=exec("upsc APC@localhost battery.charge");
{
setGlobal("battery_charge",$vol);
break;
};


3

$UPS_state3=exec("upsc APC@localhost battery.voltage");

{
setGlobal("battery_voltage", $UPS_state3);
break;
};
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Контактная информация:

Re: Нужна помощь

Сообщение LutsenkoDenis »

что в приведенном куске кода делает break?

Из примера не ясно зачем это объединять.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm

Re: Нужна помощь

Сообщение kostya77 »

LutsenkoDenis писал(а):что в приведенном куске кода делает break?

Из примера не ясно зачем это объединять.
Есть три скрипта для получения данных с упса .
Хотелось в один скрипт что бы было , если в одном скрипте запускаю то получаю только первое значение ,а остальные уже не получаю .
У конекте в примерах нашел пример ,если что то не так помогите плыз исправить .
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Контактная информация:

Re: Нужна помощь

Сообщение LutsenkoDenis »

не пойму...
то, что нужен один скрипт понятно.
не понятно вот что:
При выполнении скрипта нужно получить одно значение или все?
Если одно, то какое-то определённое или первое попавшееся?

Про break спрашивал как раз по тому, что его используют при работе с каким-либо условием.
типа так

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

switch(выражение) {
case значение1: команда1; [break;]
case значение2: команда2; [break;]
. . .
case значениеN: командаN; [break;]
[default: команда_по_умолчанию; [break]]
}
, а в твоем примере это условие отсутствует и из примера не понятно чего ты хотел.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm

Re: Нужна помощь

Сообщение kostya77 »

upsc APC@localhost input.voltage
upsc APC@localhost battery.charge
upsc APC@localhost battery.voltage


Нужно получить три значения .
Если по отдельности у меня получается ,а как сразу нет.
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Контактная информация:

Re: Нужна помощь

Сообщение LutsenkoDenis »

Это не то?

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

$upsInputVoltage   = exec("upsc APC@localhost input.voltage");
$upsBatteryCharge = exec("upsc APC@localhost battery.charge");
$upsBatteryVoltage = exec("upsc APC@localhost battery.voltage");
Или ты хочешь значения как-то по другому получить?
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm

Re: Нужна помощь

Сообщение kostya77 »

LutsenkoDenis писал(а):Это не то?

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

$upsInputVoltage   = exec("upsc APC@localhost input.voltage");
$upsBatteryCharge = exec("upsc APC@localhost battery.charge");
$upsBatteryVoltage = exec("upsc APC@localhost battery.voltage"); 
Или ты хочешь значения как-то по другому получить?

Исправил по твоему замечанию .
$UPS_state=exec("upsc APC@localhost input.voltage");
{
setGlobal("input_voltage", $UPS_state);
};

$vol=exec("upsc APC@localhost battery.charge");
{
setGlobal("battery_charge",$vol);
};

$UPS_state3=exec("upsc APC@localhost battery.voltage");
{
setGlobal("battery_voltage", $UPS_state3);
};


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

Re: Нужна помощь

Сообщение LutsenkoDenis »

Смотрю тебе фигурные скобки понравились :)
Тут можно без них обойтись

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

$upsInputVoltage   = exec("upsc APC@localhost input.voltage");
$upsBatteryCharge = exec("upsc APC@localhost battery.charge");
$upsBatteryVoltage = exec("upsc APC@localhost battery.voltage");

setGlobal("input_voltage", $upsInputVoltage);
setGlobal("battery_charge", $upsBatteryCharge);
setGlobal("battery_voltage", $upsBatteryVoltage);
p.s. и немного занудства....
Функции и переменные желательно называть так, чтобы при просмотре написанного тобой месяц назад кода, ты мог быстро понять по названию функции что эта функция делает и что сохраняется в переменную.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm

Re: Нужна помощь

Сообщение kostya77 »

Я только учусь )
Спасибо .
zelevova
Сообщения: 291
Зарегистрирован: Вт ноя 18, 2014 11:43 pm
Откуда: Краснодарский край

Re: Нужна помощь

Сообщение zelevova »

и еще немного занудства....
Перед занесением полученных данных в свойства, лучше делать проверку адекватности полученных значений. А то вдруг там ошибка и мы запишем "0" потому что упс недоступен.
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
Ответить