[Модуль] Sonoff (dev_sonoff)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение nick7zmail » Чт май 09, 2019 8:45 am

Хм...тогда ок...мне казалось там на сокете гейт висит.
С IP это наименьшая проблема. Уже текущий модуль их забрать сможет. POST запрос прикрутить на вкл-выкл тоже не проблема. Ща бы дату расшифровать, а для этого надо понять чем она зашифрована. Не пробовал засылать "encrypt":false, а в дате что нить вменяемое формата params:{switch:on} или просто switch:on ?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
chelovert
Сообщения: 64
Зарегистрирован: Ср май 08, 2019 2:01 pm
Благодарил (а): 11 раз
Поблагодарили: 28 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение chelovert » Чт май 09, 2019 12:18 pm

nick7zmail писал(а):
Чт май 09, 2019 8:45 am
Хм...тогда ок...мне казалось там на сокете гейт висит.
С IP это наименьшая проблема. Уже текущий модуль их забрать сможет. POST запрос прикрутить на вкл-выкл тоже не проблема. Ща бы дату расшифровать, а для этого надо понять чем она зашифрована. Не пробовал засылать "encrypt":false, а в дате что нить вменяемое формата params:{switch:on} или просто switch:on ?
посылать encrypt = false пробовал. Реле не может обработать такой запрос. Не отвечает
Аватара пользователя
chelovert
Сообщения: 64
Зарегистрирован: Ср май 08, 2019 2:01 pm
Благодарил (а): 11 раз
Поблагодарили: 28 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение chelovert » Чт май 09, 2019 1:33 pm

Вот что нарыл после декомпилирования apk ewelink
Key secretKeySpec = new SecretKeySpec(this.f367a.getBytes(), "AES");
Cipher instance = Cipher.getInstance("AES/CBC/PKCS5Padding");
instance.init(2, secretKeySpec, new IvParameterSpec(this.f367a.getBytes()));
Выглядит так что iv и ключ это один и тотже набор байт. Только ключ закодирован алгоритмом AES.
Есть еще такая тема:
Cipher instance = Cipher.getInstance("DES/CBC/PKCS5Padding");
instance.init(2, SecretKeyFactory.getInstance("DES").generateSecret(new DESKeySpec(this.f368a.getBytes("UTF-8"))), new IvParameterSpec(this.f368a.getBytes("UTF-8")));
Я попробовал отсделить откуда берется переменные f367a и f368a значение - у меня получилось следующее
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("S(@L@L").append("@)");
f144a = stringBuilder.toString();
Судя по коду получается, что ключ это строка "S(@L@L@)" Должно быть так, если я не ошибаюсь как stringBuilder склеивает строки..
Аватара пользователя
chelovert
Сообщения: 64
Зарегистрирован: Ср май 08, 2019 2:01 pm
Благодарил (а): 11 раз
Поблагодарили: 28 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение chelovert » Чт май 09, 2019 1:35 pm

надо провести практический эксперимент , после теоретических изысканий :) гыг
на php думаю будет не сложно написать скрипт, чтобы проверить теорию
Аватара пользователя
samolet
Сообщения: 472
Зарегистрирован: Чт июн 29, 2017 10:29 am
Благодарил (а): 46 раз
Поблагодарили: 45 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение samolet » Сб май 11, 2019 9:29 am

