{"id":17826704,"url":"https://github.com/blakadder/tx-ultimate","last_synced_at":"2025-04-02T12:16:22.836Z","repository":{"id":171774534,"uuid":"648393739","full_name":"blakadder/tx-ultimate","owner":"blakadder","description":"Berry driver for Sonoff TX Ultimate switch","archived":false,"fork":false,"pushed_at":"2024-02-10T23:59:05.000Z","size":21,"stargazers_count":10,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-08T03:16:15.187Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Berry","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blakadder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"blakadder","custom":["https://www.paypal.me/tasmotatemplates","blakadder.com"]}},"created_at":"2023-06-01T21:46:54.000Z","updated_at":"2024-07-01T16:35:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"61934a87-1e92-4e89-bd53-08916b33613f","html_url":"https://github.com/blakadder/tx-ultimate","commit_stats":null,"previous_names":["blakadder/tx-ultimate"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blakadder%2Ftx-ultimate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blakadder%2Ftx-ultimate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blakadder%2Ftx-ultimate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blakadder%2Ftx-ultimate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blakadder","download_url":"https://codeload.github.com/blakadder/tx-ultimate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246811310,"owners_count":20837752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-27T18:54:05.016Z","updated_at":"2025-04-02T12:16:22.817Z","avatar_url":"https://github.com/blakadder.png","language":"Berry","funding_links":["https://ko-fi.com/blakadder","https://www.paypal.me/tasmotatemplates","blakadder.com","https://ko-fi.com/S6S650JEK","https://paypal.me/tasmotatemplates"],"categories":[],"sub_categories":[],"readme":"# Tasmota Berry driver for Sonoff TX Ultimate\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/S6S650JEK) \u0026emsp; \u003ca href=\"https://paypal.me/tasmotatemplates\"\u003e\u003cimg src=\"https://img.shields.io/static/v1?logo=paypal\u0026label=\u0026message=Donate via PayPal\u0026color=slategrey\"\u003e\u003c/a\u003e\n\nBasic Berry driver for Sonoff TX Ultimate touch panel IC CA51F353S3. \n\nTX Ultimate is a touch switch with RGB LEDs, haptic motor and I2S audio speaker. It is available from [Sonoff's store](https://itead.cc/product/sonoff-tx-ultimate-smart-touch-wall-switch/ref/34) in 1, 2 and 3 gang versions.\n\nSee [Tasmota templates](https://templates.blakadder.com/sonoff_T5-1C-86.html) for configuration and other features like I2S audio, LEDs, haptic feedback and Matter support.\n\n## Functions\n\nQuick and dirty skeleton driver. All touch events are reported to a RESULT topic. There's a beginning of a command interface which will be expanded to have calibration of the touch channels.\n\nTouch panel is divided into 10 vertical segments or channels. \nIt has the following events: \n- touch event with position - triggers on each touch\n- short press \n- long press\n- multi touch - touching multiple channels at once\n- swipe left and right - has starting and ending coordinate\n- dash - shorter than swipe, usually moving from one channel to the adjacent one\n\nShown in console and in MQTT as:\n\n```\ntele/tasmota/RESULT = {\"TXUltimate\":{\"Action\":\"Touch\",\"Channel\":3}}\ntele/tasmota/RESULT = {\"TXUltimate\":{\"Action\":\"Multi\"}}\ntele/tasmota/RESULT = {\"TXUltimate\":{\"Action\":\"Short\",\"Channel\":4}}\ntele/tasmota/RESULT = {\"TXUltimate\":{\"Action\":\"Long\",\"Channel\":4}}\ntele/tasmota/RESULT = {\"TXUltimate\":{\"Action\":\"Swipe left\",\"From\":0,\"To\":252}}\n```\n\n## Serial Protocol\n\n| Field | Length (Byte) | Explanation\n| ---  | ---  | --- \n| Frame Header | 2 | 0xaa55\n| Version | 1 | 0x01 |\n| Opcode | 1 | Specific  command  type |\n| Data Length | 1 | Data  Length  0-64\n| Data | N | |\n| Checksum | 2 | CRC16 | CRC-16/CCITT-FALSE checksum  starting from the version byte\n\nExplanation:\nAll Data larger than one byte are transmitted in big-endian mode.\n\nIn general, a command-response synchronization mechanism is used, where the sender expects to receive a response packet corresponding to the sent command. If the sender does not receive a correct response packet within the specified timeout, it will trigger a timeout transmission.\n\n## Thanks to\nWould not be possible without the help of [smarthomeyourself.de](https://smarthomeyourself.de/) and his [esphome custom component](https://github.com/SmartHome-yourself/sonoff-tx-ultimate-for-esphome/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblakadder%2Ftx-ultimate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblakadder%2Ftx-ultimate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblakadder%2Ftx-ultimate/lists"}