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

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Murat
Сообщения: 17
Зарегистрирован: Ср мар 07, 2018 4:09 pm

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

Сообщение Murat »

Вот он включен sg("relay.gpiout15",1); вот выключен sg("relay.gpiout15",0); и нужно давать команды ВКЛЮЧИ СВЕТ , ВЫКЛЮЧИ СВЕТ , а как сделать что-бы просто говорить СВЕТ и она в зависимости от состояния реагировала.
Jilber
Сообщения: 719
Зарегистрирован: Ср май 03, 2017 7:41 pm

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

Сообщение Jilber »

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

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

Сообщение skysilver »

Простейшее условие. Можно же даже на Блокли нарисовать, если с пхп трудности.

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

if (gg("relay.gpiout15") == 1) {
  sg("relay.gpiout15", 0)
} else {
  sg("relay.gpiout15", 1)
}
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
nightwind
Сообщения: 332
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Контактная информация:

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

Сообщение nightwind »

== 1 не надо))
надо так

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

sg("relay.gpiout15", gg("relay.gpiout15") ^1 )
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

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

Сообщение 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);
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

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

Сообщение nick7zmail »

nightwind писал(а): Чт фев 21, 2019 11:33 pm == 1 не надо))
надо так
А почему не надо так? Вообще классическое сравнение.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
nightwind
Сообщения: 332
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Контактная информация:

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

Сообщение nightwind »

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

==1 ни на что не влияет, если в выражениях 0 или 1
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

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

Сообщение 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
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
nightwind
Сообщения: 332
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Контактная информация:

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

Сообщение 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?))) или значение не установленно, смысл чего может быть совсем не тем же, что с установленным нулем.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

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

Сообщение nick7zmail »

Изначальный вопрос был про выключатель)) врят ли там будет false =D
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить