Commit Graph

48 Commits

Author SHA1 Message Date
d2e97d2985 moved the example file to docs director 2025-10-29 17:01:47 +00:00
dec72de4e0 Organize: 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 reference
2025-10-29 16:51:17 +00:00
e8803df329 Rename main.py to TasmotaManager.py
- Renamed main.py to TasmotaManager.py for consistency with project name
- Updated pyproject.toml to reflect the new module name
- All functionality remains the same
2025-10-29 16:42:50 +00:00
9c22168f79 Refactor: 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.0
2025-10-29 16:38:03 +00:00
9764d28b04 Update KNOWN_ISSUES.md: Mark Issue #5 as resolved 2025-10-28 09:50:54 +00:00
8637c89e65 Fix Issue #5: Remove empty string from Traditional console_set
- Removed blank entry that was causing empty parameter errors
- Fixes 'Verification failed for blank parameter' errors on all devices
- Issue discovered during testing and root cause identified in config
2025-10-28 09:47:01 +00:00
bc384f6b9c Fix Issue #3: Add delay after MQTT configuration before console settings
- Add 1-second delay after MQTT changes to allow device to process
- Only delays when MQTT settings were actually updated
- Prevents intermittent failures when applying console settings
- Device needs time to process MQTT reconnection before accepting new commands
2025-10-28 08:54:17 +00:00
4d510688ab Fix Issue #1: Ensure template activation with Module 0 verification
- Add 0.5s delays after Template and Module commands for device processing
- Verify Module=0 (activation) in post-update verification, not just template
- Apply fixes to both template update and device name update code paths
- Enhanced logging for Module operations and verification
- Fixes issue where template was set but not activated, leaving device inoperable
2025-10-28 08:39:15 +00:00
8b05031e2e moving items around 2025-10-28 00:21:08 +00:00
8603cd3e7e Added ignore rules 2025-10-26 12:45:08 -05:00
3e66920c2a Stage network_configuration.json for git: ensure updated device_list formatting and console_set profiles are committed 2025-08-28 08:41:16 -05:00
35e6098a61 Save latest session changes: migrate to console_set profiles, device_list structure with per-device console_set, docs updated, formatting updates 2025-08-28 08:07:29 -05:00
142d825909 Release V1.00 2025-08-17 16:47:03 -05:00
d4b29c2359 Console 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. 2025-08-09 11:01:58 -05:00
9646099a4f UniFi 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. 2025-08-08 23:59:23 -05:00
8de801c324 Unifi 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. 2025-08-08 23:31:55 -05:00
c31bcbdf85 Console 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. 2025-08-08 23:16:18 -05:00
7d1755b44a Build: 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. 2025-08-08 22:50:48 -05:00
44c9042eee Docs: FAQ - setup.py not needed to publish on GitHub; clarify hosting vs packaging and mention modern pyproject.toml with link to packaging guide. 2025-08-08 22:47:06 -05:00
3f78ff0bd7 Docs: add 'Publishing a Python Script on GitHub' section with step-by-step instructions. 2025-08-08 22:42:36 -05:00
5784a0b414 Refactor: 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. 2025-08-08 22:32:09 -05:00
126cd39555 Major 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 changes
2025-08-08 19:04:33 -05:00
4b6e0dff93 Add documentation for rule writing fix 2025-08-06 22:44:58 -05:00
2345184a76 Update documentation to include SetOption4 2025-08-06 21:28:19 -05:00
3e6001568f Add detailed reporting when no template match is found 2025-08-06 20:52:15 -05:00
d585f0f284 Implement template activation, fix console settings duplication, and improve connection display 2025-08-06 20:31:57 -05:00
cced5a76cc Fix FullTopic parameter to prevent extra equals sign at beginning of value 2025-08-06 04:30:31 -05:00
ecef7bc50f Fix rule1 setting in Device mode and add MQTT command analysis 2025-08-06 04:19:28 -05:00
60ab8f1309 Add single device processing with --Device parameter and hostname matching features 2025-08-06 03:22:26 -05:00
9216619cd1 Add 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. 2025-08-05 02:40:10 -05:00
2d3c867e84 Implement 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. 2025-08-05 02:29:30 -05:00
daa015b4c2 Add automatic rule enabling feature to simplify configuration
This commit implements automatic enabling of Tasmota rules when they are defined in the configuration.
Key changes:
- Modified TasmotaManager.py to detect rule definitions and automatically send enable commands
- Updated network_configuration.json to remove redundant Rule1 entry
- Updated documentation in README.md and CONSOLE_COMMANDS.md to explain the new feature
- Added test script to verify the automatic rule enabling functionality

This change simplifies the configuration by allowing users to define rules without needing to
explicitly enable them with a separate command.
2025-08-05 02:21:56 -05:00
42915f508e Fix rule configuration in network_configuration.json and documentation. Changed rule2 to Rule1 to properly enable rule1 instead of rule2. 2025-08-05 02:07:42 -05:00
301eb03c3e Update TasmotaManager with console parameters and documentation 2025-08-05 01:36:18 -05:00
d566a7fdbb Implement console parameters feature to set Tasmota device settings 2025-08-05 01:13:43 -05:00
3d2afbd248 Fix NoRetain MQTT setting implementation to properly use config value 2025-08-05 01:04:50 -05:00
040fbd68d8 Implement unknown device processing with interactive toggle feature and update documentation 2025-08-04 23:04:25 -05:00
e34e25b951 Add configuration template file for PyCharm project setup
This template file provides a reference for developers to create their own configuration file without exposing sensitive information. It should be included in the PyCharm project structure, while the actual configuration file (network_configuration.json) should also be included in the project but excluded from version control.
2025-08-03 22:50:10 -05:00
7007fac904 Merge branch 'Inital' into 'inital', keeping 'inital' as the primary implementation 2025-08-03 22:42:26 -05:00
b57a0ffa88 saving files 2025-08-03 22:22:24 -05:00
73f7acfd8c Prepare for GitLab migration: Add README, .gitignore, and update TasmotaManager.py 2025-08-03 21:49:38 -05:00
d4bdf43ad6 Add discover_devices.py and config.yaml to repository 2025-07-20 12:10:05 -05:00
3342a3620f Pushing saves 2025-07-19 15:49:53 -05:00
e106dc50fd More features added 2025-07-15 09:46:16 -05:00
245646a7b7 Added config file 2025-07-15 01:48:20 -05:00
488afdbb3d Initial Creation 2025-07-15 01:32:57 -05:00
Administrator
27329d3afa Update README.md 2021-02-15 15:52:52 +00:00
Administrator
b362ea7aa6 Initial commit 2021-02-15 15:52:03 +00:00