-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add S4 support #22
Comments
S4 модулем не поддерживается: там может быть совершенно другой механизм сопряжения.
|
занимаюсь этим. |
Все дампы что мне собирали делались на iPhone дебагом bluetooth стека. |
у меня 2 ведроида и в обоих дебаг блютус стека не делает нужные действия, но я поковыряюсь еще, уж больно хочется подружить свои бризеры с ХА |
Попробуйте через bluetoothctl сделать обычный pairing -- это может сработать, как в случае с Lite. Это самый простой вариант -- вдруг сработает. |
Оно действительно похож на обычный Pairing, судя по расковыряным исходникам приложения, в 4с особой процедуры спаривания нет. Лог спаривания раздобыл |
В каждом из логов каждое действие делалось по 3 раза Открытие проги и получение информации об устройстве |
Спасибо. Может ближе к ночи будет что-нибудь что можно потестить. |
Быстро не получится -- по структуре пакетов он ближе к Lite, а не к S3, так что придется немного повозиться. |
есть коды команд и примерная структура пакетов (из реверса apk приложения тиона) - если поможет, могу скинуть |
Я туда уже тоже заглянул. Да и из пакетов много чего понятно. |
@andlommy, попробуйте, пожалуйста,
Первый -- просто для того чтобы убедиться что все работает. А результат второго будет интересно сравнить с действительностью. Перед реальным запуском нужно будет сделать сопряжение устройств через bluetoothctl или примерно такой python скрипт from tion_btle.s4 import S4
device = S4(MAC:вашего:Бризера)
device.pair() |
спасибо, завтра попробую. |
Они их обещают примерно с выпуска первого бризера :( |
Не заработало на бризере root@ubuntu:/home/ubuntu/Documents/tion_python-s4-dev/tests# python3 ./s4.py XX:XX:XX:XX:XX:XX During handling of the above exception, another exception occurred: Traceback (most recent call last): в это же время bluetoothctl [Breezer 4S]# connect XX:XX:XX:XX:XX:XX |
Спасибо. |
Отключил всех, попробовал еще раз, то же самое |
Интересно...
Понять поможет примерно вот такая конструкция (если нигде не опечатался): from bluepy import btle
mac = 'MAC:address:here'
device = btle.Peripheral(None)
print ('connecting')
device.connect(mac, btle.ADDR_TYPE_RANDOM)
print ('connected')
print(device.getCharacteristics())
device.disconnect()
print('disconnected') Если это работает, а модуль нет -- буду думать в другую сторону. |
Да, бризер -- довольно капризная в плане BT штука: не любит частых подключений отключений и вообще активной работы с BT (по опыту Lite и S3). |
О. оно очухалось root@ubuntu:/home/ubuntu/Documents/tion_python-s4-dev/tests# python3 ./s4.py XX:XX:XX:XX:XX:XX |
Привыкайте, так оно и работает :( Я, конечно, забыл что команду для запроса данных нужно сделать, но там хоть из дампа можно взять, так что может даже сегодня сделаю :) |
Залил обновленную версию. Сейчас должно нормально отработать. |
Заработало root@ubuntu:/home/ubuntu/Downloads/tion_python-s4-dev/tests# python3 ./s4.py XX:XX:XX:XX:XX:XX оно пока умеет только читать или писать тоже сможет? |
Пока только читать. Тион устроен так, что при команде set нужно передавать полное состояние бризера, а не только тот параметр, который хочется изменить. Поэтому сначала учимся читать, убеждаемся что читается все правильно, а потом начинаем учиться писать. Эти результаты соответствуют действительности? Попробуйте некоторые параметры поменять (пультом или приложением) и убедиться что они корректно изменяются и в результатах теста. Сейчас очень важно убедиться что мы умеем получать правильные данные с бризера. |
Результаты считываются корректно |
Отлично. Тогда в ближайшее время займусь set-частью. |
премного благодарен. Умел бы писать на питоне, посодействовал бы |
Стесняюсь спросить - есть какой-нибудь прогресс? не терпиться протестировать :) |
Не стоит стесняться -- хороший вопрос! Извините, пока со временем не особо :( |
@andlommy, попробуйте, пожалуйста, tests/s4.py из ветки s4-dev. Оно должно:
Дебага будет море, поэтому пришлите сюда только то, что пойдет не по плану, начиная с Между действиями будет пауза в 10 секунд (настраивается параметром |
Приветствую. Сори был в отъезде, на этой неделе попробую поиграться и сообщу |
@andlommy, никаких проблем. Все идет в удобном каждому ритме: дэдлайнов тут не бывает ;) |
Можно попросить добавить в тест, чтобы после установки режима он показывал состояние, а то непросто определить включился ли обогрев или нет :) |
INFO:main:Going to set mode to recirculation |
народ, если вы мне скажете как мне это запустить, не имея компа с линухом 😅, я могу присоединиться к разработке. |
Есть Тион 4S, debian и успешно подключаюсь через bluetoothctl |
Ядро работает, похоже, нормально. Ошибка выше -- не специфичная для модели, скорее всего, плавающая и не критичная: модуль получил все необходимые данные и отвалился уже после этого. @Zorgino, linux -- не обязательно. Для работы нужен python3.9 с установленным модулем bluepy. Это можно провернуть под Windows. @Ravexkgd, спасибо. Я к выходным обновлю тестовый скрипт и чутка подкручу модуль чтобы при таких ошибках оно не крашилось. |
@Zorgino даже так... Тогда остается лазейка в виде того, что в Win-10 можно "Run Linux on windows" https://docs.microsoft.com/ru-ru/windows/wsl/install-win10 Плюс у меня есть дааавний проект по добавлению bleak в качестве BT интерфейса, но он не поддерживается HA и я не спешу (но абстракции для этого в модуле практически готовы: осталось добавить только уровень для разделения на bluepy и bleak). |
@Zorgino, как все в виндах запущено...
@andlommy, @Zorgino, обновил модуль и тестовый скрипт. Ошибки выше быть не должно, но могут проскакивать WARNING'и с ней связанные. Они не критичные и не должны мешать работе. |
to test tion s4. in Linux terminal:
|
Коллеги, у кого-нибудь получилось запустить тесты, после обновления от 4 июня? |
да, всё отлично, тесты бегают, ошибок нет. |
Отлично! Тогда в ближайшие дни сделаю релиз модуля. |
Версия модуля: 1.20
Модель бризера: Tion S4
Версия прошивки (если известна): 02D0
Описание проблемы
Опишите возникшую проблему простыми словами
When performing device.pair() (device in blue flashing mode), Authentication Failed response comes back from the breezer
Порядок действий, которые приводят к проявлению проблемы
from tion_btle import S3 as Breezer
mac: str=str("XX:XX:XX:XX:XX:XX")
device = Breezer(mac)
device.pair()
Логи
The text was updated successfully, but these errors were encountered: