docs: реконструкция LAN-протокола FGLair, анализ legacy, планы fglair-core/HA/ESPHome
- PROTOCOL.md: полная спецификация (KDF, envelope/CBC-цепочка, local_reg, key exchange, commands.json 206/200, datapoint push, тайминги, таблицы свойств шаблонов A/B/F, облачный provisioning). Факты из APK помечены [APK], проверенные живыми экспериментами на AP-WC1E — [ПРОВЕРЕНО НА ПРИБОРЕ]: mDNS только :10276; лимит 2 LAN-сессии (3-я -> 503); принудительный re-key при возрасте сессии >= ~44с (единственный механизм самолечения десинхрона — 400/401 модуль игнорирует); записи не эхируются; delete_session освобождает слот. - LEGACY_ANALYSIS.md: причины рассинхрона (keep-alive 1200с вместо 10-15с + seq_no-фильтр) и перегрузки модуля; требования к новой реализации. - PLAN_CORE_LIBRARY.md: план C++20-библиотеки fglair-core (Linux + ESP-IDF), ключ lanip_key считается статичным, ротация — только ошибка + ручной перепровижининг. - PLAN_HOME_ASSISTANT.md: pyfglair (cffi wheel) + custom component, облачный provisioning только в config flow, ключ виден в диагностике для копирования в ESPHome. - PLAN_ESPHOME.md: external component, только ESP-IDF framework. - tools/probe_reference.py: эталонный клиент протокола (проверен на приборе end-to-end); tools/probe_mdns.py — mDNS-проба. - legacy/: снимок скрипта (апстрим gyro-labs/AirCon, вложенный клон не версионируется); apk/*.apk исключены из версионирования.
This commit is contained in:
BIN
apk/icon.png
Normal file
BIN
apk/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.5 KiB |
1
apk/manifest.json
Normal file
1
apk/manifest.json
Normal file
@@ -0,0 +1 @@
|
||||
{"xapk_version":2,"package_name":"com.fujitsu.fglair","name":"FGLair","version_code":"30162","version_name":"3.4.3","min_sdk_version":"24","target_sdk_version":"36","permissions":["android.permission.INTERNET","android.permission.WRITE_EXTERNAL_STORAGE","android.permission.RECORD_AUDIO","android.permission.RECORD_VIDEO","android.permission.READ_EXTERNAL_STORAGE","android.permission.ACCESS_COARSE_LOCATION","android.permission.ACCESS_FINE_LOCATION","android.permission.ACCESS_NETWORK_STATE","android.permission.VIBRATE","android.permission.CHANGE_NETWORK_STATE","android.permission.ACCESS_WIFI_STATE","android.permission.CHANGE_WIFI_MULTICAST_STATE","android.permission.CHANGE_WIFI_STATE","android.permission.BLUETOOTH","android.permission.BLUETOOTH_ADMIN","com.fujitsu.fglair.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"],"split_configs":["config.en","config.fr","config.mdpi"],"total_size":20439665,"icon":"icon.png","split_apks":[{"file":"com.fujitsu.fglair.apk","id":"base"},{"file":"config.en.apk","id":"config.en"},{"file":"config.fr.apk","id":"config.fr"},{"file":"config.mdpi.apk","id":"config.mdpi"}]}
|
||||
Reference in New Issue
Block a user