Ну звиздец, я так понимаю обнову вообще не надо устанавливать, после установки обновы мажора идут ложные срабатывания, надо или Сергею поработать над ошибками или Никите подстроить модуль под обнову, ну не возможно так пользоваться мажором(((((((((((((((((
Аватара пользователя
samolet
Сообщения: 472
Зарегистрирован: Чт июн 29, 2017 10:29 am
Благодарил (а): 46 раз
Поблагодарили: 45 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение samolet » Вс май 12, 2019 1:18 am

Ну как так то, обновил яндекс ттс и перестала Алиска выключать сонофы, зачем портить то что работает???????????????????????????????????????????
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение tarasfrompir » Вс май 12, 2019 6:24 am

samolet писал(а):
Сб май 11, 2019 9:29 am
Ну звиздец, я так понимаю обнову вообще не надо устанавливать, после установки обновы мажора идут ложные срабатывания, надо или Сергею поработать над ошибками или Никите подстроить модуль под обнову, ну не возможно так пользоваться мажором(((((((((((((((((
не понял - при чем тут соноф к яндексу? Яндекс продолжает разговаривать ?
Просто я вносил изменения последние (наверно). Так там только код языка поменялся на полный И ВСЕ?
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
samolet
Сообщения: 472
Зарегистрирован: Чт июн 29, 2017 10:29 am
Благодарил (а): 46 раз
Поблагодарили: 45 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение samolet » Вс май 12, 2019 8:42 am

при том, когда голосом просишь включить или выключить свет, который работает через модуль соноф, ни чего не происходит, откатил обнову и заработало.(((((((
callMethod('spalnya'.'.'.'turnOff'); вот это не отрабатывает, и все прочие скрипты(управляемые через сценарий через яндекс ттс) связанные с этим методом.
Аватара пользователя
yii
Сообщения: 246
Зарегистрирован: Пн апр 17, 2017 1:39 pm
Благодарил (а): 30 раз
Поблагодарили: 33 раза

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение yii » Вс май 12, 2019 9:01 am

А вот можно ли попробовать научить модуль рулить автоматическим режимом девайсов th 10/16?
Сейчас объясню на пальцах :)

Эти девайсы могут работать в 3х режимах: обычный выключатель, авто режим по температуре, авто режим по влажности.
Текущий режим работы в свойствах отображается, это свойство deviceType, которое при изменении в eWeLink нормально прилетает в модуль, и имеет значения соответственно: normal, temperature и humidity в зависимости от того в каком режиме девайс.

А вот текущих границ включающих и выключающих девайс в авто режиме среди свойств нету...

Попробовал менять deviceType - режимы меняются, а значения температуры или влажности берутся те что были последний раз...

Соответственно вопрос в том что бы научиться читать и писать текущие границы температуры и влажности...

Еще, посмотрев внимательно на данные в модуле, нужные данные в не распарсеном виде увидел в свойстве targets...
[{"reaction":{"switch":"on"},"targetHigh":"45"},{"reaction":{"switch":"off"},"targetLow":"20"}], строка для работы по температуре и влажности одинакова, что это (температура или влажность определяется по режиму работы, в режиме обычного выключателя ни на что не влияет (остается последней).

Еще есть свойство mainSwitch которое в ручном режиме дублирует switch, а в автоматическом всегда on. Скорее всего используется eWelink'ом для проверки авто режима, так как если девайс в авторежиме то он не дает его переключить в ручную (пишет что в авторежиме это не доступно), однако из модуля девайс спокойно включается и выключает игнорируя это.

Можно ли ожидать парсинг targets в ближайших обновлениях, или быстрее свой скрипт набросать? :)
Последний раз редактировалось yii Вс май 12, 2019 5:57 pm, всего редактировалось 3 раза.
Аватара пользователя
yii
Сообщения: 246
Зарегистрирован: Пн апр 17, 2017 1:39 pm
Благодарил (а): 30 раз
Поблагодарили: 33 раза

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение yii » Вс май 12, 2019 9:09 am

И еще при удалении девайсов модуль чистит dev_sonoff_devices, но не чистит dev_sonoff_data из за этого бывают проблемы... вот сейчас не хотел работать связанный объект с определенным именем (переименовываешь работает, а делаешь имя как мне надо нет), объект ранее использовался с другим устройством sonoff (если сосвем правильно, то с этим же, но оно было удалено, а потом добавлено заново)... как результат в dev_sonoff_data две записи со ссыфлкой на этот объект, одна с текущим ID, вторая со старым, которого в dev_sonoff_devices уже нет... пока не почистил dev_sonoff_data ручками, не заработало...

Глюк был в одну сторону... при прилете статуса из eWeLink - у объекта статус менялся, а при смене статуса у объекта он в модуле не менялся и в eWeLink не улетал соответственно...
Ответить