Страница 1 из 2

Помогите с выключателем

Добавлено: Ср фев 20, 2019 1:50 pm
Murat
Вот он включен sg("relay.gpiout15",1); вот выключен sg("relay.gpiout15",0); и нужно давать команды ВКЛЮЧИ СВЕТ , ВЫКЛЮЧИ СВЕТ , а как сделать что-бы просто говорить СВЕТ и она в зависимости от состояния реагировала.

Re: Помогите с выключателем

Добавлено: Чт фев 21, 2019 2:33 pm
Jilber
Murat писал(а):
Ср фев 20, 2019 1:50 pm
Вот он включен sg("relay.gpiout15",1); вот выключен sg("relay.gpiout15",0); и нужно давать команды ВКЛЮЧИ СВЕТ , ВЫКЛЮЧИ СВЕТ , а как сделать что-бы просто говорить СВЕТ и она в зависимости от состояния реагировала.
Что за реле ? К чему подключено ? Команда sg("relay.gpiout15",2); случаем не инвертирует состояние реле ?

Re: Помогите с выключателем

Добавлено: Чт фев 21, 2019 10:15 pm
skysilver
Простейшее условие. Можно же даже на Блокли нарисовать, если с пхп трудности.

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

if (gg("relay.gpiout15") == 1) {
  sg("relay.gpiout15", 0)
} else {
  sg("relay.gpiout15", 1)
}

Re: Помогите с выключателем

Добавлено: Чт фев 21, 2019 11:33 pm
nightwind
== 1 не надо))
надо так

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

sg("relay.gpiout15", gg("relay.gpiout15") ^1 )

Re: Помогите с выключателем

Добавлено: Чт фев 21, 2019 11:48 pm
skysilver
nightwind писал(а):
Чт фев 21, 2019 11:33 pm
sg("relay.gpiout15", gg("relay.gpiout15") ^1 )
Блин, прикольно. ))
Я б максимум только такое предложил

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

gg('relay.gpiout15') ? sg('relay.gpiout15', 0) : sg('relay.gpiout15', 1);

Re: Помогите с выключателем

Добавлено: Пт фев 22, 2019 7:46 am
nick7zmail
nightwind писал(а):
Чт фев 21, 2019 11:33 pm
== 1 не надо))
надо так
А почему не надо так? Вообще классическое сравнение.

Re: Помогите с выключателем

Добавлено: Пт фев 22, 2019 10:11 am
nightwind
nick7zmail писал(а):
Пт фев 22, 2019 7:46 am
nightwind писал(а):
Чт фев 21, 2019 11:33 pm
== 1 не надо))
надо так
А почему не надо так? Вообще классическое сравнение.
(true == 1) true
(false == 1) false

==1 ни на что не влияет, если в выражениях 0 или 1

Re: Помогите с выключателем

Добавлено: Пт фев 22, 2019 12:16 pm
nick7zmail
nightwind писал(а):
Пт фев 22, 2019 10:11 am
==1 ни на что не влияет, если в выражениях 0 или 1
Согласен. При простом сравнении можно использовать

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

if (gg('obj.prop')) {
} else {
}
Это не станет менее классическим вариантом кода. Если человек новичек - ему понятнее будет воспринимать такой вариант.
nightwind писал(а):
Пт фев 22, 2019 10:11 am
(true == 1) true
(false == 1) false
При таких сравнениях можно использовать ===
(true === 1) false
(false === 1) false
(1=== 1) true
(0=== 1) false

Re: Помогите с выключателем

Добавлено: Пт фев 22, 2019 12:32 pm
nightwind
nick7zmail писал(а):
Пт фев 22, 2019 12:16 pm
Согласен. При простом сравнении можно использовать

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

if (gg('obj.prop')) {
} else {
}
При таких сравнениях можно использовать ===
(true === 1) false
(false === 1) false
(1=== 1) true
(0=== 1) false
Скоро пхп таки придет к жесткой типизации, и будет сразу совсем хорошо. а с тем IF-ом вверху можно и пролететь. Что если obj.prop содержит слово FALSE?))) или значение не установленно, смысл чего может быть совсем не тем же, что с установленным нулем.

Re: Помогите с выключателем

Добавлено: Пт фев 22, 2019 12:56 pm
nick7zmail
Изначальный вопрос был про выключатель)) врят ли там будет false =D