|
TX Ultimate Easy provides custom ESPHome firmware for Sonoff TX Ultimate devices. Our project focuses on user-friendly configuration through the Home Assistant UI, eliminating the need for manual YAML editing. Whether you're new to home automation or an experienced user, TX Ultimate Easy makes it simple to manage your device. |
---|
TX Ultimate Easy exposes your device's components (sensors, touch panel, relays, etc.) to Home Assistant, allowing you to:
- Monitor sensor states and values
- Control device components through the Home Assistant UI
- Use device triggers and states in your Home Assistant automations and scripts
- Configure device behavior through Home Assistant's service calls
All automation capabilities are handled through Home Assistant's native automation system - this project focuses on providing reliable device integration rather than implementing its own automation tools.
TX Ultimate Easy uses Home Assistant's native Events system for reliable automation triggers. While sensors show the current state (e.g., button pressed/not pressed), events capture-specific actions like clicks, swipes, and long presses.
For more details, please refer to our Events docs.
- Light Mode: Exposes the relay as a light entity with brightness controls (if supported)
- Switch Mode: Exposes the relay as a simple on/off switch entity
- None: Allows using button events for custom automations Example: Trigger scenes or complex automations through Home Assistant
- Relay Toggle: Direct control of the associated relay Example: Toggle relay state with each press, independent of Home Assistant
All device behaviors can be customized through Home Assistant automations without relying on local device triggers.
- Home Assistant UI Configuration: Manage all device settings directly through the Home Assistant interface
- Zero YAML Knowledge Required: After initial setup, no manual YAML editing needed
- Flexible Light Control: Customize LED behavior and effects
- Touch Panel Support: Full support for touch gestures and multi-touch capabilities
- Advanced Automations: Create complex automations using Home Assistant's powerful automation engine
- BLE Proxy Support: Optional Bluetooth Low Energy proxy functionality
- Audio Feedback: Built-in speaker support for audible feedback
- Haptic Feedback: Vibration motor support for tactile feedback
- Compatible with all Sonoff TX Ultimate variants:
- EU format (Square, T5-xC-86)
- US format (Rectangle, T5-xC-120)
- 1/2/3/4 gang versions
Before getting started, ensure you have:
- A Sonoff TX Ultimate device
- Home Assistant installation
- ESPHome add-on installed in Home Assistant
- Basic knowledge of Home Assistant
Follow these steps to get your TX Ultimate device up and running with ESPHome.
- Install the ESPHome add-on in Home Assistant if not already installed:
- Go to Settings → Add-ons → Add-on Store
- Search for "ESPHome"
- Click Install
- Start the ESPHome add-on and verify it's running
- Access ESPHome dashboard through Home Assistant
-
In the ESPHome dashboard, click "+ New Device"
-
Name your device (e.g., "tx-ultimate-living-room")
-
Select ESP32 as your device type
-
Copy this basic configuration to your new device:
substitutions: name: tx-ultimate-easy # Change this to your device name friendly_name: TX Ultimate Easy packages: remote_package: url: https://github.com/edwardtfn/TX-Ultimate-Easy ref: main # For latest stable release files: - TX-Ultimate-Easy-ESPHome.yaml wifi: ssid: !secret wifi_ssid password: !secret wifi_password
You can also use a specific version tag for better control over updates:
ref: v2024.12.2 # Using specific version for controlled updates
Note: Click here for a full list of versions available.
-
Click "Save" and then "Install"
Initial flashing must be done via serial connection. We recommend using ESPHome Web for the simplest experience.
Important
SAFETY WARNINGS
- ALWAYS disconnect the device from mains power before opening
- NEVER work on the device while connected to mains power
- Ensure the device is completely powered off before making any connections
- Keep your workspace clean, dry, and static-free
- Use proper insulated tools when working with electronics
- If unsure about any step, seek help from an experienced person
Caution
⚡ CRITICAL: VOLTAGE WARNING Using a UART adapter with voltage higher than 3.3V WILL DAMAGE YOUR DEVICE. Double-check your adapter's voltage before connecting - many common FTDI adapters default to 5V which will permanently damage the ESP32 chip.
- USB-to-UART adapter:
- 3.3V logic level ONLY (DO NOT use 5V adapters)
- Must be capable of supplying at least 500mA
- Common adapters: CP2102, CH340, FTDI (ensure 3.3V setting)
- Small Phillips screwdriver
- 5 wires for connections (including one for BOOT to GND)
-
Open your TX Ultimate device carefully
-
Locate the programming header pins
-
Connect your USB-to-UART adapter:
Adapter Device GND GND 3.3V 3.3V TX RX RX TX -
Put device in flash mode:
- Temporarily connect the BOOT pin to GND using a jumper wire
- While holding BOOT to GND, power up the device
- After device powers up (wait a couple of seconds), remove the BOOT to GND connection
-
Visit ESPHome Web
-
Connect to your device and flash the firmware
-
After successful flash, device will restart and be ready for OTA updates
For step-by-step visual instructions, you can reference these existing guides:
- 🇬🇧 WirelessThings Guide - English guide with detailed photos
- 🇪🇸 Un loco y su tecnología - Spanish video tutorial
- 🇩🇪 SmartHome yourself - German video tutorial
Note: While these guides may use different firmware, the physical flashing process remains the same.
After initial flashing, all future updates can be done wirelessly (OTA) through the ESPHome dashboard in your ESPHome add-on.
After successful flashing:
- Ensure your device and Home Assistant are on the same network
- Device should be automatically discovered within 1–2 minutes
- Accept the discovery notification in Home Assistant to add device Note: If discovery takes longer than 5 minutes, proceed to troubleshooting steps
- Device will appear in your Home Assistant Devices dashboard
If the device isn't discovered automatically:
- Verify your device is powered and connected to your network:
- Look for the device in your router's client list
- Consider using manual IP in your device
- If you missed the discovery notification:
- Go to Settings → Devices & Services
- Click "Add Integration"
- Search for "ESPHome" and enter your device's IP address
- Still having issues?
- Check your network allows mDNS/discovery traffic
- Verify there are no VLANs or network isolation preventing communication
- Try rebooting both the device and Home Assistant
- In Home Assistant, navigate to:
- Settings → Devices & Services → ESPHome
- Click on your device to access its configuration page
- Set basic device parameters:
- Model format (EU/US)
- Number of gangs (1-4)
- Relay modes (switch/light)
- Button actions
- Optional: Configure advanced features
- LED behaviors
- Touch sensitivity
- Haptic feedback
- Audio feedback
- Test your configuration:
- Verify each relay responds to controls
- Test configured button actions
- Confirm LED behavior matches settings
- Check haptic/audio feedback if enabled
Note
Some changes may require a device restart
After installation, you can:
- Configure your device through Home Assistant UI
- Customize touch behaviors
- Set up LED patterns and effects
- Create automations
- Enable optional features like BLE proxy
TX Ultimate Easy offers extensive configuration options:
- Touch panel sensitivity and gestures
- LED colors, patterns, and behaviors
- Relay modes and functions
- Audio and haptic feedback settings
- Network and connectivity options
We welcome contributions from the community! Here's how you can help:
- Fork the repository
- Create a feature branch from
main
- Make your changes
- Submit a pull request targeting the
main
branch
Please ensure your code follows our standards:
- Passes all lint checks (YAML, C++, Markdown)
- Includes appropriate documentation
- Follows existing code style
Need help? Here are your options:
- Bug Reports & Feature Requests: Use GitHub Issues for all bug reports and feature requests
- Community Chat: Join our Discord Server for discussions and community interaction
- Support the Project: Consider supporting through Buy Me a Coffee
Note: For proper tracking and resolution:
- All bug reports and feature requests must be submitted through GitHub Issues, not Discord
- Submit issues here: Issues · edwardtfn/TX-Ultimate-Easy
This project builds upon the work of several amazing projects and contributors:
- SmartHome yourself - SONOFF TX Ultimate for ESPHome
- Un loco y su tecnología - Sonoff TX Ultimate with ESPHome
- @PxPert - Sonoff TX Ultimate and Voice Assistant
Special thanks to all contributors and community members who help make this project better.
This project is licensed under the MIT License - see the LICENSE file for details.