Closed ildmgithub closed 1 year ago
Я так понимаю назначение этих выключателей для управления краном.
Добрый день! По идее должно работатать, посмотрите в журнале HA есть ли какие то ошибки связаные с sst_cloud, если есть пришлите, так же уточните, в каком режиме используется модуль с одной зоной или двумя?
При использовании модуля с одной зоной по идее должен быть один выключатель крана и одна зона тревоги. А он создает по два.
Определение сколько зон сконфигурировано можно получить:
config["module_settings"]["module_config"]["grouping"] = "one_group"
config["module_settings"]["module_config"]["grouping"] = "two_groups"
Проблема возникаем именно в однозонном режиме? Пришлите пожалуйста полный json устройства с одной зоной
Да, только в однозонном режиме.
Вот json при однозонном режиме:
[
{
"id": 227687,
"configuration": "AlRBUgBsSQAFTjUxMTVNABE1MDowMjo5MTo5RjpEODpDQ0EAAQBDAAcLAAMDAwMAVwAHAguhAwwvA3cABQJkGGQQUgABA1MAGAUAAQAEEAEAAC6GCgAAAQAACqAKAAD/AEQACjE2NzU4NjE5NDdMAAEAWVY=",
"parsed_configuration": "{\"device_id\": \"N5115\", \"mac_address\": \"50:02:91:9F:D8:CC\", \"signal_level\": 0, \"access_status\": \"available\", \"slots_settings\": [{\"type\": \"empty\", \"config\": {}, \"number\": 1}, {\"type\": \"radio\", \"config\": {}, \"number\": 2}, {\"type\": \"counters\", \"config\": {\"counters\": [{\"line\": 1, \"step\": 10, \"error\": \"none\", \"value\": 11910, \"status\": \"on\", \"connection_type\": \"none\"}, {\"line\": 2, \"step\": 10, \"error\": \"none\", \"value\": 2720, \"status\": \"on\", \"connection_type\": \"none\"}]}, \"number\": 3}, {\"type\": \"empty\", \"config\": {}, \"number\": 4}], \"module_settings\": {\"module_config\": {\"grouping\": \"one_group\", \"keyboard_block_state\": \"unblocked\", \"first_group_valves_state\": \"opened\", \"second_group_valves_state\": \"opened\", \"close_valves_for_lost_sensor\": \"on\"}, \"module_status\": {\"first_group_alarm\": \"no\", \"second_group_alarm\": \"no\", \"washing_floors_mode\": \"off\", \"wireless_sensors_lost\": \"no\", \"wireless_device_connection\": \"no\", \"wireless_sensors_battery_discharge\": \"no\", \"close_valves_for_lost_sensor_at_first_group\": \"no\", \"close_valves_for_lost_sensor_at_second_group\": \"no\"}, \"wire_lines_config\": [{\"group\": \"both_groups\", \"number\": 1, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 2, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 3, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 4, \"input_type\": \"sensor\"}], \"wire_lines_status\": {\"first_line_alarm\": \"no\", \"third_line_alarm\": \"no\", \"fourth_line_alarm\": \"no\", \"second_line_alarm\": \"no\"}}, \"relay_events_config\": {\"group_switch_at_alarm\": \"both_groups\", \"group_switch_at_closing_valves\": \"no_switch\"}, \"wireless_sensors_info\": [{\"status\": {\"alarm\": false, \"sensor_lost\": false, \"signal_quality\": 3, \"battery_discharge\": false}, \"battery_level\": 100}, {\"status\": {\"alarm\": false, \"sensor_lost\": false, \"signal_quality\": 2, \"battery_discharge\": false}, \"battery_level\": 100}], \"wireless_sensors_params\": [{\"group\": \"both_groups\", \"serial_number\": 2977}, {\"group\": \"both_groups\", \"serial_number\": 3119}]}",
"timeout": 180,
"time_setting": null,
"group": null,
"active_network": 90911,
"specific_settings": {
"first_group_name": "Холодная вода",
"second_group_name": "Горячая вода"
},
"created_at": "2022-08-09T06:35:34.608251Z",
"updated_at": "2023-02-08T08:12:29.306614Z",
"name": "Нептун",
"type": 7,
"previous_mode": null,
"is_active": true,
"is_connected": true,
"mac_address": "50:02:91:9F:D8:CC",
"power": 1,
"power_relay_time": "0",
"chart_temperature_comfort": 26,
"chart_temperature_economical": 18,
"wireless_sensors_names": [],
"line_names": [
"line-1",
"line-2",
"line-3",
"line-4"
],
"lines_enabled": [
true,
true,
true,
true
],
"house": 92529
}
]
На всякий случай вот при многозонном:
[
{
"id": 227687,
"configuration": "AlRBUgBsSQAFTjUxMTVNABE1MDowMjo5MTo5RjpEODpDQ0EAAQBDAAcPAAMDAwMAVwAHAguhAwwvA3cABQJkGGQQUgABA1MAGAUAAQAEEAEAAC6GCgAAAQAACqAKAAD/AEQACjE2NzU4NjIwNTBMAAEAqFk=",
"parsed_configuration": "{\"device_id\": \"N5115\", \"mac_address\": \"50:02:91:9F:D8:CC\", \"signal_level\": 0, \"access_status\": \"available\", \"slots_settings\": [{\"type\": \"empty\", \"config\": {}, \"number\": 1}, {\"type\": \"radio\", \"config\": {}, \"number\": 2}, {\"type\": \"counters\", \"config\": {\"counters\": [{\"line\": 1, \"step\": 10, \"error\": \"none\", \"value\": 11910, \"status\": \"on\", \"connection_type\": \"none\"}, {\"line\": 2, \"step\": 10, \"error\": \"none\", \"value\": 2720, \"status\": \"on\", \"connection_type\": \"none\"}]}, \"number\": 3}, {\"type\": \"empty\", \"config\": {}, \"number\": 4}], \"module_settings\": {\"module_config\": {\"grouping\": \"two_groups\", \"keyboard_block_state\": \"unblocked\", \"first_group_valves_state\": \"opened\", \"second_group_valves_state\": \"opened\", \"close_valves_for_lost_sensor\": \"on\"}, \"module_status\": {\"first_group_alarm\": \"no\", \"second_group_alarm\": \"no\", \"washing_floors_mode\": \"off\", \"wireless_sensors_lost\": \"no\", \"wireless_device_connection\": \"no\", \"wireless_sensors_battery_discharge\": \"no\", \"close_valves_for_lost_sensor_at_first_group\": \"no\", \"close_valves_for_lost_sensor_at_second_group\": \"no\"}, \"wire_lines_config\": [{\"group\": \"both_groups\", \"number\": 1, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 2, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 3, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 4, \"input_type\": \"sensor\"}], \"wire_lines_status\": {\"first_line_alarm\": \"no\", \"third_line_alarm\": \"no\", \"fourth_line_alarm\": \"no\", \"second_line_alarm\": \"no\"}}, \"relay_events_config\": {\"group_switch_at_alarm\": \"both_groups\", \"group_switch_at_closing_valves\": \"no_switch\"}, \"wireless_sensors_info\": [{\"status\": {\"alarm\": false, \"sensor_lost\": false, \"signal_quality\": 3, \"battery_discharge\": false}, \"battery_level\": 100}, {\"status\": {\"alarm\": false, \"sensor_lost\": false, \"signal_quality\": 2, \"battery_discharge\": false}, \"battery_level\": 100}], \"wireless_sensors_params\": [{\"group\": \"both_groups\", \"serial_number\": 2977}, {\"group\": \"both_groups\", \"serial_number\": 3119}]}",
"timeout": 180,
"time_setting": null,
"group": null,
"active_network": 90911,
"specific_settings": {
"first_group_name": "Холодная вода",
"second_group_name": "Горячая вода"
},
"created_at": "2022-08-09T06:35:34.608251Z",
"updated_at": "2023-02-08T08:14:11.779605Z",
"name": "Нептун",
"type": 7,
"previous_mode": null,
"is_active": true,
"is_connected": true,
"mac_address": "50:02:91:9F:D8:CC",
"power": 1,
"power_relay_time": "0",
"chart_temperature_comfort": 26,
"chart_temperature_economical": 18,
"wireless_sensors_names": [],
"line_names": [
"line-1",
"line-2",
"line-3",
"line-4"
],
"lines_enabled": [
true,
true,
true,
true
],
"house": 92529
}
]
Спасибо, посмотрю что можно сделать
Даже в однозонном режиме пристуствует статус по двум группам кранов
"module_settings":{ "module_config":{ "grouping":"one_group", "keyboard_block_state":"unblocked", "first_group_valves_state":"opened", "second_group_valves_state":"opened", "close_valves_for_lost_sensor":"on" }, "module_status":{ "first_group_alarm":"no", "second_group_alarm":"no", "washing_floors_mode":"off", "wireless_sensors_lost":"no", "wireless_device_connection":"no", "wireless_sensors_battery_discharge":"no", "close_valves_for_lost_sensor_at_first_group":"no", "close_valves_for_lost_sensor_at_second_group":"no" }
Возможно вторая просто не используется, но тогда на первую должны закрываться и открываться краны. Есть какие то ошибки в логах?
По логам ничего не нашел в плане ошибок. но даже если закрыть кран первой группы - он не закрывает.
И я скажу web.sst-cloud.com тоже не закрывает краны при одной зоне ))))))))))))))))))) при этом sst-cloud и tuya приложения - закрывает норм
это забавно конечно) А я только хотел попросить посмотреть какой запрос выполняется при закрытии)
Возможно они в приложении используют какой то не описаный метод в апи или какой то другой формат. Попробуйте написать им в техподдержку что не работает в web.sst-cloud.com, может они там поправят и тогда сможем перенсти это в HA
При многозонном посылаются POST запросы на https://api.sst-cloud.com/houses/92529/devices/227687/module_settings/:
{
"module_config": {
"first_group_valves_state": "closed"
}
}
{
"module_config": {
"first_group_valves_state": "opened"
}
}
{
"module_config": {
"second_group_valves_state": "closed"
}
}
{
"module_config": {
"second_group_valves_state": "opened"
}
}
При однозонном режиме идет POST запрос на https://api.sst-cloud.com/houses/92529/devices/227687/valve_settings/:
{
"valve_settings": "closed"
}
Который не работает
Видимо нужен какой то третий вариант
отсинифил трафик из приложения
шлет в https://api.sst-cloud.com//houses/92529/devices/227687/
закрыть кран:
{"configuration":"AlRRVwAJQwAGCAAAAAAAA18="}
открыть кран:
{"configuration":"AlRRVwAJQwAGCQAAAAAARv8="}
а какой запрос? POST? По этому адресу есть обновление устройства, возможно это хешированый кусок конфигурации на закрытие крана
метод PATCH идет в приложении
Похоже понял, это частичное обновление конфигурации, но конфигурация передается захешированая, только вот непонятно что за метод они используют. Base64 не подходит
Есть пример закондированного и раскодированного текста
AlRBUgBsSQAFTjUxMTVNABE1MDowMjo5MTo5RjpEODpDQ0EAAQBDAAcLAAMDAwMAVwAHAguhAwwvA3cABQJkGGQQUgABA1MAGAUAAQAEEAEAAC6GCgAAAQAACqAKAAD/AEQACjE2NzU4NzE4NzBMAAEAoyA=
раскодировано это так:
{\"device_id\": \"N5115\", \"mac_address\": \"50:02:91:9F:D8:CC\", \"signal_level\": 0, \"access_status\": \"available\", \"slots_settings\": [{\"type\": \"empty\", \"config\": {}, \"number\": 1}, {\"type\": \"radio\", \"config\": {}, \"number\": 2}, {\"type\": \"counters\", \"config\": {\"counters\": [{\"line\": 1, \"step\": 10, \"error\": \"none\", \"value\": 11910, \"status\": \"on\", \"connection_type\": \"none\"}, {\"line\": 2, \"step\": 10, \"error\": \"none\", \"value\": 2720, \"status\": \"on\", \"connection_type\": \"none\"}]}, \"number\": 3}, {\"type\": \"empty\", \"config\": {}, \"number\": 4}], \"module_settings\": {\"module_config\": {\"grouping\": \"one_group\", \"keyboard_block_state\": \"unblocked\", \"first_group_valves_state\": \"opened\", \"second_group_valves_state\": \"opened\", \"close_valves_for_lost_sensor\": \"on\"}, \"module_status\": {\"first_group_alarm\": \"no\", \"second_group_alarm\": \"no\", \"washing_floors_mode\": \"off\", \"wireless_sensors_lost\": \"no\", \"wireless_device_connection\": \"no\", \"wireless_sensors_battery_discharge\": \"no\", \"close_valves_for_lost_sensor_at_first_group\": \"no\", \"close_valves_for_lost_sensor_at_second_group\": \"no\"}, \"wire_lines_config\": [{\"group\": \"both_groups\", \"number\": 1, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 2, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 3, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 4, \"input_type\": \"sensor\"}], \"wire_lines_status\": {\"first_line_alarm\": \"no\", \"third_line_alarm\": \"no\", \"fourth_line_alarm\": \"no\", \"second_line_alarm\": \"no\"}}, \"relay_events_config\": {\"group_switch_at_alarm\": \"both_groups\", \"group_switch_at_closing_valves\": \"no_switch\"}, \"wireless_sensors_info\": [{\"status\": {\"alarm\": false, \"sensor_lost\": false, \"signal_quality\": 3, \"battery_discharge\": false}, \"battery_level\": 100}, {\"status\": {\"alarm\": false, \"sensor_lost\": false, \"signal_quality\": 2, \"battery_discharge\": false}, \"battery_level\": 100}], \"wireless_sensors_params\": [{\"group\": \"both_groups\", \"serial_number\": 2977}, {\"group\": \"both_groups\", \"serial_number\": 3119}]}
при включении мойки полов шлет PATCH https://api.sst-cloud.com//houses/92529/devices/227687/
{
"configuration": "AlRRVwAJQwAGCQAAAAAARv8="
}
А мойка полов включается из HA? И пришлите еще пожалуйста раскодированую конфигурацию с закрытыми кранами, понять что именно меняется. Могу попробовать запилить с захардкожеными сообщениями на закрытие/открытие кранов, думаю может сработать
Мойка включается без проблем в HA
состояние закрытых кранов:
[
{
"id": 227687,
"configuration": "AlRBUgBsSQAFTjUxMTVNABE1MDowMjo5MTo5RjpEODpDQ0EAAQBDAAcIAAMDAwMAVwAHAguhAwwvA3cABQJkGGQQUgABA1MAGAUAAQAEEAEAAC6GCgAAAQAACqAKAAD/AEQACjE2NzU4NzY0OTVMAAEACeY=",
"parsed_configuration": "{\"device_id\": \"N5115\", \"mac_address\": \"50:02:91:9F:D8:CC\", \"signal_level\": 0, \"access_status\": \"available\", \"slots_settings\": [{\"type\": \"empty\", \"config\": {}, \"number\": 1}, {\"type\": \"radio\", \"config\": {}, \"number\": 2}, {\"type\": \"counters\", \"config\": {\"counters\": [{\"line\": 1, \"step\": 10, \"error\": \"none\", \"value\": 11910, \"status\": \"on\", \"connection_type\": \"none\"}, {\"line\": 2, \"step\": 10, \"error\": \"none\", \"value\": 2720, \"status\": \"on\", \"connection_type\": \"none\"}]}, \"number\": 3}, {\"type\": \"empty\", \"config\": {}, \"number\": 4}], \"module_settings\": {\"module_config\": {\"grouping\": \"one_group\", \"keyboard_block_state\": \"unblocked\", \"first_group_valves_state\": \"closed\", \"second_group_valves_state\": \"closed\", \"close_valves_for_lost_sensor\": \"on\"}, \"module_status\": {\"first_group_alarm\": \"no\", \"second_group_alarm\": \"no\", \"washing_floors_mode\": \"off\", \"wireless_sensors_lost\": \"no\", \"wireless_device_connection\": \"no\", \"wireless_sensors_battery_discharge\": \"no\", \"close_valves_for_lost_sensor_at_first_group\": \"no\", \"close_valves_for_lost_sensor_at_second_group\": \"no\"}, \"wire_lines_config\": [{\"group\": \"both_groups\", \"number\": 1, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 2, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 3, \"input_type\": \"sensor\"}, {\"group\": \"both_groups\", \"number\": 4, \"input_type\": \"sensor\"}], \"wire_lines_status\": {\"first_line_alarm\": \"no\", \"third_line_alarm\": \"no\", \"fourth_line_alarm\": \"no\", \"second_line_alarm\": \"no\"}}, \"relay_events_config\": {\"group_switch_at_alarm\": \"both_groups\", \"group_switch_at_closing_valves\": \"no_switch\"}, \"wireless_sensors_info\": [{\"status\": {\"alarm\": false, \"sensor_lost\": false, \"signal_quality\": 3, \"battery_discharge\": false}, \"battery_level\": 100}, {\"status\": {\"alarm\": false, \"sensor_lost\": false, \"signal_quality\": 2, \"battery_discharge\": false}, \"battery_level\": 100}], \"wireless_sensors_params\": [{\"group\": \"both_groups\", \"serial_number\": 2977}, {\"group\": \"both_groups\", \"serial_number\": 3119}]}",
"timeout": 180,
"time_setting": null,
"group": null,
"active_network": 90911,
"specific_settings": {
"first_group_name": "Холодная вода",
"second_group_name": "Горячая вода"
},
"created_at": "2022-08-09T06:35:34.608251Z",
"updated_at": "2023-02-08T12:14:56.850440Z",
"name": "Нептун",
"type": 7,
"previous_mode": null,
"is_active": true,
"is_connected": true,
"mac_address": "50:02:91:9F:D8:CC",
"power": 1,
"power_relay_time": "0",
"chart_temperature_comfort": 26,
"chart_temperature_economical": 18,
"wireless_sensors_names": [],
"line_names": [
"line-1",
"line-2",
"line-3",
"line-4"
],
"lines_enabled": [
true,
true,
true,
true
],
"house": 92529
}
]
при это их web.sst-cloud.com не отображает что кран закрыт )))))))))))) в приложениях все норм отображается - закрыто
Да хардкодно он открывает и закрывает:
curl -X PATCH -H "Content-Type: application/json" -d '{"configuration":"AlRRVwAJQwAGCQAAAAAARv8="}' -H "Authorization: Token XXX" https://api.sst-cloud.com/houses/92529/devices/227687/
curl -X PATCH -H "Content-Type: application/json" -d '{"configuration":"AlRRVwAJQwAGCAAAAAAAA18="}' -H "Authorization: Token XXX" https://api.sst-cloud.com/houses/92529/devices/227687/
Опубликовал v0.1.16 попробуйте обновиться
да, работает. binary_sensor.alert_module_second_group_alarm - я думаю - возможно не нужен при однозонном режиме
щас уберу, а switch один появился? только для первой зоны?
switch да один - тут все верно
Опубликовал v0.1.17
Отлично. А вы не сомтрели в сторону типа счетчиков на воду? В конфиг энергии не добавляются /config/energy https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics
Не смотрел, на беглый взгляд вроде все правильно _attr_unit_of_measurement = VOLUME_CUBIC_METERS _attr_state_class = SensorStateClass.TOTAL но в энергию не добавляется, заведите отдельный issue попробую посмотреть по-возможности
Исправлено в v0.1.17
Добрый день. Не получается из HA открывать закрывать краны. При попытке закрыть статус выключателя просто возвращается обратно с некоторой задержкой.