"Умный выключатель"

Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: "Умный выключатель"

Сообщение Ivan » Пт апр 07, 2017 9:26 am

Вот здесь есть перечень конфигурационных настроек.
В них есть определения чтобы выключить обязательную регистрацию в гейте
http://mysensors.jad.ru/download/sensor_api_20/
За это сообщение автора Ivan поблагодарил:
cabat (Пт апр 07, 2017 10:08 am)
Рейтинг: 1.16%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
ahelper
Сообщения: 106
Зарегистрирован: Ср фев 08, 2017 5:04 pm
Благодарил (а): 34 раза
Поблагодарили: 66 раз

Re: "Умный выключатель"

Сообщение ahelper » Вс апр 09, 2017 12:24 am

Перечитал весь MyConfig, менял настройки в скетче и в самом MyConfig, ничего не выходит.
Пока нода не получит сообщение от гейта даже настройки void setup() не выставляются.
Скетч урезал до
СпойлерПоказать

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

#define MY_DEBUG // Включаем отладочные сообщения в порт ноды

#define MY_RADIO_NRF24 // Определаем тип радио модуля

//#define MY_NODE_ID 5 // Задаем ID ноды

//#define MY_REGISTRATION_FEATURE // Если функция включена, нода сначала регистрируется на гейте,
//а уже потом передает данные с сенсоров

//#define MY_REGISTRATION_RETRIES (1u) // Количество попыток регистрации
//если гейт или контроллер не отвечают

//#define MY_REGISTRATION_DEFAULT true // Регистрация по умолчанию,
//если нода не получила ответ о регистрации от гейта

//#define MY_REGISTRATION_CONTROLLER

#define MY_RF24_CE_PIN 9  // Специфические настройки пинов для радиомодулей RF24
#define MY_RF24_CS_PIN 10 // Специфические настройки пинов для радиомодулей RF24 

#include <SPI.h>
#include <MySensors.h>
#include <Bounce2.h>

#define RELAY_1  3  // номер цифрового пина для 1 реле
#define RELAY_2  4  // номер цифрового пина для 2 реле
#define RELAY_ON 1  // состояние влюченного реле
#define RELAY_OFF 0 // состояние выключенного реле
#define BUTTON_PIN_1 6 // номер цифрового пина для 1 выключателя
#define BUTTON_PIN_2 7 // номер цифрового пина для 2 выключателя

Bounce debouncer1 = Bounce();
Bounce debouncer2 = Bounce();

void setup()
{  
  pinMode(BUTTON_PIN_1, INPUT); // Установки состояния выключателя №1
  digitalWrite(BUTTON_PIN_1,HIGH); // Устанавливаем состояния выключателя pull-up
  debouncer1.attach(BUTTON_PIN_1); // После настройки кнопки, установка debouncer
  debouncer1.interval(5);
  
  pinMode(BUTTON_PIN_2, INPUT); // Установки состояния выключателя №2
  digitalWrite(BUTTON_PIN_2,HIGH); // Устанавливаем состояния выключателя pull-up
  debouncer2.attach(BUTTON_PIN_2); // После настройки кнопки, установка debouncer
  debouncer2.interval(5);

  // Устанавливаем состояние контактов реле 1
  pinMode(RELAY_1, OUTPUT);
  // Устанавливаем реле на последнее известное состояние
  digitalWrite(RELAY_1, loadState(1)?RELAY_ON:RELAY_OFF);
  
  // Устанавливаем состояние контактов реле 2
  pinMode(RELAY_2, OUTPUT);
  // Устанавливаем реле на последнее известное состояние
  digitalWrite(RELAY_2, loadState(2)?RELAY_ON:RELAY_OFF);   
}

void loop(){}
 
Все, что закомментировано и немного другого пробовал менять. В параметре loadState(2) оставил единицу, чтобы понять, отрабатывает void setup() или нет. В порт пишет нет гейта
СпойлерПоказать

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

6150 !TSM:FPAR:NO REPLY
6152 TSM:FPAR
6188 TSF:MSG:SEND,5-5-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
8196 !TSM:FPAR:FAIL
8197 TSM:FAIL:CNT=1
8199 TSM:FAIL:PDT
Даже если регистрация с гейтом пройдет и гейт потом выключить то перестает отрабатывать кнопки, постоянный поиск гейта.
Мое мнение, что данная библиотека годится только для датчиков, а для выключателя нужно что то другое. Т. к. в данном режиме работы он бесполезен?
Подскажите как из этого положения выйти, есть ли решение?
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: "Умный выключатель"

Сообщение Ivan » Вс апр 09, 2017 12:59 am

Вчера разбирались с этим в чате. В библиотеке ошибка. На неделе буду делать в либу патч
За это сообщение автора Ivan поблагодарил:
ahelper (Вс апр 09, 2017 10:31 pm)
Рейтинг: 1.16%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
ahelper
Сообщения: 106
Зарегистрирован: Ср фев 08, 2017 5:04 pm
Благодарил (а): 34 раза
Поблагодарили: 66 раз

Re: "Умный выключатель"

Сообщение ahelper » Вт апр 18, 2017 11:52 pm

Нашел все таки то,что искал. Очень интересный код, мультикнопочнорелейный.
Код с форума forum.mysensors.org работает именно так как нужно.
Помнит последнее состояние реле, при выкл/вкл питания возвращает последнее состояние Алисе (шлюзу MySensors).
При пропадании шлюза работает автономно!
Скетч под библиотеку MySensors 1.5.4
Вложения
2_SWITCH_2_RELAY_1_5_4.ZIP
(1.75 КБ) 235 скачиваний
За это сообщение автора ahelper поблагодарил:
serghei (Пт апр 28, 2017 8:53 pm)
Рейтинг: 1.16%
Ответить