-
Notifications
You must be signed in to change notification settings - Fork 10
S4 Обогрев #27
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
Comments
вот некие логи (переключал из heat в fan)
|
@andlommy, добрый день. То что бризер включается в режиме отопления -- правильно. Это особенность управления компонентом Вторая часть выглядит более подозрительно. Есть подозрение что я перепутал маркер того включен ли нагреватель. Команда при переключении heat->fan выглядит правильно. Когда модуль(или HA) говорит что обогрев включен, включен ли обогрев на самом деле? Те тест нужен примерно такой:
Итого:
ps. Чтобы получить полные логи нужно в configuration.yaml logger:
default: warning
logs:
tion_btle: debug
tion_btle.tion: debug
tion_btle.s4: debug
custom_components.tion: debug |
В 30градусную жару определить включен ли обогрев несколько проблемно :) |
Я исхожу из того что приложение нам не врет (если не верить приложению, то кому верить-то?) и пытаюсь получить такое же поведение, как в приложении. |
Я уже Тиону отослал пачку видео о том, как приложение в один момент говорит что обогрев выключен, затем ни с того ни и сего говорит что обогрев включен. При чем на одном телефоне обогрев не выключить совсем, на другом выключается, но стабильности оч. мало :( Покопаю пришлю логов. Логи показывают расшифровку статуса устройства? |
Да, там все видно. В вашем логе я вижу что состояние бризера при переключении hteat->fan не меняется. |
C обогревом есть 2 параметра "включить обогрев" и второй - до какой температуры нагревать. Сейчас это мало актуально, потому что на бризере в-основном "выскакивает" температура обогрева в 25, то есть при 30 на улице он не работает, но в другое время года, когда 10-15 ночью, то бризер вдруг начинает греть. Завтра попробую заставить его греть и попереключать режимы. Проблема, что настройкам приложения верить сложно |
Мой 3S устроен точно так же
Я сейчас подозреваю что в модуле некорректно реализовано включение нагревтеля: в этом месте инвертировано условие. Поэтому мне интересно понять: выключается ли нагреватель при переключении fan->heat
Лог только добавляет больше технической информации, по сравнению с тем что показывает HA: в HA данные отдаются корректно. import logging
import sys
from tion_btle.s4 import S4
def read_state(tion: S4):
result = tion.get()
_LOGGER.debug("Result is %s " % result)
_LOGGER.info("Initial state: device is %s, light is %s, sound is %s, heater is %s, fan_speed is %d, target_temp is %d",
tion.state,
tion.light,
tion.sound,
tion.heater,
tion.fan_speed,
tion.target_temp)
logging.basicConfig(level=logging.DEBUG)
_LOGGER = logging.getLogger(__name__)
_LOGGER.setLevel("DEBUG")
mac = sys.argv[1]
device = S4(mac)
read_state(device) Запуск скрипта будет выдавать текущее состояние бризера и тонну дебага. |
Включаться он включается До: После переключения на "обогрев": DEBUG:main:Result is {'state': 'on', 'heater': 'on', 'heating': 'off', 'sound': 'off', 'mode': 'outside', 'out_temp': 34, 'in_temp': 34, 'heater_temp': 25, 'fan_speed': 3, 'filter_remain': 178.95546296296297, 'time': '15:37', 'request_error_code': 0, 'model': 'S4', 'light': 'off'} А вот выключаться уже не выключается:
Дебаг лог переключения с fan на heating:
При чем ощущение, что оно сначала как будто отрабатывает, а потом сбрасывается назад |
Поехали....
Но последний ответ пришел не на запрос 4, а на запрос 2 и должно быть еще несколько ответов Дальше fan->heat ...
Похоже что:
Как боросться с 2 -- более менее понятно: если у вас есть возможность править код на сервере, приведите в tion_lite/s4.py 79 строку (внутри _encode_request->encode_state) к виду: (not self._encode_state(request["heater"]) << 3) | \ И при тестах делайте паузы между переключениями побольше, секунд 10-20. А вот что делать с 1 я пока не знаю... Но пара идей тоже есть. |
@Zorgino, если у вас 4S, не могли бы помочь с тестировнием: проверить мою правку в конце последнего комментария и рассказать о результатах? |
не помогло
|
Те (уже 68) строка (not self._encode_state(request["heater"]) << 3) | \ и по команде "включить обогрев" он не включился? Ну и если включить с пульта, то и выключить нельзя. У вас, кстати, второй части проблемы (что бризер в ответ на запрос состояния выдает результаты всех предыдущих запросов) не видно. |
Собственно существенная часть ответов:
вторая скорость вентилятора, 15-16 входящая, 15 целевая, 15 выходящая.
|
А в ходе теста вы устанавливаете состояние 0x15, которое, с учетом правки означает
Я немного запутался. Ну или правка не была применена, тогда 15 состояние -- выключенный нагреватель и это, дествительно, не работает, потому что нужна правка. |
Tion 4S use reversed heater logic, so we must revert it in encoder. Fix #27
Разобрался. @Zorgino, спасибо за возможность потестироваться. |
Tion 4S use reversed heater logic, so we must revert it in encoder. Fix #27
Bump required version of tion-btle to apply fixes in module. There was bug found in TionAPI/tion_python#27 that was fixed in 1.3.4.
Uh oh!
There was an error while loading. Please reload this page.
Версия модуля: 1.3.1
Модель бризера: S4
Версия прошивки (если известна): 02D0
Описание проблемы
Включение бризера в режим "fan only" приводит к включению отопления
Переключение из отопления в fan only оставляет режим отопления.
ИМХО у этих бризеров некий косяк с режимом отопления, т.к. похожие глюки есть при работы со штатным приложением Tion (неожиданное включение режима обогрева при совершении действий не связаных с включением режима обогрева).
Логи могу послать, если подскажете как их в HA включить для этого модуля
The text was updated successfully, but these errors were encountered: