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

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

Модератор: immortal

Murat
Сообщения: 17
Зарегистрирован: Ср мар 07, 2018 4:09 pm
Благодарил (а): 10 раз
Поблагодарили: 0

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

Сообщение Murat » Ср фев 20, 2019 1:50 pm

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

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

Сообщение Jilber » Чт фев 21, 2019 2:33 pm

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
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

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

Сообщение skysilver » Чт фев 21, 2019 10:15 pm

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

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

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

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

Сообщение nightwind » Чт фев 21, 2019 11:33 pm

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

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

sg("relay.gpiout15", gg("relay.gpiout15") ^1 )
За это сообщение автора nightwind поблагодарил:
Murat (Пн мар 11, 2019 1:13 am)
Рейтинг: 1.16%
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

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

Сообщение skysilver » Чт фев 21, 2019 11:48 pm

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

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

gg('relay.gpiout15') ? sg('relay.gpiout15', 0) : sg('relay.gpiout15', 1);
За это сообщение автора skysilver поблагодарил:
Murat (Пн мар 11, 2019 1:14 am)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Пт фев 22, 2019 7:46 am

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

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

Сообщение nightwind » Пт фев 22, 2019 10:11 am

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
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Пт фев 22, 2019 12:16 pm

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
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

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

Сообщение nightwind » Пт фев 22, 2019 12:32 pm

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
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Пт фев 22, 2019 12:56 pm

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