{"id":270421,"date":"2026-01-07T17:32:47","date_gmt":"2026-01-07T17:32:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tahoma-universal-control\/"},"modified":"2026-01-08T06:22:56","modified_gmt":"2026-01-08T06:22:56","slug":"universal-control-for-tahoma","status":"publish","type":"plugin","link":"https:\/\/en-gb.wordpress.org\/plugins\/universal-control-for-tahoma\/","author":5779233,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Universal Control for TaHoma","header_author":"globus2008","header_description":"Universal Gutenberg block to control Somfy TaHoma devices worldwide via Cloud API.","assets_banners_color":"f3c761","last_updated":"2026-01-08 06:22:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":181,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"globus2008","date":"2026-01-08 06:22:56"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3434582,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3434582,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3434577,"resolution":"772x250","location":"assets","locale":"","width":1536,"height":499}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3435385,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/post.php?post=5&action=edit\",\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"wp-cli\",\"command\":\"wp post create --post_title='Universal Control for TaHoma Demo' --post_content='<p><strong>Welcome to the demo!<\\\/strong><\\\/p><p>The plugin is active and ready. To test the functionality, please click the <strong>(+)<\\\/strong> button (Toggle block inserter) in the top left corner or inside the editor and search for the block named: <strong>Universal Control for TaHoma<\\\/strong>.<\\\/p><p>After inserting the block, click on it to reveal the configuration menu (colors, size, and device settings) in the right sidebar.<\\\/p>' --post_status=publish --import_id=5\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"universal-control-for-tahoma\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":{"create-block\/universal-control-for-tahoma":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"create-block\/universal-control-for-tahoma","version":"1.0.0","title":"Universal Control for TaHoma","category":"widgets","icon":"admin-home","description":"Control Somfy TaHoma devices worldwide via Cloud API.","attributes":{"universal_control_for_tahoma_email":{"type":"string","default":""},"universal_control_for_tahoma_password":{"type":"string","default":""},"universal_control_for_tahoma_server":{"type":"string","default":"www.tahomalink.com"},"universal_control_for_tahoma_deviceURL":{"type":"string","default":""},"universal_control_for_tahoma_deviceLabel":{"type":"string","default":""},"universal_control_for_tahoma_customLabel":{"type":"string","default":""},"universal_control_for_tahoma_uiClass":{"type":"string","default":""},"universal_control_for_tahoma_command":{"type":"string","default":"on"},"universal_control_for_tahoma_isToggle":{"type":"boolean","default":false},"universal_control_for_tahoma_width":{"type":"string","default":"100%"},"universal_control_for_tahoma_value":{"type":"number","default":0},"universal_control_for_tahoma_angle":{"type":"number","default":0},"universal_control_for_tahoma_bgColor":{"type":"string","default":"#007cba"},"universal_control_for_tahoma_textColor":{"type":"string","default":"#ffffff"},"universal_control_for_tahoma_borderWidth":{"type":"number","default":2},"universal_control_for_tahoma_borderColor":{"type":"string","default":"#ffffff"},"universal_control_for_tahoma_borderRadius":{"type":"number","default":5},"universal_control_for_tahoma_fontSize":{"type":"number","default":16}},"supports":{"html":false},"textdomain":"universal-control-for-tahoma","editorScript":"file:.\/index.js","viewScript":"file:.\/view.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css","render":"file:.\/render.php"}},"tagged_versions":["1.0.4"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3434559,"resolution":"1","location":"assets","locale":"","width":813,"height":670},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3434559,"resolution":"2","location":"assets","locale":"","width":301,"height":832},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3434559,"resolution":"3","location":"assets","locale":"","width":692,"height":458}},"screenshots":{"1":"Global Settings page in the WordPress admin.","2":"The TaHoma block in the Gutenberg editor with device selection.","3":"Live button on the frontend showing a Light status."}},"plugin_section":[],"plugin_tags":[569,253524,253521,253522,253523],"plugin_category":[],"plugin_contributors":[223566],"plugin_business_model":[],"class_list":["post-270421","plugin","type-plugin","status-publish","hentry","plugin_tags-automation","plugin_tags-overkiz","plugin_tags-smart-home","plugin_tags-somfy","plugin_tags-tahoma","plugin_contributors-globus2008","plugin_committers-globus2008"],"banners":{"banner":"https:\/\/ps.w.org\/universal-control-for-tahoma\/assets\/banner-772x250.jpg?rev=3434577","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/universal-control-for-tahoma\/assets\/icon-128x128.jpg?rev=3434582","icon_2x":"https:\/\/ps.w.org\/universal-control-for-tahoma\/assets\/icon-256x256.jpg?rev=3434582","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/universal-control-for-tahoma\/assets\/screenshot-1.jpg?rev=3434559","caption":"Global Settings page in the WordPress admin."},{"src":"https:\/\/ps.w.org\/universal-control-for-tahoma\/assets\/screenshot-2.jpg?rev=3434559","caption":"The TaHoma block in the Gutenberg editor with device selection."},{"src":"https:\/\/ps.w.org\/universal-control-for-tahoma\/assets\/screenshot-3.jpg?rev=3434559","caption":"Live button on the frontend showing a Light status."}],"raw_content":"<!--section=description-->\n<p>Universal Control for TaHoma is a powerful and lightweight WordPress plugin that allows you to integrate your Somfy TaHoma smart home directly into your website. Using the official Overkiz (Somfy) Cloud API, this block provides a seamless way to control lights, plugs, shutters, and gates.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li><strong>Global Settings:<\/strong> Enter your credentials once in the WordPress Settings and use them across all blocks.<\/li>\n<li><strong>Smart Status Tracking:<\/strong> Real-time device status (On\/Off, Position %) displayed directly on the button.<\/li>\n<li><strong>Smart Toggle Mode:<\/strong> Intelligent switching that knows whether to send \"Open\" or \"Close\" based on current state.<\/li>\n<li><strong>Performance First:<\/strong> Built-in session caching (Transient API) to prevent rate-limiting and IP bans from Somfy servers.<\/li>\n<li><strong>Multi-server Support:<\/strong> Works with standard TaHomalink and European Overkiz HA1 servers.<\/li>\n<li><strong>Privacy &amp; Security:<\/strong> Communication is handled server-side. Your credentials are never exposed to the frontend.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the Somfy TaHoma \/ Overkiz Cloud API to control smart home devices.<\/p>\n\n<ul>\n<li><strong>Service:<\/strong> Somfy TaHoma Cloud (Overkiz API)<\/li>\n<li><strong>Usage:<\/strong> Used to authenticate the user, list available devices, and send execution commands (e.g., open\/close shutters).<\/li>\n<li><strong>Data sent:<\/strong> User login credentials (email and password), server preference, and device identifiers (URLs). Credentials are sent encrypted via HTTPS.<\/li>\n<li><strong>Privacy and Terms:<\/strong>\n\n<ul>\n<li>Somfy Privacy Policy: https:\/\/www.somfy.com\/en-en\/privacy-policy<\/li>\n<li>Somfy Terms and Conditions: https:\/\/www.somfypro.co.uk\/general-conditions-of-sale<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>Source Code &amp; Build Instructions<\/h3>\n\n<p>The human-readable source code for this plugin is included in the <code>src\/<\/code> directory. To build the plugin from source:\n1. Install Node.js and npm.\n2. Run <code>npm install<\/code> in the plugin directory.\n3. Run <code>npm run build<\/code> to generate the production files in the <code>build\/<\/code> directory.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; TaHoma Control<\/strong> and enter your Somfy credentials.<\/li>\n<li>Add the <strong>Universal Control for TaHoma<\/strong> block to any page or post using the Gutenberg editor.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='why%20does%20my%20device%20not%20appear%20in%20the%20list%3F'><h3>Why does my device not appear in the list?<\/h3><\/dt>\n<dd><p>Ensure your device is supported. The plugin currently supports On\/Off Plugs, Lights, Roller Shutters, Venetian Blinds, Gates, and Garage Doors.<\/p><\/dd>\n<dt id='i%20see%20%22session%20expired%22%20or%20%22error%22%20on%20the%20button.'><h3>I see \"Session expired\" or \"Error\" on the button.<\/h3><\/dt>\n<dd><p>Check your credentials in the Global Settings. If you have too many blocks polling at once, Somfy might temporarily rate-limit your requests. The plugin uses caching to minimize this risk.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>New plugin name and slug<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Non-compiled version included in src folder<\/li>\n<li>Use of wp_enqueue commands<\/li>\n<li>Documented use of an external service in readme file<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Direct access protection.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Screens inserted.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Universal Gutenberg block to control Somfy TaHoma devices worldwide via Cloud API.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/270421","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=270421"}],"author":[{"embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/globus2008"}],"wp:attachment":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=270421"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=270421"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=270421"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=270421"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=270421"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=270421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}