dec72de4e0Organize: Move refactoring helper files to docs/ - Moved tasmota_manager_refactor_notes.md to docs/REFACTORING_NOTES.md - Moved migrate_to_refactored.py to docs/ for future reference - Moved GitWorkflowRefactor.sh to docs/ for future referenceMike Geppert2025-10-29 16:51:17 +0000
9c22168f79Refactor: Split TasmotaManager into modular structure - Created modular Python files (main, utils, discovery, configuration, console_settings, unknown_devices, reporting, unifi_client) - Moved documentation files to docs/ - Moved data files to data/ - Removed old monolithic TasmotaManager.py and TasmotaManager_fixed.py - Updated .gitignore and pyproject.toml - All functionality preserved, command-line interface unchanged Version: 2.0.0Mike Geppert2025-10-29 16:38:03 +0000
9764d28b04Update KNOWN_ISSUES.md: Mark Issue #5 as resolvedMike Geppert2025-10-28 09:50:54 +0000
d4b29c2359Console settings: add post-update verification in with_retry flows; introduce _verify_console_param_value and use it to verify retain final state, general params, and RuleN enable; keep non-retry path behavior. Improves reliability and ensures updates actually took.Mike Geppert2025-08-09 11:01:58 -0500
9646099a4fUniFi hostname bug handling: keep UniFi name in discovery listing for compatibility, but use device self-reported hostname for operations when bug detected.\n- get_tasmota_devices: detect bug and log self-reported hostname without overwriting listing fields.\n- process_single_device: prefer self-reported hostname for subsequent processing/logs.\n- get_device_details: on bug flag, use self-reported hostname (op_name) for MQTT/console/template updates so %hostname_base% derives from correct name.\n- Add informative logs showing override decisions.\nTargeted tests pass: unifi hostname bug fix/flag and device discovery.Mike Geppert2025-08-08 23:59:23 -0500
8de801c324Unifi hostname bug: use self-reported hostname base (before '-') for unknown pattern comparison in bug detection across is_hostname_unknown, get_tasmota_devices, and process_single_device. Add exception handling in is_hostname_unknown for request failures. All targeted tests pass.Mike Geppert2025-08-08 23:31:55 -0500
c31bcbdf85Console updates: add idempotent pre-checks before sending commands; skip when values already match. Retain params toggled only if needed; rule definitions compared via RuleN 5; RuleN auto-enable skipped if already ON. Add helper _get_console_param_value. Confirm config_other already conditional.Mike Geppert2025-08-08 23:16:18 -0500
7d1755b44aBuild: add pyproject.toml (PEP 621) with setuptools backend and console script; Docs: explain what it takes to make pyproject.toml and how to build/install.Mike Geppert2025-08-08 22:50:48 -0500
44c9042eeeDocs: FAQ - setup.py not needed to publish on GitHub; clarify hosting vs packaging and mention modern pyproject.toml with link to packaging guide.Mike Geppert2025-08-08 22:47:06 -0500
3f78ff0bd7Docs: add 'Publishing a Python Script on GitHub' section with step-by-step instructions.Mike Geppert2025-08-08 22:42:36 -0500
5784a0b414Refactor: extract console settings into apply_console_settings(); add apply_config_other wrapper; update get_device_details to use wrapper. Docs: fix Configuration example to separate console and config_other; clarify console section usage. Add dead_functions_summary.md audit confirming no dead functions.Mike Geppert2025-08-08 22:32:09 -0500
126cd39555Major code improvements and bug fixes: 1. Restructured configuration: Moved config_other and console to top level 2. Added common _match_pattern function for regex pattern matching 3. Implemented Unifi Hostname bug fix in is_hostname_unknown 4. Created common get_device_hostname function to eliminate code duplication 5. Added comprehensive test scripts for all new functionality 6. Added detailed documentation for all changesMike Geppert2025-08-08 19:04:33 -0500
9216619cd1Add retry logic and failure reporting for console commands. Implements up to 3 retry attempts for timed out commands and provides a summary of all failures at the end of execution.Mike Geppert2025-08-05 02:40:10 -0500
2d3c867e84Implement proper Retain parameter handling and documentation. For all Retain parameters (ButtonRetain, SwitchRetain, PowerRetain), set the opposite state first before applying the final state to ensure MQTT broker retain settings are properly updated. Update documentation to explain that Retain parameters represent the final state.Mike Geppert2025-08-05 02:29:30 -0500
42915f508eFix rule configuration in network_configuration.json and documentation. Changed rule2 to Rule1 to properly enable rule1 instead of rule2.Mike Geppert2025-08-05 02:07:42 -0500
301eb03c3eUpdate TasmotaManager with console parameters and documentationMike Geppert2025-08-05 01:36:18 -0500
d566a7fdbbImplement console parameters feature to set Tasmota device settingsMike Geppert2025-08-05 01:13:43 -0500
3d2afbd248Fix NoRetain MQTT setting implementation to properly use config valueMike Geppert2025-08-05 01:04:50 -0500
040fbd68d8Implement unknown device processing with interactive toggle feature and update documentationMike Geppert2025-08-04 23:04:25 -0500