<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.innovaphone.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kwa</id>
	<title>innovaphone wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.innovaphone.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kwa"/>
	<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Special:Contributions/Kwa"/>
	<updated>2026-09-11T12:16:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80479</id>
		<title>Howto:RoomStatus with XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80479"/>
		<updated>2026-09-10T15:24:18Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
This description is limited to the &amp;quot;Room Status&amp;quot; service. The integrated wake-up service during Check-out is described separately and is typically installed in the same folder and scenario.&lt;br /&gt;
&lt;br /&gt;
Enjoy reading.&lt;br /&gt;
==Applies To==&lt;br /&gt;
innovaphone PBX, V16 or higher&amp;lt;!-- Keywords: Room Status, Roomstatus, Hotel --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
In hotels, there is an operational division between service extensions (reception, back-office, bar, kitchen, etc.) and rooms. The reception also acts as an operator console routing incoming calls and features an innovaphone IP phone with a graphic display and function keys. Hereafter, &amp;quot;Reception&amp;quot; refers to all service extensions authorized to modify the Room Status (which may also include Smartphones). &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Activation:&#039;&#039;&#039; The Room Status service can be activated by the reception on behalf of a room or set directly from the room phone.&lt;br /&gt;
* &#039;&#039;&#039;Extension Control:&#039;&#039;&#039; The system prevents Room Status activation on a service extension by automatically detecting whether an extension is a room or not. This is handled via a PBX setting, matching the Room Status configuration	itself. Relying directly on the PBX configuration prevents misalignments and synchronization needs, ensuring all parameters are retained even after a reboot.&lt;br /&gt;
* &#039;&#039;&#039;Security:&#039;&#039;&#039; To prevent guests from modifying the status, the service can be protected by a PIN or code (prefix). Room phones (analog, innovaphone IP, third-party IP) can be of any type.&lt;br /&gt;
* &#039;&#039;&#039;Management &amp;amp;Monitoring:&#039;&#039;&#039; The service can be managed entirely via telephone,while the room statuses are displayed in the reception&#039;s myApps lamp field.&lt;br /&gt;
&lt;br /&gt;
[[Image:SpiegaItem.png|388x388px|spiegaitem.png/|spiegaitem.png/]]&lt;br /&gt;
&lt;br /&gt;
==Service Access==&lt;br /&gt;
&lt;br /&gt;
Access to the service requires a dedicated prefix for the reception and a specific prefix dialed from the rooms (by service staff). The caller hears a menu listing available options. If no selection is made, the service disconnects after 30 seconds. Users do not need to wait for the main menu announcement to finish; they can select the desired option immediately.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Reception Dialing:&#039;&#039;&#039;Receptionists must also dial the room number. If room numbers have a uniform length (e.g., strictly 2 or 3 digits), the service activatesautomatically after the last digit, followed by a confirmation and disconnection.&lt;br /&gt;
* &#039;&#039;&#039;Hash Confirmation:&#039;&#039;&#039;If the room number length is not configured, users must press thehash key (#) after the room number. The voice menu automatically indicateswhether the hash key is required. If no input is provided after 12 seconds, the system assumes the entered number is confirmed.&lt;br /&gt;
* &#039;&#039;&#039;Confirmation Prompt:&#039;&#039;&#039;Upon activation, the system repeats the room number and the service status. Users do not need to wait for the message to end since thestatus is already active; they can disconnect immediately.&lt;br /&gt;
&lt;br /&gt;
===Reception===&lt;br /&gt;
&lt;br /&gt;
The reception sets statuses for the rooms. If the selected extension is not a room, the message &amp;quot;Room not found&amp;quot; plays. This message also plays if non-configured internal extensions are dialed.&lt;br /&gt;
&lt;br /&gt;
Calling the service plays the main menu: &#039;&#039;&amp;quot;Dial zero for check out, one for check in, two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order, seven for do not disturb, eight to cancel do not disturb, asterisk for room status, followed by the room number.&amp;quot;&#039;&#039; If room number length is not set, it adds: &#039;&#039;&amp;quot;and confirm with hash.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If function keys for these services are configured on the reception phone, the menu is bypassed (as the service type is already selected). In this case, simply press the function key followed by the room number (with or without hash as described above).&lt;br /&gt;
&lt;br /&gt;
[[Image:I112 Checkinout.png|181x181px|i112_checkinout.png/|i112_checkinout.png/]]&lt;br /&gt;
&lt;br /&gt;
===Reception-Only Services===&lt;br /&gt;
&lt;br /&gt;
====Check IN (1)====&lt;br /&gt;
The room is opened to telephone traffic. &amp;quot;Open&amp;quot; means the room can make calls using hotel lines. Allowed destination numbers can be restricted (e.g., emergency only, national landlines only, Europe only, etc.). After a check-in, the myApps lamp field below the room displays &#039;&#039;&#039;&amp;quot;OCC&amp;quot;&#039;&#039;&#039; (occupied).&lt;br /&gt;
&lt;br /&gt;
====Check OUT (0)====&lt;br /&gt;
Telephone traffic from the room is blocked. Similar to check-in, the restriction level is configurable (total, internal only, emergency only, local/national only, etc.). Check-out sets the status to &#039;&#039;&#039;&amp;quot;LIB&amp;quot;&#039;&#039;&#039; (free) and &#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039; (dirty). After a check-out, the myApps lamp field displays &#039;&#039;&#039;&amp;quot;LIB-Sporca&amp;quot;&#039;&#039;&#039;. Any active &amp;quot;Do Not Disturb&amp;quot; setting is automatically cleared, and any active innovaphone wake-up calls are removed, leaving the room ready with no active DND or wake-up calls for the next guest.&lt;br /&gt;
&lt;br /&gt;
====Do Not Disturb (7)====&lt;br /&gt;
All calls to the room are forwarded to reception. Reception sees the caller and the room that attempted to call. Only reception can call the room (overriding DND). The myApps lamp field displays an &amp;quot;X&amp;quot; instead of a &amp;quot;-&amp;quot;; (e.g., &#039;&#039;&#039;&amp;quot;OCCxPulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Cancel Do Not Disturb (8)====&lt;br /&gt;
This happens automatically at check-out but can also be manually set by reception for a room. The myApps lamp field displays a &amp;quot;-&amp;quot; instead of an &amp;quot;X&amp;quot;; (e.g., &#039;&#039;&#039;&amp;quot;OCC-Pulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Room Status (*)====&lt;br /&gt;
Announces the current room status (Check in/out, Room status, and any active Do Not Disturb setting).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Shared Services (Reception and Rooms)===&lt;br /&gt;
&lt;br /&gt;
These statuses can be set by reception or directly from the room phone, regardless of whether the room is checked-in or checked-out, and with or without DND active. Dialing the service from a room plays the main menu: &#039;&#039;&amp;quot;Dial two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order&amp;quot;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Clean Room (2)====&lt;br /&gt;
Indicates a dirty room has been cleaned. Reception sees in real-time that the room is clean and available. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Pronta&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Dirty Room (3)====&lt;br /&gt;
Set automatically upon check-out or manually. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Room Makeup (4)====&lt;br /&gt;
Cleaning staff can set this when starting housekeeping tasks, making staff traceable by calling the room. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Makeup&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Maintenance Requested (5)====&lt;br /&gt;
Indicates the need for maintenance. myApps lamp field displays &#039;&#039;&#039;&amp;quot;xxx-Manuten&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Out of Order (6)====&lt;br /&gt;
Indicates a room unavailable for guests. myApps lamp field displays &#039;&#039;&#039;&amp;quot;xxx-NonDis&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
The entire package must be installed in a folder named &amp;amp;lt;code&amp;amp;gt;Files&amp;amp;lt;/code&amp;amp;gt;. If the wake-up service is also active, install it within the wake-up folder.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML Files:&#039;&#039;&#039; Two XML files are included: &amp;quot;CheckInOut.xml&amp;quot; (manages the reception side) and &amp;quot;RoomStatus.xml&amp;quot; (called by rooms).&lt;br /&gt;
* &#039;&#039;&#039;Audio Files:&#039;&#039;&#039; All audio files are located in the &amp;quot;AudioRS&amp;quot; subfolder and are provided exclusively in &#039;&#039;&#039;G.711a&#039;&#039;&#039; format to ensure high quality. Therefore, this codec must be set as exclusive in the command line, for example:  &#039;&#039;&amp;lt;nowiki&amp;gt;http://apps.test.local/test.local/files/root/Hotel/CheckInOut.xml&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;?$_pbxcoder=g711a&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Parameter Text Files:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;RoomLenght.txt&amp;quot; Set the length of room numbers, e.g. &amp;quot;3&amp;quot; for 3-digit rooms. If set to &amp;quot;0&amp;quot;, left empty, or deleted, the system requires the hash key after entering the number.&lt;br /&gt;
** &amp;quot;reception.txt&amp;quot; Set the reception extension number where calls will be forwarded if Do Not Disturb is activated.&lt;br /&gt;
* &#039;&#039;&#039;PBX Filters:&#039;&#039;&#039; The system distinguishes rooms from non-rooms using an associated filter. Ensure that all rooms are assigned either the &#039;&#039;&#039;CheckOUT&#039;&#039;&#039; or &#039;&#039;&#039;CheckIN&#039;&#039;&#039; filter in their configuration. Create these two filters (PBX &amp;gt; Filters) with those exact names and configure their rules for the respective states. It is convenient to configure a template for rooms and associate it with them, then assign one of these two filters directly in the user setup (this will serve as the initial system state for that user). Once functional, proceed to configure the reception function keys (direct dial).&lt;br /&gt;
&lt;br /&gt;
==Localization==&lt;br /&gt;
&lt;br /&gt;
This script is delivered with Italian prompts, but you can produce your own prompts and wordings. How see the link at the end of this page. &lt;br /&gt;
The filename and prompts are the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;File Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Content /				Message&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|x.g711a&lt;br /&gt;
|Digits 0 to 59&lt;br /&gt;
|-&lt;br /&gt;
|NoRoom.g711&lt;br /&gt;
|&amp;quot;Room not found&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|NumRoom.g711a&lt;br /&gt;
|&amp;quot;Room number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|InvalidC.g711a&lt;br /&gt;
|&amp;quot;Invalid command&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|CheckedIN.g711a&lt;br /&gt;
|&amp;quot;Check IN&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|CheckrdOUT.g711a&lt;br /&gt;
|&amp;quot;Check OUT&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomStat.g711a&lt;br /&gt;
|&amp;quot;Room status&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|MMenu.g711a&lt;br /&gt;
|&amp;quot;Dial zero for check out, one for check in, two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of	order, seven for do not disturb, eight to cancel do not disturb, asterisk for room status, followed by the room number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomToClean.g711a&lt;br /&gt;
|&amp;quot;Dirty room&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomClean.g711a&lt;br /&gt;
|&amp;quot;Clean room&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomMakeup.g711a&lt;br /&gt;
|&amp;quot;Room makeup&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomMaint.g711a&lt;br /&gt;
|&amp;quot;Maintenance requested&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomOOO.g711a&lt;br /&gt;
|&amp;quot;Out of order&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|InvalidNumber.g711a&lt;br /&gt;
|&amp;quot;Invalid number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|DNDon.g711a&lt;br /&gt;
|&amp;quot;Do not disturb set&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|DNDoff.g711a&lt;br /&gt;
|&amp;quot;Do not disturb cleared&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|MroomSt.g711a&lt;br /&gt;
|&amp;quot;Dial two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
[[Media:RoomStatus.zip|RoomStatus.zip]]&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
[[Howto:WakeUp App - Installation and Configuration|WakeUp App - Installation_and_Configuration]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Creating fine announcements and music on hold|Creating fine announcements and music on hold]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80478</id>
		<title>Howto:RoomStatus with XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80478"/>
		<updated>2026-09-10T15:13:46Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
This description is limited to the &amp;quot;Room Status&amp;quot; service. The integrated wake-up service during Check-out is described separately and is typically installed in the same folder and scenario.&lt;br /&gt;
&lt;br /&gt;
Enjoy reading.&lt;br /&gt;
==Applies To==&lt;br /&gt;
innovaphone PBX, V16 or higher&amp;lt;!-- Keywords: Room Status, Roomstatus, Hotel --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
In hotels, there is an operational division between service extensions (reception, back-office, bar, kitchen, etc.) and rooms. The reception also acts as an operator console routing incoming calls and features an innovaphone IP phone with a graphic display and function keys. Hereafter, &amp;quot;Reception&amp;quot; refers to all service extensions authorized to modify the Room Status (which may also include Smartphones). &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Activation:&#039;&#039;&#039; The Room Status service can be activated by the reception on behalf of a room or set directly from the room phone.&lt;br /&gt;
* &#039;&#039;&#039;Extension Control:&#039;&#039;&#039; The system prevents Room Status activation on a service extension by automatically detecting whether an extension is a room or not. This is handled via a PBX setting, matching the Room Status configuration	itself. Relying directly on the PBX configuration prevents misalignments and synchronization needs, ensuring all parameters are retained even after a reboot.&lt;br /&gt;
* &#039;&#039;&#039;Security:&#039;&#039;&#039; To prevent guests from modifying the status, the service can be protected by a PIN or code (prefix). Room phones (analog, innovaphone IP, third-party IP) can be of any type.&lt;br /&gt;
* &#039;&#039;&#039;Management &amp;amp;Monitoring:&#039;&#039;&#039; The service can be managed entirely via telephone,while the room statuses are displayed in the reception&#039;s myApps lamp field.&lt;br /&gt;
&lt;br /&gt;
[[Image:SpiegaItem.png|388x388px|spiegaitem.png/|spiegaitem.png/]]&lt;br /&gt;
&lt;br /&gt;
==Service Access==&lt;br /&gt;
&lt;br /&gt;
Access to the service requires a dedicated prefix for the reception and a specific prefix dialed from the rooms (by service staff). The caller hears a menu listing available options. If no selection is made, the service disconnects after 30 seconds. Users do not need to wait for the main menu announcement to finish; they can select the desired option immediately.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Reception Dialing:&#039;&#039;&#039;Receptionists must also dial the room number. If room numbers have a uniform length (e.g., strictly 2 or 3 digits), the service activatesautomatically after the last digit, followed by a confirmation and disconnection.&lt;br /&gt;
* &#039;&#039;&#039;Hash Confirmation:&#039;&#039;&#039;If the room number length is not configured, users must press thehash key (#) after the room number. The voice menu automatically indicateswhether the hash key is required. If no input is provided after 12 seconds, the system assumes the entered number is confirmed.&lt;br /&gt;
* &#039;&#039;&#039;Confirmation Prompt:&#039;&#039;&#039;Upon activation, the system repeats the room number and the service status. Users do not need to wait for the message to end since thestatus is already active; they can disconnect immediately.&lt;br /&gt;
&lt;br /&gt;
===Reception===&lt;br /&gt;
&lt;br /&gt;
The reception sets statuses for the rooms. If the selected extension is not a room, the message &amp;quot;Room not found&amp;quot; plays. This message also plays if non-configured internal extensions are dialed.&lt;br /&gt;
&lt;br /&gt;
Calling the service plays the main menu: &#039;&#039;&amp;quot;Dial zero for check out, one for check in, two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order, seven for do not disturb, eight to cancel do not disturb, asterisk for room status, followed by the room number.&amp;quot;&#039;&#039; If room number length is not set, it adds: &#039;&#039;&amp;quot;and confirm with hash.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If function keys for these services are configured on the reception phone, the menu is bypassed (as the service type is already selected). In this case, simply press the function key followed by the room number (with or without hash as described above).&lt;br /&gt;
&lt;br /&gt;
[[Image:I112 Checkinout.png|181x181px|i112_checkinout.png/|i112_checkinout.png/]]&lt;br /&gt;
&lt;br /&gt;
===Reception-Only Services===&lt;br /&gt;
&lt;br /&gt;
====Check IN (1)====&lt;br /&gt;
The room is opened to telephone traffic. &amp;quot;Open&amp;quot; means the room can make calls using hotel lines. Allowed destination numbers can be restricted (e.g., emergency only, national landlines only, Europe only, etc.). After a check-in, the myApps lamp field below the room displays &#039;&#039;&#039;&amp;quot;OCC&amp;quot;&#039;&#039;&#039; (occupied).&lt;br /&gt;
&lt;br /&gt;
====Check OUT (0)====&lt;br /&gt;
Telephone traffic from the room is blocked. Similar to check-in, the restriction level is configurable (total, internal only, emergency only, local/national only, etc.). Check-out sets the status to &#039;&#039;&#039;&amp;quot;LIB&amp;quot;&#039;&#039;&#039; (free) and &#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039; (dirty). After a check-out, the myApps lamp field displays &#039;&#039;&#039;&amp;quot;LIB-Sporca&amp;quot;&#039;&#039;&#039;. Any active &amp;quot;Do Not Disturb&amp;quot; setting is automatically cleared, and any active innovaphone wake-up calls are removed, leaving the room ready with no active DND or wake-up calls for the next guest.&lt;br /&gt;
&lt;br /&gt;
====Do Not Disturb (7)====&lt;br /&gt;
All calls to the room are forwarded to reception. Reception sees the caller and the room that attempted to call. Only reception can call the room (overriding DND). The myApps lamp field displays an &amp;quot;X&amp;quot; instead of a &amp;quot;-&amp;quot;; (e.g., &#039;&#039;&#039;&amp;quot;OCCxPulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Cancel Do Not Disturb (8)====&lt;br /&gt;
This happens automatically at check-out but can also be manually set by reception for a room. The myApps lamp field displays a &amp;quot;-&amp;quot; instead of an &amp;quot;X&amp;quot;; (e.g., &#039;&#039;&#039;&amp;quot;OCC-Pulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Room Status (*)====&lt;br /&gt;
Announces the current room status (Check in/out, Room status, and any active Do Not Disturb setting).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Shared Services (Reception and Rooms)===&lt;br /&gt;
&lt;br /&gt;
These statuses can be set by reception or directly from the room phone, regardless of whether the room is checked-in or checked-out, and with or without DND active. Dialing the service from a room plays the main menu: &#039;&#039;&amp;quot;Dial two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order&amp;quot;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Clean Room (2)====&lt;br /&gt;
Indicates a dirty room has been cleaned. Reception sees in real-time that the room is clean and available. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Pronta&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Dirty Room (3)====&lt;br /&gt;
Set automatically upon check-out or manually. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Room Makeup (4)====&lt;br /&gt;
Cleaning staff can set this when starting housekeeping tasks, making staff traceable by calling the room. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Makeup&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Maintenance Requested (5)====&lt;br /&gt;
Indicates the need for maintenance. myApps lamp field displays &#039;&#039;&#039;&amp;quot;xxx-Manuten&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Out of Order (6)====&lt;br /&gt;
Indicates a room unavailable for guests. myApps lamp field displays &#039;&#039;&#039;&amp;quot;xxx-NonDis&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
The entire package must be installed in a folder named &amp;amp;lt;code&amp;amp;gt;Files&amp;amp;lt;/code&amp;amp;gt;. If the wake-up service is also active, install it within the wake-up folder.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML Files:&#039;&#039;&#039; Two XML files are included: &amp;quot;CheckInOut.xml&amp;quot; (manages the reception side) and &amp;quot;RoomStatus.xml&amp;quot; (called by rooms).&lt;br /&gt;
* &#039;&#039;&#039;Audio Files:&#039;&#039;&#039; All audio files are located in the &amp;quot;AudioRS&amp;quot; subfolder and are provided exclusively in &#039;&#039;&#039;G.711a&#039;&#039;&#039; format to ensure high quality. Therefore, this codec must be set as exclusive in the command line, for example:  &#039;&#039;&amp;lt;nowiki&amp;gt;http://apps.test.local/test.local/files/root/Hotel/CheckInOut.xml&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;?$_pbxcoder=g711a&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Parameter Text Files:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;RoomLenght.txt&amp;quot; Set the length of room numbers, e.g. &amp;quot;3&amp;quot; for 3-digit rooms. If set to &amp;quot;0&amp;quot;, left empty, or deleted, the system requires the hash key after entering the number.&lt;br /&gt;
** &amp;quot;reception.txt&amp;quot; Set the reception extension number where calls will be forwarded if Do Not Disturb is activated.&lt;br /&gt;
* &#039;&#039;&#039;PBX Filters:&#039;&#039;&#039; The system distinguishes rooms from non-rooms using an associated filter. Ensure that all rooms are assigned either the &#039;&#039;&#039;CheckOUT&#039;&#039;&#039; or &#039;&#039;&#039;CheckIN&#039;&#039;&#039; filter in their configuration. Create these two filters (PBX &amp;gt; Filters) with those exact names and configure their rules for the respective states. It is convenient to configure a template for rooms and associate it with them, then assign one of these two filters directly in the user setup (this will serve as the initial system state for that user). Once functional, proceed to configure the reception function keys (direct dial).&lt;br /&gt;
&lt;br /&gt;
==Localization==&lt;br /&gt;
&lt;br /&gt;
This script is delivered with Italian prompts, but you can produce your own prompts and wordings. How see the link at the end of this page. &lt;br /&gt;
The filename and prompts are the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;File Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Content /				Message&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|x.g711a&lt;br /&gt;
|Digits 0 to 59&lt;br /&gt;
|-&lt;br /&gt;
|NoRoom.g711&lt;br /&gt;
|&amp;quot;Room not found&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|NumRoom.g711a&lt;br /&gt;
|&amp;quot;Room number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|InvalidC.g711a&lt;br /&gt;
|&amp;quot;Invalid command&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|CheckedIN.g711a&lt;br /&gt;
|&amp;quot;Check IN&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|CheckrdOUT.g711a&lt;br /&gt;
|&amp;quot;Check OUT&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomStat.g711a&lt;br /&gt;
|&amp;quot;Room status&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|MMenu.g711a&lt;br /&gt;
|&amp;quot;Dial zero for check out, one for check in, two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of	order, seven for do not disturb, eight to cancel do not disturb, asterisk for room status, followed by the room number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomToClean.g711a&lt;br /&gt;
|&amp;quot;Dirty room&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomClean.g711a&lt;br /&gt;
|&amp;quot;Clean room&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomMakeup.g711a&lt;br /&gt;
|&amp;quot;Room makeup&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomMaint.g711a&lt;br /&gt;
|&amp;quot;Maintenance requested&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomOOO.g711a&lt;br /&gt;
|&amp;quot;Out of order&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|InvalidNumber.g711a&lt;br /&gt;
|&amp;quot;Invalid number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|DNDon.g711a&lt;br /&gt;
|&amp;quot;Do not disturb set&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|DNDoff.g711a&lt;br /&gt;
|&amp;quot;Do not disturb cleared&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|MroomSt.g711a&lt;br /&gt;
|&amp;quot;Dial two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
[[index.php?title=Media:RoomStatus.zip|RoomStatus.zip]]&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
[[Howto:WakeUp App - Installation and Configuration|WakeUp App - Installation_and_Configuration]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Creating fine announcements and music on hold|Creating fine announcements and music on hold]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80477</id>
		<title>Howto:RoomStatus with XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80477"/>
		<updated>2026-09-10T15:12:05Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=DRAFT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This description is limited to the &amp;quot;Room Status&amp;quot; service. The integrated wake-up service during Check-out is described separately and is typically installed in the same folder and scenario.&lt;br /&gt;
&lt;br /&gt;
Enjoy reading.&lt;br /&gt;
==Applies To==&lt;br /&gt;
innovaphone PBX, V16 or higher&amp;lt;!-- Keywords: Room Status, Roomstatus, Hotel --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
In hotels, there is an operational division between service extensions (reception, back-office, bar, kitchen, etc.) and rooms. The reception also acts as an operator console routing incoming calls and features an innovaphone IP phone with a graphic display and function keys. Hereafter, &amp;quot;Reception&amp;quot; refers to all service extensions authorized to modify the Room Status (which may also include Smartphones). &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Activation:&#039;&#039;&#039; The Room Status service can be activated by the reception on behalf of a room or set directly from the room phone.&lt;br /&gt;
* &#039;&#039;&#039;Extension Control:&#039;&#039;&#039; The system prevents Room Status activation on a service extension by automatically detecting whether an extension is a room or not. This is handled via a PBX setting, matching the Room Status configuration	itself. Relying directly on the PBX configuration prevents misalignments and synchronization needs, ensuring all parameters are retained even after a reboot.&lt;br /&gt;
* &#039;&#039;&#039;Security:&#039;&#039;&#039; To prevent guests from modifying the status, the service can be protected by a PIN or code (prefix). Room phones (analog, innovaphone IP, third-party IP) can be of any type.&lt;br /&gt;
* &#039;&#039;&#039;Management &amp;amp;Monitoring:&#039;&#039;&#039; The service can be managed entirely via telephone,while the room statuses are displayed in the reception&#039;s myApps lamp field.&lt;br /&gt;
&lt;br /&gt;
[[Image:SpiegaItem.png|388x388px|spiegaitem.png/|spiegaitem.png/]]&lt;br /&gt;
&lt;br /&gt;
==Service Access==&lt;br /&gt;
&lt;br /&gt;
Access to the service requires a dedicated prefix for the reception and a specific prefix dialed from the rooms (by service staff). The caller hears a menu listing available options. If no selection is made, the service disconnects after 30 seconds. Users do not need to wait for the main menu announcement to finish; they can select the desired option immediately.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Reception Dialing:&#039;&#039;&#039;Receptionists must also dial the room number. If room numbers have a uniform length (e.g., strictly 2 or 3 digits), the service activatesautomatically after the last digit, followed by a confirmation and disconnection.&lt;br /&gt;
* &#039;&#039;&#039;Hash Confirmation:&#039;&#039;&#039;If the room number length is not configured, users must press thehash key (#) after the room number. The voice menu automatically indicateswhether the hash key is required. If no input is provided after 12 seconds, the system assumes the entered number is confirmed.&lt;br /&gt;
* &#039;&#039;&#039;Confirmation Prompt:&#039;&#039;&#039;Upon activation, the system repeats the room number and the service status. Users do not need to wait for the message to end since thestatus is already active; they can disconnect immediately.&lt;br /&gt;
&lt;br /&gt;
===Reception===&lt;br /&gt;
&lt;br /&gt;
The reception sets statuses for the rooms. If the selected extension is not a room, the message &amp;quot;Room not found&amp;quot; plays. This message also plays if non-configured internal extensions are dialed.&lt;br /&gt;
&lt;br /&gt;
Calling the service plays the main menu: &#039;&#039;&amp;quot;Dial zero for check out, one for check in, two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order, seven for do not disturb, eight to cancel do not disturb, asterisk for room status, followed by the room number.&amp;quot;&#039;&#039; If room number length is not set, it adds: &#039;&#039;&amp;quot;and confirm with hash.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If function keys for these services are configured on the reception phone, the menu is bypassed (as the service type is already selected). In this case, simply press the function key followed by the room number (with or without hash as described above).&lt;br /&gt;
&lt;br /&gt;
[[Image:I112 Checkinout.png|181x181px|i112_checkinout.png/|i112_checkinout.png/]]&lt;br /&gt;
&lt;br /&gt;
===Reception-Only Services===&lt;br /&gt;
&lt;br /&gt;
====Check IN (1)====&lt;br /&gt;
The room is opened to telephone traffic. &amp;quot;Open&amp;quot; means the room can make calls using hotel lines. Allowed destination numbers can be restricted (e.g., emergency only, national landlines only, Europe only, etc.). After a check-in, the myApps lamp field below the room displays &#039;&#039;&#039;&amp;quot;OCC&amp;quot;&#039;&#039;&#039; (occupied).&lt;br /&gt;
&lt;br /&gt;
====Check OUT (0)====&lt;br /&gt;
Telephone traffic from the room is blocked. Similar to check-in, the restriction level is configurable (total, internal only, emergency only, local/national only, etc.). Check-out sets the status to &#039;&#039;&#039;&amp;quot;LIB&amp;quot;&#039;&#039;&#039; (free) and &#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039; (dirty). After a check-out, the myApps lamp field displays &#039;&#039;&#039;&amp;quot;LIB-Sporca&amp;quot;&#039;&#039;&#039;. Any active &amp;quot;Do Not Disturb&amp;quot; setting is automatically cleared, and any active innovaphone wake-up calls are removed, leaving the room ready with no active DND or wake-up calls for the next guest.&lt;br /&gt;
&lt;br /&gt;
====Do Not Disturb (7)====&lt;br /&gt;
All calls to the room are forwarded to reception. Reception sees the caller and the room that attempted to call. Only reception can call the room (overriding DND). The myApps lamp field displays an &amp;quot;X&amp;quot; instead of a &amp;quot;-&amp;quot;; (e.g., &#039;&#039;&#039;&amp;quot;OCCxPulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Cancel Do Not Disturb (8)====&lt;br /&gt;
This happens automatically at check-out but can also be manually set by reception for a room. The myApps lamp field displays a &amp;quot;-&amp;quot; instead of an &amp;quot;X&amp;quot;; (e.g., &#039;&#039;&#039;&amp;quot;OCC-Pulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Room Status (*)====&lt;br /&gt;
Announces the current room status (Check in/out, Room status, and any active Do Not Disturb setting).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Shared Services (Reception and Rooms)===&lt;br /&gt;
&lt;br /&gt;
These statuses can be set by reception or directly from the room phone, regardless of whether the room is checked-in or checked-out, and with or without DND active. Dialing the service from a room plays the main menu: &#039;&#039;&amp;quot;Dial two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order&amp;quot;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Clean Room (2)====&lt;br /&gt;
Indicates a dirty room has been cleaned. Reception sees in real-time that the room is clean and available. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Pronta&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Dirty Room (3)====&lt;br /&gt;
Set automatically upon check-out or manually. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Room Makeup (4)====&lt;br /&gt;
Cleaning staff can set this when starting housekeeping tasks, making staff traceable by calling the room. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Makeup&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Maintenance Requested (5)====&lt;br /&gt;
Indicates the need for maintenance. myApps lamp field displays &#039;&#039;&#039;&amp;quot;xxx-Manuten&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Out of Order (6)====&lt;br /&gt;
Indicates a room unavailable for guests. myApps lamp field displays &#039;&#039;&#039;&amp;quot;xxx-NonDis&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
The entire package must be installed in a folder named &amp;amp;lt;code&amp;amp;gt;Files&amp;amp;lt;/code&amp;amp;gt;. If the wake-up service is also active, install it within the wake-up folder.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML Files:&#039;&#039;&#039; Two XML files are included: &amp;quot;CheckInOut.xml&amp;quot; (manages the reception side) and &amp;quot;RoomStatus.xml&amp;quot; (called by rooms).&lt;br /&gt;
* &#039;&#039;&#039;Audio Files:&#039;&#039;&#039; All audio files are located in the &amp;quot;AudioRS&amp;quot; subfolder and are provided exclusively in &#039;&#039;&#039;G.711a&#039;&#039;&#039; format to ensure high quality. Therefore, this codec must be set as exclusive in the command line, for example:  &#039;&#039;&amp;lt;nowiki&amp;gt;http://apps.test.local/test.local/files/root/Hotel/CheckInOut.xml&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;?$_pbxcoder=g711a&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Parameter Text Files:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;RoomLenght.txt&amp;quot; Set the length of room numbers, e.g. &amp;quot;3&amp;quot; for 3-digit rooms. If set to &amp;quot;0&amp;quot;, left empty, or deleted, the system requires the hash key after entering the number.&lt;br /&gt;
** &amp;quot;reception.txt&amp;quot; Set the reception extension number where calls will be forwarded if Do Not Disturb is activated.&lt;br /&gt;
* &#039;&#039;&#039;PBX Filters:&#039;&#039;&#039; The system distinguishes rooms from non-rooms using an associated filter. Ensure that all rooms are assigned either the &#039;&#039;&#039;CheckOUT&#039;&#039;&#039; or &#039;&#039;&#039;CheckIN&#039;&#039;&#039; filter in their configuration. Create these two filters (PBX &amp;gt; Filters) with those exact names and configure their rules for the respective states. It is convenient to configure a template for rooms and associate it with them, then assign one of these two filters directly in the user setup (this will serve as the initial system state for that user). Once functional, proceed to configure the reception function keys (direct dial).&lt;br /&gt;
&lt;br /&gt;
==Localization==&lt;br /&gt;
&lt;br /&gt;
This script is delivered with Italian prompts, but you can produce your own prompts and wordings. How see the link at the end of this page. &lt;br /&gt;
The filename and prompts are the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;File Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Content /				Message&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|x.g711a&lt;br /&gt;
|Digits 0 to 59&lt;br /&gt;
|-&lt;br /&gt;
|NoRoom.g711&lt;br /&gt;
|&amp;quot;Room not found&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|NumRoom.g711a&lt;br /&gt;
|&amp;quot;Room number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|InvalidC.g711a&lt;br /&gt;
|&amp;quot;Invalid command&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|CheckedIN.g711a&lt;br /&gt;
|&amp;quot;Check IN&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|CheckrdOUT.g711a&lt;br /&gt;
|&amp;quot;Check OUT&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomStat.g711a&lt;br /&gt;
|&amp;quot;Room status&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|MMenu.g711a&lt;br /&gt;
|&amp;quot;Dial zero for check out, one for check in, two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of	order, seven for do not disturb, eight to cancel do not disturb, asterisk for room status, followed by the room number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomToClean.g711a&lt;br /&gt;
|&amp;quot;Dirty room&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomClean.g711a&lt;br /&gt;
|&amp;quot;Clean room&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomMakeup.g711a&lt;br /&gt;
|&amp;quot;Room makeup&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomMaint.g711a&lt;br /&gt;
|&amp;quot;Maintenance requested&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomOOO.g711a&lt;br /&gt;
|&amp;quot;Out of order&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|InvalidNumber.g711a&lt;br /&gt;
|&amp;quot;Invalid number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|DNDon.g711a&lt;br /&gt;
|&amp;quot;Do not disturb set&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|DNDoff.g711a&lt;br /&gt;
|&amp;quot;Do not disturb cleared&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|MroomSt.g711a&lt;br /&gt;
|&amp;quot;Dial two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
[[Media:RoomStatus.zip|RoomStatus.zip]]&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
[[Howto:WakeUp App - Installation and Configuration|WakeUp App - Installation_and_Configuration]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Creating fine announcements and music on hold|Creating fine announcements and music on hold]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80476</id>
		<title>Howto:RoomStatus with XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80476"/>
		<updated>2026-09-10T15:10:23Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=DRAFT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This description is limited to the &amp;quot;Room Status&amp;quot; service. The integrated wake-up service during Check-out is described separately and is typically installed in the same folder and scenario.&lt;br /&gt;
&lt;br /&gt;
Enjoy reading.&lt;br /&gt;
==Applies To==&lt;br /&gt;
innovaphone PBX, V16 or higher&amp;lt;!-- Keywords: Room Status, Roomstatus, Hotel --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
In hotels, there is an operational division between service extensions (reception, back-office, bar, kitchen, etc.) and rooms. The reception also acts as an operator console routing incoming calls and features an innovaphone IP phone with a graphic display and function keys. Hereafter, &amp;quot;Reception&amp;quot; refers to all service extensions authorized to modify the Room Status (which may also include Smartphones). &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Activation:&#039;&#039;&#039; The Room Status service can be activated by the reception on behalf of a room or set directly from the room phone.&lt;br /&gt;
* &#039;&#039;&#039;Extension Control:&#039;&#039;&#039; The system prevents Room Status activation on a service extension by automatically detecting whether an extension is a room or not. This is handled via a PBX setting, matching the Room Status configuration	itself. Relying directly on the PBX configuration prevents misalignments and synchronization needs, ensuring all parameters are retained even after a reboot.&lt;br /&gt;
* &#039;&#039;&#039;Security:&#039;&#039;&#039; To prevent guests from modifying the status, the service can be protected by a PIN or code (prefix). Room phones (analog, innovaphone IP, third-party IP) can be of any type.&lt;br /&gt;
* &#039;&#039;&#039;Management &amp;amp;Monitoring:&#039;&#039;&#039; The service can be managed entirely via telephone,while the room statuses are displayed in the reception&#039;s myApps lamp field.&lt;br /&gt;
&lt;br /&gt;
[[Image:SpiegaItem.png|388x388px|spiegaitem.png/|spiegaitem.png/]]&lt;br /&gt;
&lt;br /&gt;
==Service Access==&lt;br /&gt;
&lt;br /&gt;
Access to the service requires a dedicated prefix for the reception and a specific prefix dialed from the rooms (by service staff). The caller hears a menu listing available options. If no selection is made, the service disconnects after 30 seconds. Users do not need to wait for the main menu announcement to finish; they can select the desired option immediately.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Reception Dialing:&#039;&#039;&#039;Receptionists must also dial the room number. If room numbers have a uniform length (e.g., strictly 2 or 3 digits), the service activatesautomatically after the last digit, followed by a confirmation and disconnection.&lt;br /&gt;
* &#039;&#039;&#039;Hash Confirmation:&#039;&#039;&#039;If the room number length is not configured, users must press thehash key (#) after the room number. The voice menu automatically indicateswhether the hash key is required. If no input is provided after 12 seconds, the system assumes the entered number is confirmed.&lt;br /&gt;
* &#039;&#039;&#039;Confirmation Prompt:&#039;&#039;&#039;Upon activation, the system repeats the room number and the service status. Users do not need to wait for the message to end since thestatus is already active; they can disconnect immediately.&lt;br /&gt;
&lt;br /&gt;
===Reception===&lt;br /&gt;
&lt;br /&gt;
The reception sets statuses for the rooms. If the selected extension is not a room, the message &amp;quot;Room not found&amp;quot; plays. This message also plays if non-configured internal extensions are dialed.&lt;br /&gt;
&lt;br /&gt;
Calling the service plays the main menu: &#039;&#039;&amp;quot;Dial zero for check out, one for check in, two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order, seven for do not disturb, eight to cancel do not disturb, asterisk for room status, followed by the room number.&amp;quot;&#039;&#039; If room number length is not set, it adds: &#039;&#039;&amp;quot;and confirm with hash.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If function keys for these services are configured on the reception phone, the menu is bypassed (as the service type is already selected). In this case, simply press the function key followed by the room number (with or without hash as described above).&lt;br /&gt;
&lt;br /&gt;
[[Image:I112 Checkinout.png|181x181px|i112_checkinout.png/|i112_checkinout.png/]]&lt;br /&gt;
&lt;br /&gt;
===Reception-Only Services===&lt;br /&gt;
&lt;br /&gt;
====Check IN (1)====&lt;br /&gt;
The room is opened to telephone traffic. &amp;quot;Open&amp;quot; means the room can make calls using hotel lines. Allowed destination numbers can be restricted (e.g., emergency only, national landlines only, Europe only, etc.). After a check-in, the myApps lamp field below the room displays &#039;&#039;&#039;&amp;quot;OCC&amp;quot;&#039;&#039;&#039; (occupied).&lt;br /&gt;
&lt;br /&gt;
====Check OUT (0)====&lt;br /&gt;
Telephone traffic from the room is blocked. Similar to check-in, the restriction level is configurable (total, internal only, emergency only, local/national only, etc.). Check-out sets the status to &#039;&#039;&#039;&amp;quot;LIB&amp;quot;&#039;&#039;&#039; (free) and &#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039; (dirty). After a check-out, the myApps lamp field displays &#039;&#039;&#039;&amp;quot;LIB-Sporca&amp;quot;&#039;&#039;&#039;. Any active &amp;quot;Do Not Disturb&amp;quot; setting is automatically cleared, and any active innovaphone wake-up calls are removed, leaving the room ready with no active DND or wake-up calls for the next guest.&lt;br /&gt;
&lt;br /&gt;
====Do Not Disturb (7)====&lt;br /&gt;
All calls to the room are forwarded to reception. Reception sees the caller and the room that attempted to call. Only reception can call the room (overriding DND). The myApps lamp field displays an &amp;quot;X&amp;quot; instead of a &amp;quot;-&amp;quot;; (e.g., &#039;&#039;&#039;&amp;quot;OCCxPulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Cancel Do Not Disturb (8)====&lt;br /&gt;
This happens automatically at check-out but can also be manually set by reception for a room. The myApps lamp field displays a &amp;quot;-&amp;quot; instead of an &amp;quot;X&amp;quot;; (e.g., &#039;&#039;&#039;&amp;quot;OCC-Pulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Room Status (*)====&lt;br /&gt;
Announces the current room status (Check in/out, Room status, and any active Do Not Disturb setting).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Shared Services (Reception and Rooms)===&lt;br /&gt;
&lt;br /&gt;
These statuses can be set by reception or directly from the room phone, regardless of whether the room is checked-in or checked-out, and with or without DND active. Dialing the service from a room plays the main menu: &#039;&#039;&amp;quot;Dial two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order&amp;quot;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Clean Room (2)====&lt;br /&gt;
Indicates a dirty room has been cleaned. Reception sees in real-time that the room is clean and available. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Pronta&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Dirty Room (3)====&lt;br /&gt;
Set automatically upon check-out or manually. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Room Makeup (4)====&lt;br /&gt;
Cleaning staff can set this when starting housekeeping tasks, making staff traceable by calling the room. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Makeup&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Maintenance Requested (5)====&lt;br /&gt;
Indicates the need for maintenance. myApps lamp field displays &#039;&#039;&#039;&amp;quot;xxx-Manuten&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Out of Order (6)====&lt;br /&gt;
Indicates a room unavailable for guests. myApps lamp field displays &#039;&#039;&#039;&amp;quot;xxx-NonDis&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
The entire package must be installed in a folder named &amp;amp;lt;code&amp;amp;gt;Files&amp;amp;lt;/code&amp;amp;gt;. If the wake-up service is also active, install it within the wake-up folder.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML Files:&#039;&#039;&#039; Two XML files are included: &amp;quot;CheckInOut.xml&amp;quot; (manages the reception side) and &amp;quot;RoomStatus.xml&amp;quot; (called by rooms).&lt;br /&gt;
* &#039;&#039;&#039;Audio Files:&#039;&#039;&#039; All audio files are located in the &amp;quot;AudioRS&amp;quot; subfolder and are provided exclusively in &#039;&#039;&#039;G.711a&#039;&#039;&#039; format to ensure high quality. Therefore, this codec must be set as exclusive in the command line, for example:  &#039;&#039;&amp;lt;nowiki&amp;gt;http://apps.test.local/test.local/files/root/Hotel/CheckInOut.xml&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;?$_pbxcoder=g711a&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Parameter Text Files:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;RoomLenght.txt&amp;quot; Set the length of room numbers, e.g. &amp;quot;3&amp;quot; for 3-digit rooms. If set to &amp;quot;0&amp;quot;, left empty, or deleted, the system requires the hash key after entering the number.&lt;br /&gt;
** &amp;quot;reception.txt&amp;quot; Set the reception extension number where calls will be forwarded if Do Not Disturb is activated.&lt;br /&gt;
* &#039;&#039;&#039;PBX Filters:&#039;&#039;&#039; The system distinguishes rooms from non-rooms using an associated filter. Ensure that all rooms are assigned either the &#039;&#039;&#039;CheckOUT&#039;&#039;&#039; or &#039;&#039;&#039;CheckIN&#039;&#039;&#039; filter in their configuration. Create these two filters (PBX &amp;gt; Filters) with those exact names and configure their rules for the respective states. It is convenient to configure a template for rooms and associate it with them, then assign one of these two filters directly in the user setup (this will serve as the initial system state for that user). Once functional, proceed to configure the reception function keys (direct dial).&lt;br /&gt;
&lt;br /&gt;
==Localization==&lt;br /&gt;
&lt;br /&gt;
This script is delivered with Italian prompts, but you can produce your own prompts and wordings. How see the link at the end of this page. &lt;br /&gt;
The filename and prompts are the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;File Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Content /				Message&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|x.g711a&lt;br /&gt;
|Digits 0 to 59&lt;br /&gt;
|-&lt;br /&gt;
|NoRoom.g711&lt;br /&gt;
|&amp;quot;Room not found&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|NumRoom.g711a&lt;br /&gt;
|&amp;quot;Room number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|InvalidC.g711a&lt;br /&gt;
|&amp;quot;Invalid command&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|CheckedIN.g711a&lt;br /&gt;
|&amp;quot;Check IN&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|CheckrdOUT.g711a&lt;br /&gt;
|&amp;quot;Check OUT&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomStat.g711a&lt;br /&gt;
|&amp;quot;Room status&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|MMenu.g711a&lt;br /&gt;
|&amp;quot;Dial zero for check out, one for check in, two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of	order, seven for do not disturb, eight to cancel do not disturb, asterisk for room status, followed by the room number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomToClean.g711a&lt;br /&gt;
|&amp;quot;Dirty room&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomClean.g711a&lt;br /&gt;
|&amp;quot;Clean room&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomMakeup.g711a&lt;br /&gt;
|&amp;quot;Room makeup&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomMaint.g711a&lt;br /&gt;
|&amp;quot;Maintenance requested&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomOOO.g711a&lt;br /&gt;
|&amp;quot;Out of order&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|InvalidNumber.g711a&lt;br /&gt;
|&amp;quot;Invalid number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|DNDon.g711a&lt;br /&gt;
|&amp;quot;Do not disturb set&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|DNDoff.g711a&lt;br /&gt;
|&amp;quot;Do not disturb cleared&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|MroomSt.g711a&lt;br /&gt;
|&amp;quot;Dial two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
[[Media:RoomStatus.zip|RoomStatus.zip]]&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
[[Howto:WakeUp App - Installation and Configuration|WakeUp App - Installation_and_Configuration]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Creating fine announcements and music on hold|Creating fine announcements and music on hold]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:RoomStatus.zip&amp;diff=80475</id>
		<title>File:RoomStatus.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:RoomStatus.zip&amp;diff=80475"/>
		<updated>2026-09-10T15:07:09Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80474</id>
		<title>Howto:RoomStatus with XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80474"/>
		<updated>2026-09-10T15:02:38Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=DRAFT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This description is limited to the &amp;quot;Room Status&amp;quot; service. The integrated wake-up service during Check-out is described separately and is typically installed in the same folder and scenario.&lt;br /&gt;
&lt;br /&gt;
Enjoy reading.&lt;br /&gt;
==Applies To==&lt;br /&gt;
innovaphone PBX, V16 or higher&amp;lt;!-- Keywords: Room Status, Roomstatus, Hotel --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
In hotels, there is an operational division between service extensions (reception, back-office, bar, kitchen, etc.) and rooms. The reception also acts as an operator console routing incoming calls and features an innovaphone IP phone with a graphic display and function keys. Hereafter, &amp;quot;Reception&amp;quot; refers to all service extensions authorized to modify the Room Status (which may also include Smartphones). &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Activation:&#039;&#039;&#039; The Room Status service can be activated by the reception on behalf of a room or set directly from the room phone.&lt;br /&gt;
* &#039;&#039;&#039;Extension Control:&#039;&#039;&#039; The system prevents Room Status activation on a service extension by automatically detecting whether an extension is a room or not. This is handled via a PBX setting, matching the Room Status configuration	itself. Relying directly on the PBX configuration prevents misalignments and synchronization needs, ensuring all parameters are retained even after a reboot.&lt;br /&gt;
* &#039;&#039;&#039;Security:&#039;&#039;&#039; To prevent guests from modifying the status, the service can be protected by a PIN or code (prefix). Room phones (analog, innovaphone IP, third-party IP) can be of any type.&lt;br /&gt;
* &#039;&#039;&#039;Management &amp;amp;Monitoring:&#039;&#039;&#039; The service can be managed entirely via telephone,while the room statuses are displayed in the reception&#039;s myApps lamp field.&lt;br /&gt;
&lt;br /&gt;
[[Image:SpiegaItem.png|388x388px|spiegaitem.png/|spiegaitem.png/]]&lt;br /&gt;
&lt;br /&gt;
==Service Access==&lt;br /&gt;
&lt;br /&gt;
Access to the service requires a dedicated prefix for the reception and a specific prefix dialed from the rooms (by service staff). The caller hears a menu listing available options. If no selection is made, the service disconnects after 30 seconds. Users do not need to wait for the main menu announcement to finish; they can select the desired option immediately.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Reception Dialing:&#039;&#039;&#039;Receptionists must also dial the room number. If room numbers have a uniform length (e.g., strictly 2 or 3 digits), the service activatesautomatically after the last digit, followed by a confirmation and disconnection.&lt;br /&gt;
* &#039;&#039;&#039;Hash Confirmation:&#039;&#039;&#039;If the room number length is not configured, users must press thehash key (#) after the room number. The voice menu automatically indicateswhether the hash key is required. If no input is provided after 12 seconds, the system assumes the entered number is confirmed.&lt;br /&gt;
* &#039;&#039;&#039;Confirmation Prompt:&#039;&#039;&#039;Upon activation, the system repeats the room number and the service status. Users do not need to wait for the message to end since thestatus is already active; they can disconnect immediately.&lt;br /&gt;
&lt;br /&gt;
===Reception===&lt;br /&gt;
&lt;br /&gt;
The reception sets statuses for the rooms. If the selected extension is not a room, the message &amp;quot;Room not found&amp;quot; plays. This message also plays if non-configured internal extensions are dialed.&lt;br /&gt;
&lt;br /&gt;
Calling the service plays the main menu: &#039;&#039;&amp;quot;Dial zero for check out, one for check in, two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order, seven for do not disturb, eight to cancel do not disturb, asterisk for room status, followed by the room number.&amp;quot;&#039;&#039; If room number length is not set, it adds: &#039;&#039;&amp;quot;and confirm with hash.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If function keys for these services are configured on the reception phone, the menu is bypassed (as the service type is already selected). In this case, simply press the function key followed by the room number (with or without hash as described above).&lt;br /&gt;
&lt;br /&gt;
[[Image:I112 Checkinout.png|181x181px|i112_checkinout.png/|i112_checkinout.png/]]&lt;br /&gt;
&lt;br /&gt;
===Reception-Only Services===&lt;br /&gt;
&lt;br /&gt;
====Check IN (1)====&lt;br /&gt;
The room is opened to telephone traffic. &amp;quot;Open&amp;quot; means the room can make calls using hotel lines. Allowed destination numbers can be restricted (e.g., emergency only, national landlines only, Europe only, etc.). After a check-in, the myApps lamp field below the room displays &#039;&#039;&#039;&amp;quot;OCC&amp;quot;&#039;&#039;&#039; (occupied).&lt;br /&gt;
&lt;br /&gt;
====Check OUT (0)====&lt;br /&gt;
Telephone traffic from the room is blocked. Similar to check-in, the restriction level is configurable (total, internal only, emergency only, local/national only, etc.). Check-out sets the status to &#039;&#039;&#039;&amp;quot;LIB&amp;quot;&#039;&#039;&#039; (free) and &#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039; (dirty). After a check-out, the myApps lamp field displays &#039;&#039;&#039;&amp;quot;LIB-Sporca&amp;quot;&#039;&#039;&#039;. Any active &amp;quot;Do Not Disturb&amp;quot; setting is automatically cleared, and any active innovaphone wake-up calls are removed, leaving the room ready with no active DND or wake-up calls for the next guest.&lt;br /&gt;
&lt;br /&gt;
====Do Not Disturb (7)====&lt;br /&gt;
All calls to the room are forwarded to reception. Reception sees the caller and the room that attempted to call. Only reception can call the room (overriding DND). The myApps lamp field displays an &amp;quot;X&amp;quot; instead of a &amp;quot;-&amp;quot;; (e.g., &#039;&#039;&#039;&amp;quot;OCCxPulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Cancel Do Not Disturb (8)====&lt;br /&gt;
This happens automatically at check-out but can also be manually set by reception for a room. The myApps lamp field displays a &amp;quot;-&amp;quot; instead of an &amp;quot;X&amp;quot;; (e.g., &#039;&#039;&#039;&amp;quot;OCC-Pulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Room Status (*)====&lt;br /&gt;
Announces the current room status (Check in/out, Room status, and any active Do Not Disturb setting).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Shared Services (Reception and Rooms)===&lt;br /&gt;
&lt;br /&gt;
These statuses can be set by reception or directly from the room phone, regardless of whether the room is checked-in or checked-out, and with or without DND active. Dialing the service from a room plays the main menu: &#039;&#039;&amp;quot;Dial two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order&amp;quot;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Clean Room (2)====&lt;br /&gt;
Indicates a dirty room has been cleaned. Reception sees in real-time that the room is clean and available. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Pronta&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Dirty Room (3)====&lt;br /&gt;
Set automatically upon check-out or manually. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Room Makeup (4)====&lt;br /&gt;
Cleaning staff can set this when starting housekeeping tasks, making staff traceable by calling the room. myApps lamp field displays &#039;&#039;&#039;&amp;quot;Makeup&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Maintenance Requested (5)====&lt;br /&gt;
Indicates the need for maintenance. myApps lamp field displays &#039;&#039;&#039;&amp;quot;xxx-Manuten&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
====Out of Order (6)====&lt;br /&gt;
Indicates a room unavailable for guests. myApps lamp field displays &#039;&#039;&#039;&amp;quot;xxx-NonDis&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
The entire package must be installed in a folder named &amp;amp;lt;code&amp;amp;gt;Files&amp;amp;lt;/code&amp;amp;gt;. If the wake-up service is also active, install it within the wake-up folder.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML Files:&#039;&#039;&#039; Two XML files are included: &amp;quot;CheckInOut.xml&amp;quot; (manages the reception side) and &amp;quot;RoomStatus.xml&amp;quot; (called by rooms).&lt;br /&gt;
* &#039;&#039;&#039;Audio Files:&#039;&#039;&#039; All audio files are located in the &amp;quot;AudioRS&amp;quot; subfolder and are provided exclusively in &#039;&#039;&#039;G.711a&#039;&#039;&#039; format to ensure high quality. Therefore, this codec must be set as exclusive in the command line, for example:  &#039;&#039;&amp;lt;nowiki&amp;gt;http://apps.test.local/test.local/files/root/Hotel/CheckInOut.xml&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;?$_pbxcoder=g711a&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Parameter Text Files:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;RoomLenght.txt&amp;quot; Set the length of room numbers, e.g. &amp;quot;3&amp;quot; for 3-digit rooms. If set to &amp;quot;0&amp;quot;, left empty, or deleted, the system requires the hash key after entering the number.&lt;br /&gt;
** &amp;quot;reception.txt&amp;quot; Set the reception extension number where calls will be forwarded if Do Not Disturb is activated.&lt;br /&gt;
* &#039;&#039;&#039;PBX Filters:&#039;&#039;&#039; The system distinguishes rooms from non-rooms using an associated filter. Ensure that all rooms are assigned either the &#039;&#039;&#039;CheckOUT&#039;&#039;&#039; or &#039;&#039;&#039;CheckIN&#039;&#039;&#039; filter in their configuration. Create these two filters (PBX &amp;gt; Filters) with those exact names and configure their rules for the respective states. It is convenient to configure a template for rooms and associate it with them, then assign one of these two filters directly in the user setup (this will serve as the initial system state for that user). Once functional, proceed to configure the reception function keys (direct dial).&lt;br /&gt;
&lt;br /&gt;
==Localization==&lt;br /&gt;
&lt;br /&gt;
This script is delivered with Italian prompts, but you can produce your own prompts and wordings. How see the link at the end of this page. &lt;br /&gt;
The filename and prompts are the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;File Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Content /				Message&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|x.g711a&lt;br /&gt;
|Digits 0 to 59&lt;br /&gt;
|-&lt;br /&gt;
|NoRoom.g711&lt;br /&gt;
|&amp;quot;Room not found&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|NumRoom.g711a&lt;br /&gt;
|&amp;quot;Room number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|InvalidC.g711a&lt;br /&gt;
|&amp;quot;Invalid command&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|CheckedIN.g711a&lt;br /&gt;
|&amp;quot;Check IN&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|CheckrdOUT.g711a&lt;br /&gt;
|&amp;quot;Check OUT&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomStat.g711a&lt;br /&gt;
|&amp;quot;Room status&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|MMenu.g711a&lt;br /&gt;
|&amp;quot;Dial zero for check out, one for check in, two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of	order, seven for do not disturb, eight to cancel do not disturb, asterisk for room status, followed by the room number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomToClean.g711a&lt;br /&gt;
|&amp;quot;Dirty room&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomClean.g711a&lt;br /&gt;
|&amp;quot;Clean room&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomMakeup.g711a&lt;br /&gt;
|&amp;quot;Room makeup&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomMaint.g711a&lt;br /&gt;
|&amp;quot;Maintenance				requested&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|RoomOOO.g711a&lt;br /&gt;
|&amp;quot;Out of order&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|InvalidNumber.g711a&lt;br /&gt;
|&amp;quot;Invalid number&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|DNDon.g711a&lt;br /&gt;
|&amp;quot;Do not disturb				set&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|DNDoff.g711a&lt;br /&gt;
|&amp;quot;Do not disturb				cleared&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|MroomSt.g711a&lt;br /&gt;
|&amp;quot;Dial two for				clean room, three for dirty, four for makeup, five for				maintenance request, six for out of order&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
*[http://wiki.innovaphone.com/index.php?title=Howto:Wiki_Sources#checkinout Download] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
[[Howto:Creating fine announcements and music on hold|Creating fine announcements and music on hold]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:I112_Checkinout.png&amp;diff=80473</id>
		<title>File:I112 Checkinout.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:I112_Checkinout.png&amp;diff=80473"/>
		<updated>2026-09-10T14:42:55Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80472</id>
		<title>Howto:RoomStatus with XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:RoomStatus_with_XML_Script&amp;diff=80472"/>
		<updated>2026-09-10T14:42:19Z</updated>

		<summary type="html">&lt;p&gt;Kwa: Created page with &amp;quot;=DRAFT=    This description is limited to the &amp;quot;Room Status&amp;quot; service. The integrated wake-up service during Check-out is described separately and is typically installed in the same folder and scenario.  Enjoy reading. ==Applies To== innovaphone PBX, V16 or higher&amp;lt;!-- Keywords: Room Status, Roomstatus, Hotel --&amp;gt;  ==More Information== In hotels, there is an operational division between service extensions (reception, back-office, bar, kitchen, etc.) and rooms. The reception...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=DRAFT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This description is limited to the &amp;quot;Room Status&amp;quot; service. The integrated wake-up service during Check-out is described separately and is typically installed in the same folder and scenario.&lt;br /&gt;
&lt;br /&gt;
Enjoy reading.&lt;br /&gt;
==Applies To==&lt;br /&gt;
innovaphone PBX, V16 or higher&amp;lt;!-- Keywords: Room Status, Roomstatus, Hotel --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
In hotels, there is an operational division between service extensions (reception, back-office, bar, kitchen, etc.) and rooms. The reception also acts as an operator console routing incoming calls and features an innovaphone IP phone with a graphic display and function keys. Hereafter, &amp;quot;Reception&amp;quot; refers to all service extensions authorized to modify the Room Status (which may also include Smartphones). &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Activation:&#039;&#039;&#039; The Room Status service can be activated by the reception on behalf of a room or set directly from the room phone.&lt;br /&gt;
* &#039;&#039;&#039;Extension Control:&#039;&#039;&#039; The system prevents Room Status activation on a service extension by automatically detecting whether an extension is a room or not. This is handled via a PBX setting, matching the Room Status configuration	itself. Relying directly on the PBX configuration prevents	misalignments and synchronization needs, ensuring all parameters are retained even after a reboot.&lt;br /&gt;
* &#039;&#039;&#039;Security:&#039;&#039;&#039; To prevent guests from modifying the status, the service can be protected by a PIN or code (prefix). Room phones (analog, innovaphone IP, third-party IP) can be of any type.&lt;br /&gt;
* &#039;&#039;&#039;Management &amp;amp;	Monitoring:&#039;&#039;&#039; The service can be managed entirely via telephone,	while the room statuses are displayed in the reception&#039;s myApps lamp field. &lt;br /&gt;
&lt;br /&gt;
[[Image:SpiegaItem.png|388x388px]]&lt;br /&gt;
&lt;br /&gt;
==Service Access==&lt;br /&gt;
&lt;br /&gt;
Access to the service requires a dedicated prefix for the reception and a specific prefix dialed from the rooms (by service staff). The caller hears a menu listing available options. If no selection is made, the service disconnects after 30 seconds. Users do not need to wait for the main menu announcement to finish; they can select the desired option immediately.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Reception Dialing:&#039;&#039;&#039;	Receptionists must also dial the room number. If room numbers have a	uniform length (e.g., strictly 2 or 3 digits), the service activates	automatically after the last digit, followed by a confirmation and	disconnection.&lt;br /&gt;
* &#039;&#039;&#039;Hash	Confirmation:&#039;&#039;&#039;	If the room number length is not configured, users must press the	hash key (#)	after the room number. The voice menu automatically indicates	whether the hash key is required. If no input is provided after 12	seconds, the system assumes the entered number is confirmed.&lt;br /&gt;
* &#039;&#039;&#039;Confirmation Prompt:&#039;&#039;&#039;	Upon activation, the system repeats the room number and the service	status. Users do not need to wait for the message to end since the	status is already active; they can disconnect immediately.&lt;br /&gt;
&lt;br /&gt;
===Reception===&lt;br /&gt;
&lt;br /&gt;
The reception sets statuses for the rooms. If the selected extension is not a room, the message &amp;quot;Room not found&amp;quot; plays. This message also plays if non-configured internal extensions are dialed.&lt;br /&gt;
&lt;br /&gt;
Calling the service plays the main menu: &#039;&#039;&amp;quot;Dial zero for check out, one for check in, two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order, seven for do not disturb, eight to cancel do not disturb, asterisk for room status, followed by the room number.&amp;quot;&#039;&#039; If room number length is not set, it adds: &#039;&#039;&amp;quot;and confirm with hash.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If function keys for these services are configured on the reception phone, the menu is bypassed (as the service type is already selected). In this case, simply press the function key followed by the room number (with or without hash as described above).&lt;br /&gt;
&lt;br /&gt;
[[Image:I112_Checkinout.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reception-Only Services&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Check IN (1)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The room is opened to telephone traffic. &amp;quot;Open&amp;quot; means the room can make calls using hotel lines. Allowed destination numbers can be restricted (e.g., emergency only, national landlines only, Europe only, etc.). After a check-in, the myApps lamp field below the room displays &#039;&#039;&#039;&amp;quot;OCC&amp;quot;&#039;&#039;&#039; (occupied).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Check OUT (0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Telephone traffic from the room is blocked. Similar to check-in, the restriction level is configurable (total, internal only, emergency only, local/national only, etc.). Check-out sets the status to &#039;&#039;&#039;&amp;quot;LIB&amp;quot;&#039;&#039;&#039; (free) and &#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039; (dirty). After a check-out, the myApps lamp field displays &#039;&#039;&#039;&amp;quot;LIB-Sporca&amp;quot;&#039;&#039;&#039;. Any active &amp;quot;Do Not Disturb&amp;quot; setting is automatically cleared, and any active innovaphone wake-up calls are removed, leaving the room ready with no active DND or wake-up calls for the next guest.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do Not Disturb (7)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All calls to the room are forwarded to reception. Reception sees the caller and the room that attempted to call. Only reception can call the room (overriding DND). The myApps lamp field displays an &amp;amp;lt;code&amp;amp;gt;x&amp;amp;lt;/code&amp;amp;gt; instead of a dash &amp;amp;lt;code&amp;amp;gt;-&amp;amp;lt;/code&amp;amp;gt; (e.g., &#039;&#039;&#039;&amp;quot;OCCxPulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel Do Not Disturb (8)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This happens automatically at check-out but can also be manually set by reception for a room. The myApps lamp field displays a dash &amp;amp;lt;code&amp;amp;gt;-&amp;amp;lt;/code&amp;amp;gt; instead of an &amp;amp;lt;code&amp;amp;gt;x&amp;amp;lt;/code&amp;amp;gt; (e.g., &#039;&#039;&#039;&amp;quot;OCC-Pulito&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Room Status (*)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Announces the current room status (Check in/out, Room status, and any active Do Not Disturb setting).&lt;br /&gt;
&lt;br /&gt;
l112_Checkinout.png&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shared Services (Reception and Rooms)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These statuses can be set by reception or directly from the room phone, regardless of whether the room is checked-in or checked-out, and with or without DND active. Dialing the service from a room plays the main menu: &#039;&#039;&amp;quot;Dial two for clean room, three for dirty, four for makeup, five for maintenance request, six for out of order&amp;quot;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clean Room (2):&#039;&#039;&#039;	Indicates a dirty room has been cleaned. Reception sees in real-time	that the room is clean and available. myApps lamp field displays	&#039;&#039;&#039;&amp;quot;Pronta&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Dirty Room (3):&#039;&#039;&#039; Set	automatically upon check-out or manually. myApps lamp field displays	&#039;&#039;&#039;&amp;quot;Sporca&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Room Makeup (4):&#039;&#039;&#039;	Cleaning staff can set this when starting housekeeping tasks, making	staff traceable by calling the room. myApps lamp field displays	&#039;&#039;&#039;&amp;quot;Makeup&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Maintenance Requested	(5):&#039;&#039;&#039; Indicates the need for maintenance. myApps lamp field	displays &#039;&#039;&#039;&amp;quot;xxx-Manuten&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Out of Order (6):&#039;&#039;&#039;	Indicates a room unavailable for guests. myApps lamp field displays	&#039;&#039;&#039;&amp;quot;xxx-NonDis&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
The entire package must be installed in a folder named &amp;amp;lt;code&amp;amp;gt;Files&amp;amp;lt;/code&amp;amp;gt;. If the wake-up service is also active, install it within the wake-up folder.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML	Files:&#039;&#039;&#039; Two XML	files are included: &amp;amp;lt;code&amp;amp;gt;CheckInOut.xml&amp;amp;lt;/code&amp;amp;gt;	(manages the reception side) and &amp;amp;lt;code&amp;amp;gt;RoomStatus.xml&amp;amp;lt;/code&amp;amp;gt;	(called by rooms).&lt;br /&gt;
* &#039;&#039;&#039;Audio	Files:&#039;&#039;&#039; All	audio files are located in the &amp;amp;lt;code&amp;amp;gt;AudioRS&amp;amp;lt;/code&amp;amp;gt;	subfolder and are provided exclusively in &#039;&#039;&#039;G.711a&#039;&#039;&#039;	format to ensure high quality. Therefore, this codec must be set as	exclusive in the command line, for example:  &amp;amp;lt;code&amp;amp;gt;&amp;lt;nowiki&amp;gt;[http://apps.test.local/test.local/files/root/Hotel/CheckInOut.xml?$_pbxcoder=g711a]&amp;lt;/nowiki&amp;gt;(&amp;lt;nowiki&amp;gt;http://apps.test.local/test.local/files/root/Hotel/CheckInOut.xml?$_pbxcoder=g711a&amp;lt;/nowiki&amp;gt;)&amp;amp;lt;/code&amp;amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Parameter Text Files:&#039;&#039;&#039;&lt;br /&gt;
** &amp;amp;lt;code&amp;amp;gt;RoomLenght.txt&amp;amp;lt;/code&amp;amp;gt;:		Set the length of room numbers, e.g., &amp;amp;lt;code&amp;amp;gt;3&amp;amp;lt;/code&amp;amp;gt;		for 3-digit rooms. If set to &amp;amp;lt;code&amp;amp;gt;0&amp;amp;lt;/code&amp;amp;gt;,		left empty, or deleted, the system requires the hash key after		entering the number.&lt;br /&gt;
** &amp;amp;lt;code&amp;amp;gt;reception.txt&amp;amp;lt;/code&amp;amp;gt;:		Set the reception extension number where calls will be forwarded if		Do Not Disturb is activated.&lt;br /&gt;
* &#039;&#039;&#039;PBX Filters:&#039;&#039;&#039; The	system distinguishes rooms from non-rooms using an associated	filter. Ensure that all rooms are assigned either the &#039;&#039;&#039;CheckOUT&#039;&#039;&#039;	or &#039;&#039;&#039;CheckIN&#039;&#039;&#039; filter in their configuration. Create these two	filters (PBX &amp;gt; Filters) with those exact names and configure	their rules for the respective states. It is convenient to configure	a template for rooms and associate it with them, then assign one of	these two filters directly in the user setup (this will serve as the	initial system state for that user). Once functional, proceed to	configure the reception function keys (direct dial).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Localization===&lt;br /&gt;
This script is delivered with Italian prompts, but you can produce your own prompts and wordings. How see the link at the end of this page. &lt;br /&gt;
The filename and prompts are the following:&lt;br /&gt;
&lt;br /&gt;
Filename: Prompt&lt;br /&gt;
&lt;br /&gt;
CheckedIN: “Checked in”&lt;br /&gt;
&lt;br /&gt;
CheckedOUT: “Checked out”&lt;br /&gt;
&lt;br /&gt;
NoRoom: “No room”&lt;br /&gt;
&lt;br /&gt;
NoValidNumber: “No valid number”&lt;br /&gt;
&lt;br /&gt;
InvalidC: “Invalid command”&lt;br /&gt;
&lt;br /&gt;
RoomStatus: “RoomStatus”&lt;br /&gt;
&lt;br /&gt;
Mmenu: “Press 0 for check-out, 1 for check-in or * for status, followed by the room number and confirm with #”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
*[http://wiki.innovaphone.com/index.php?title=Howto:Wiki_Sources#checkinout Download] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
[[ Howto:Creating_fine_announcements_and_music_on_hold |Creating fine announcements and music on hold]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:SpiegaItem.png&amp;diff=80471</id>
		<title>File:SpiegaItem.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:SpiegaItem.png&amp;diff=80471"/>
		<updated>2026-09-10T14:28:01Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77838</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77838"/>
		<updated>2025-09-24T12:59:58Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Howto:Integrating Shelly IoT Devices with the Buttons App}}&lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;Buttons App&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; and &#039;&#039;&#039;Shelly Pro RGBWW&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. &lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png|sh01.png/|sh01.png/]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png|sh02.png/|sh02.png/]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png|sh03.png/|sh03.png/]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png|sh04.png/|sh04.png/]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png|sh05.png/|sh05.png/]]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png|sh06.png/|sh06.png/]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png|sh07.png/|sh07.png/]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png|sh08.png/|sh08.png/]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png|sh09.png/|sh09.png/]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png|sh10.png/|sh10.png/]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png|sh11.png/|sh11.png/]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png|sh12.png/|sh12.png/]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png|sh13.png/|sh13.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png|sh14.png/|sh14.png/]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png|sh15.png/|sh15.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png|sh16.png/|sh16.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png|sh17.png/|sh17.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png|sh18.png/|sh18.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png|sh19.png/|sh19.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png|sh20.png/|sh20.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png|sh21.png/|sh21.png/]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png|sh22.png/|sh22.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png|sh25.png/|sh25.png/]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png|sh23.png/|sh23.png/]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Shelly RGBWW PM ==&lt;br /&gt;
This model is similar to the Shelly Pro 2 (DIN rail mount, LAN), but it has five inputs instead of two and is powered by 24V DC. If you are operating the system on 220V, you will need a transformer.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh42.png|sh42.png/]]&lt;br /&gt;
&lt;br /&gt;
It is important to note that the external switches connect the 0V line (minus) to the inputs (indicated by the ground symbol in the diagram).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh41.png|sh41.png/]]&lt;br /&gt;
&lt;br /&gt;
This model has several operating variants, for example, to control colored LED strips. You can set this under Device profile (scroll all the way down), we tested the 5 input operating mode. &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh40.png|sh40.png/]]&lt;br /&gt;
&lt;br /&gt;
The individual inputs (Input 0–4) should be set to Button and Single input. In the Button app, the usual numbering from Serial-0 to Serial-4 will be used.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png|sh24.png/|sh24.png/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77501</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77501"/>
		<updated>2025-08-08T13:04:20Z</updated>

		<summary type="html">&lt;p&gt;Kwa: /* Shelly RGBWW PM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Howto:Integrating Shelly IoT Devices with the Buttons App}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;Buttons App&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; and &#039;&#039;&#039;Shelly Pro RGBWW&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. &lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png|sh01.png/|sh01.png/]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png|sh02.png/|sh02.png/]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png|sh03.png/|sh03.png/]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png|sh04.png/|sh04.png/]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png|sh05.png/|sh05.png/]]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png|sh06.png/|sh06.png/]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png|sh07.png/|sh07.png/]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png|sh08.png/|sh08.png/]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png|sh09.png/|sh09.png/]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png|sh10.png/|sh10.png/]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png|sh11.png/|sh11.png/]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png|sh12.png/|sh12.png/]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png|sh13.png/|sh13.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png|sh14.png/|sh14.png/]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png|sh15.png/|sh15.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png|sh16.png/|sh16.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png|sh17.png/|sh17.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png|sh18.png/|sh18.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png|sh19.png/|sh19.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png|sh20.png/|sh20.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png|sh21.png/|sh21.png/]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png|sh22.png/|sh22.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png|sh25.png/|sh25.png/]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png|sh23.png/|sh23.png/]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Shelly RGBWW PM ==&lt;br /&gt;
This model is similar to the Shelly Pro 2 (DIN rail mount, LAN), but it has five inputs instead of two and is powered by 24V DC. If you are operating the system on 220V, you will need a transformer.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh42.png]]&lt;br /&gt;
&lt;br /&gt;
It is important to note that the external switches connect the 0V line (minus) to the inputs (indicated by the ground symbol in the diagram).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh41.png]]&lt;br /&gt;
&lt;br /&gt;
This model has several operating variants, for example, to control colored LED strips. You can set this under Device profile (scroll all the way down), we tested the 5 input operating mode. &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh40.png]]&lt;br /&gt;
&lt;br /&gt;
The individual inputs (Input 0–4) should be set to Button and Single input. In the Button app, the usual numbering from Serial-0 to Serial-4 will be used.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png|sh24.png/|sh24.png/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77500</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77500"/>
		<updated>2025-08-08T13:02:48Z</updated>

		<summary type="html">&lt;p&gt;Kwa: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Howto:Integrating Shelly IoT Devices with the Buttons App}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;Buttons App&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; and &#039;&#039;&#039;Shelly Pro RGBWW&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. &lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png|sh01.png/|sh01.png/]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png|sh02.png/|sh02.png/]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png|sh03.png/|sh03.png/]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png|sh04.png/|sh04.png/]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png|sh05.png/|sh05.png/]]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png|sh06.png/|sh06.png/]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png|sh07.png/|sh07.png/]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png|sh08.png/|sh08.png/]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png|sh09.png/|sh09.png/]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png|sh10.png/|sh10.png/]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png|sh11.png/|sh11.png/]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png|sh12.png/|sh12.png/]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png|sh13.png/|sh13.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png|sh14.png/|sh14.png/]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png|sh15.png/|sh15.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png|sh16.png/|sh16.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png|sh17.png/|sh17.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png|sh18.png/|sh18.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png|sh19.png/|sh19.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png|sh20.png/|sh20.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png|sh21.png/|sh21.png/]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png|sh22.png/|sh22.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png|sh25.png/|sh25.png/]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png|sh23.png/|sh23.png/]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Shelly RGBWW PM ==&lt;br /&gt;
This model is similar to the Shelly Pro 2 (DIN rail mount, LAN), but it has five inputs instead of two and is powered by 24V DC. If you are operating the system on 220V, you will need a transformer.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh42.png]]&lt;br /&gt;
&lt;br /&gt;
It is important to note that the external switches connect the 0V line (minus) to the inputs (indicated by the ground symbol in the diagram).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh41.png]]&lt;br /&gt;
&lt;br /&gt;
This model has several operating variants, for example, to control colored LED strips. You can set this under Device profile (scroll all the way down). &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh40.png]]&lt;br /&gt;
&lt;br /&gt;
The individual inputs (Input 0–4) should be set to Button and Single input. In the Button app, the usual numbering from Serial-0 to Serial-4 will be used.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png|sh24.png/|sh24.png/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77499</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77499"/>
		<updated>2025-08-08T13:02:32Z</updated>

		<summary type="html">&lt;p&gt;Kwa: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Howto:Integrating Shelly IoT Devices with the Buttons App}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;Buttons App&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; and &#039;&#039;&#039;Shelly Pro RGBWW&#039;&#039;&#039;models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. &lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png|sh01.png/|sh01.png/]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png|sh02.png/|sh02.png/]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png|sh03.png/|sh03.png/]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png|sh04.png/|sh04.png/]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png|sh05.png/|sh05.png/]]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png|sh06.png/|sh06.png/]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png|sh07.png/|sh07.png/]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png|sh08.png/|sh08.png/]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png|sh09.png/|sh09.png/]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png|sh10.png/|sh10.png/]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png|sh11.png/|sh11.png/]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png|sh12.png/|sh12.png/]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png|sh13.png/|sh13.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png|sh14.png/|sh14.png/]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png|sh15.png/|sh15.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png|sh16.png/|sh16.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png|sh17.png/|sh17.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png|sh18.png/|sh18.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png|sh19.png/|sh19.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png|sh20.png/|sh20.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png|sh21.png/|sh21.png/]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png|sh22.png/|sh22.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png|sh25.png/|sh25.png/]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png|sh23.png/|sh23.png/]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Shelly RGBWW PM ==&lt;br /&gt;
This model is similar to the Shelly Pro 2 (DIN rail mount, LAN), but it has five inputs instead of two and is powered by 24V DC. If you are operating the system on 220V, you will need a transformer.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh42.png]]&lt;br /&gt;
&lt;br /&gt;
It is important to note that the external switches connect the 0V line (minus) to the inputs (indicated by the ground symbol in the diagram).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh41.png]]&lt;br /&gt;
&lt;br /&gt;
This model has several operating variants, for example, to control colored LED strips. You can set this under Device profile (scroll all the way down). &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh40.png]]&lt;br /&gt;
&lt;br /&gt;
The individual inputs (Input 0–4) should be set to Button and Single input. In the Button app, the usual numbering from Serial-0 to Serial-4 will be used.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png|sh24.png/|sh24.png/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77498</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77498"/>
		<updated>2025-08-08T13:01:53Z</updated>

		<summary type="html">&lt;p&gt;Kwa: /* Shelly Pro 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Howto:Integrating Shelly IoT Devices with the Buttons App}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;Buttons App&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. &lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png|sh01.png/|sh01.png/]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png|sh02.png/|sh02.png/]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png|sh03.png/|sh03.png/]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png|sh04.png/|sh04.png/]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png|sh05.png/|sh05.png/]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png|sh06.png/|sh06.png/]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png|sh07.png/|sh07.png/]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png|sh08.png/|sh08.png/]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png|sh09.png/|sh09.png/]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png|sh10.png/|sh10.png/]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png|sh11.png/|sh11.png/]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png|sh12.png/|sh12.png/]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png|sh13.png/|sh13.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png|sh14.png/|sh14.png/]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png|sh15.png/|sh15.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png|sh16.png/|sh16.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png|sh17.png/|sh17.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png|sh18.png/|sh18.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png|sh19.png/|sh19.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png|sh20.png/|sh20.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png|sh21.png/|sh21.png/]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png|sh22.png/|sh22.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png|sh25.png/|sh25.png/]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png|sh23.png/|sh23.png/]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Shelly RGBWW PM ==&lt;br /&gt;
This model is similar to the Shelly Pro 2 (DIN rail mount, LAN), but it has five inputs instead of two and is powered by 24V DC. If you are operating the system on 220V, you will need a transformer.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh42.png]]&lt;br /&gt;
&lt;br /&gt;
It is important to note that the external switches connect the 0V line (minus) to the inputs (indicated by the ground symbol in the diagram).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh41.png]]&lt;br /&gt;
&lt;br /&gt;
This model has several operating variants, for example, to control colored LED strips. You can set this under Device profile (scroll all the way down). &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh40.png]]&lt;br /&gt;
&lt;br /&gt;
The individual inputs (Input 0–4) should be set to Button and Single input. In the Button app, the usual numbering from Serial-0 to Serial-4 will be used.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png|sh24.png/|sh24.png/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh42.png&amp;diff=77497</id>
		<title>File:Sh42.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh42.png&amp;diff=77497"/>
		<updated>2025-08-08T12:59:38Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh41.png&amp;diff=77496</id>
		<title>File:Sh41.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh41.png&amp;diff=77496"/>
		<updated>2025-08-08T12:59:26Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh40.png&amp;diff=77495</id>
		<title>File:Sh40.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh40.png&amp;diff=77495"/>
		<updated>2025-08-08T12:59:13Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77494</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77494"/>
		<updated>2025-08-08T12:29:26Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Howto:Integrating Shelly IoT Devices with the Buttons App}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;Buttons App&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. &lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png|sh01.png/|sh01.png/]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png|sh02.png/|sh02.png/]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png|sh03.png/|sh03.png/]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png|sh04.png/|sh04.png/]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png|sh05.png/|sh05.png/]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png|sh06.png/|sh06.png/]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png|sh07.png/|sh07.png/]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png|sh08.png/|sh08.png/]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png|sh09.png/|sh09.png/]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png|sh10.png/|sh10.png/]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png|sh11.png/|sh11.png/]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png|sh12.png/|sh12.png/]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png|sh13.png/|sh13.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png|sh14.png/|sh14.png/]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png|sh15.png/|sh15.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png|sh16.png/|sh16.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png|sh17.png/|sh17.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png|sh18.png/|sh18.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png|sh19.png/|sh19.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png|sh20.png/|sh20.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png|sh21.png/|sh21.png/]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png|sh22.png/|sh22.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png|sh25.png/|sh25.png/]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png|sh23.png/|sh23.png/]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png|sh24.png/|sh24.png/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77368</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77368"/>
		<updated>2025-07-17T08:20:06Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Howto:Integrating Shelly IoT Devices with the Buttons App}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;Buttons App&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. We have not tested this setup and will not describe it in this guide.&lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png|sh01.png/|sh01.png/]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png|sh02.png/|sh02.png/]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png|sh03.png/|sh03.png/]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png|sh04.png/|sh04.png/]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png|sh05.png/|sh05.png/]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png|sh06.png/|sh06.png/]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png|sh07.png/|sh07.png/]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png|sh08.png/|sh08.png/]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png|sh09.png/|sh09.png/]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png|sh10.png/|sh10.png/]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png|sh11.png/|sh11.png/]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png|sh12.png/|sh12.png/]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png|sh13.png/|sh13.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png|sh14.png/|sh14.png/]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png|sh15.png/|sh15.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png|sh16.png/|sh16.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png|sh17.png/|sh17.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png|sh18.png/|sh18.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png|sh19.png/|sh19.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png|sh20.png/|sh20.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png|sh21.png/|sh21.png/]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png|sh22.png/|sh22.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png|sh25.png/|sh25.png/]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png|sh23.png/|sh23.png/]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png|sh24.png/|sh24.png/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77367</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77367"/>
		<updated>2025-07-17T08:19:05Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Howto:Integrating Shelly IoT Devices with the Buttons App}}&lt;br /&gt;
{{DISPLAYTITLE:Howto:Integrating Shelly IoT Devices with the Buttons App}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;Buttons App&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. We have not tested this setup and will not describe it in this guide.&lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png|sh01.png/|sh01.png/]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png|sh02.png/|sh02.png/]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png|sh03.png/|sh03.png/]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png|sh04.png/|sh04.png/]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png|sh05.png/|sh05.png/]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png|sh06.png/|sh06.png/]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png|sh07.png/|sh07.png/]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png|sh08.png/|sh08.png/]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png|sh09.png/|sh09.png/]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png|sh10.png/|sh10.png/]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png|sh11.png/|sh11.png/]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png|sh12.png/|sh12.png/]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png|sh13.png/|sh13.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png|sh14.png/|sh14.png/]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png|sh15.png/|sh15.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png|sh16.png/|sh16.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png|sh17.png/|sh17.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png|sh18.png/|sh18.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png|sh19.png/|sh19.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png|sh20.png/|sh20.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png|sh21.png/|sh21.png/]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png|sh22.png/|sh22.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png|sh25.png/|sh25.png/]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png|sh23.png/|sh23.png/]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png|sh24.png/|sh24.png/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77366</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77366"/>
		<updated>2025-07-17T08:18:10Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Howto:Integrating Shelly IoT Devices with the Buttons App}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;Buttons App&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. We have not tested this setup and will not describe it in this guide.&lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png|sh01.png/]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png|sh02.png/]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png|sh03.png/]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png|sh04.png/]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png|sh05.png/]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png|sh06.png/]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png|sh07.png/]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png|sh08.png/]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png|sh09.png/]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png|sh10.png/]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png|sh11.png/]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png|sh12.png/]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png|sh13.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png|sh14.png/]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png|sh15.png/]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png|sh16.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png|sh17.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png|sh18.png/]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png|sh19.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png|sh20.png/]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png|sh21.png/]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png|sh22.png/]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png|sh25.png/]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png|sh23.png/]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png|sh24.png/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77365</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77365"/>
		<updated>2025-07-17T08:02:43Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;Buttons App&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. We have not tested this setup and will not describe it in this guide.&lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77364</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77364"/>
		<updated>2025-07-16T15:33:37Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the innovaphone Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the innovaphone Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;innovaphone Buttons Ap&#039;&#039;&#039;p.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an innovaphone application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. We have not tested this setup and will not describe it in this guide.&lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference15r1:Concept_Buttons_App&amp;diff=77360</id>
		<title>Reference15r1:Concept Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference15r1:Concept_Buttons_App&amp;diff=77360"/>
		<updated>2025-07-16T14:32:25Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
[[Category:Concept App Service Buttons]]&lt;br /&gt;
== Applies To == &lt;br /&gt;
&lt;br /&gt;
* innovaphone from version 15r1&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The myApps Buttons App is an open source app that deals with the integration of IoT devices and PBX features as triggers. In principle, it is about linking certain input triggers to various output actions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Go to the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX manager) and open the &#039;&#039;&#039;&amp;quot;AP app installer&amp;quot;&#039;&#039;&#039; plugin. On the right panel, the App Store will be shown. &#039;&#039;Hint : if you access it for the first time, you will need to accept the &amp;quot;Terms of Use of the innovaphone App Store&amp;quot;&#039;&#039;&lt;br /&gt;
* In the search field located on the top right corner of the store, search for &#039;&#039;&#039;&amp;quot;Buttons&amp;quot;&#039;&#039;&#039; and click on it&lt;br /&gt;
* Select the proper firmware version, for example &#039;&#039;&#039;&amp;quot;Version 15r1&amp;quot;&#039;&#039;&#039; and click on install&lt;br /&gt;
* Tick &amp;quot;I accept the terms of use&amp;quot; and continue by clicking on the install yellow button&lt;br /&gt;
* Wait until the install has been finished&lt;br /&gt;
* Close and reopen the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX manager) again in order to refresh the list of the available colored AP plugin&lt;br /&gt;
* Click on the &#039;&#039;&#039;&amp;quot;Buttons&amp;quot;&#039;&#039;&#039; and click on &#039;&#039;&#039;&amp;quot; + Add an App&amp;quot;&#039;&#039;&#039; and then on the &#039;&#039;&#039;&amp;quot;Buttons&amp;quot;&#039;&#039;&#039; button.&lt;br /&gt;
* Enter a &#039;&#039;&#039;&amp;quot;Name&amp;quot;&#039;&#039;&#039; that is used as display name &#039;&#039;(all character allowed)&#039;&#039; for it and the &#039;&#039;&#039;&amp;quot;SIP&amp;quot;&#039;&#039;&#039; name that is the administrative field &#039;&#039;(no space, no capital letters)&#039;&#039;. &#039;&#039;e.g : Name: Buttons, SIP: buttons&#039;&#039;&lt;br /&gt;
* Click OK to save the settings and a green check mark will be shown to inform you that the configuration is good&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Buttons User&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* You also need a separate User Object in the pbx which is used from the buttons app. The app will register on this object for...&lt;br /&gt;
** &#039;&#039;&#039;calls&#039;&#039;&#039;&lt;br /&gt;
*** an incoming call to this user will be used as trigger. therefor the incoming &#039;&#039;&#039;cgpn&#039;&#039;&#039; and sip of the internal caller and the &#039;&#039;&#039;cdpn&#039;&#039;&#039; as destination is used.&lt;br /&gt;
*** Triggernumber &#039;&#039;&#039;&amp;quot;99&amp;quot;&#039;&#039;&#039; is reserved for Working Toggle. All other destination can be defined per user.&lt;br /&gt;
*** you can setup MWI-Function keys to the number of the buttons-user + append own number checkmark.&lt;br /&gt;
**** in the MWI Key example you will see the 8599 which combines the number of the buttons user &amp;quot;85&amp;quot; with the triggerbumber &amp;quot;99&amp;quot; for working toggle&lt;br /&gt;
** &#039;&#039;&#039;chat&#039;&#039;&#039;&lt;br /&gt;
*** if you want to use outgoing chats from the app you have to assign the chat app to this user&lt;br /&gt;
*** place &amp;quot;chat&amp;quot; in the Home Screen Apps. Just type it in like this. &lt;br /&gt;
&lt;br /&gt;
[[File:Buttons-mwi-working.png|thumb|none|/Buttons-mwi-working.png|/Buttons-mwi-working.png]]&lt;br /&gt;
[[File:Buttosapp user chat.png|thumb|none|/Buttosapp_user_chat.png|/Buttosapp_user_chat.png]]&lt;br /&gt;
&lt;br /&gt;
== Buttons App - Overview ==&lt;br /&gt;
Every mentioned Input Trigger can be multiple combined wit output actions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Buttons overview.png|700px|/Buttons_overview.png|/Buttons_overview.png]]&lt;br /&gt;
&lt;br /&gt;
=== Input trigger ===&lt;br /&gt;
===== PhoneKeys / Dial In =====&lt;br /&gt;
The Buttons app can be made available for calls via a dial-in number. This involves a comparison of the caller (cgpn, sip) and the number called (cdpn).&lt;br /&gt;
&lt;br /&gt;
===== myApps Windows Client (Hotkey) =====&lt;br /&gt;
In the &#039;&#039;&#039;myApps Windows Launcher&#039;&#039;&#039;, buttons can be assigned a hotkey. To do this, append the parameter &amp;amp;lt;code&amp;amp;gt;?hotkey=[number]&amp;amp;lt;/code&amp;amp;gt; to the name of the app object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your app object is named &#039;&#039;&#039;&amp;quot;buttons&amp;quot;&#039;&#039;&#039; and you want to assign hotkey number &#039;&#039;&#039;1&#039;&#039;&#039;, the entry would be: buttons?hotkey=1&lt;br /&gt;
&lt;br /&gt;
===== Shelly Devices =====&lt;br /&gt;
Shelly devices can be used as trigger devices in the Buttons app. To do this, the app opens another web socket below the app path.  The path name is “/shelly ” &lt;br /&gt;
&lt;br /&gt;
For example: [https://your-app-platforn-dns/domain.com/buttons/shelly wss://your-app-platforn-dns/domain.com/buttons/shelly]&lt;br /&gt;
&lt;br /&gt;
Most Devices that can establish an outgoing websocket are supported. You can also work with BLE devices if you have a BLE gateway or other Shelly device that is capable of both BLE and Websocket, so that it could work as gateway for BLE signals.&lt;br /&gt;
&lt;br /&gt;
You can also take a look to this video. https://www.youtube.com/watch?v=lkMEf7CpXHo&lt;br /&gt;
&lt;br /&gt;
====== Buttons ======&lt;br /&gt;
We have tested with Shelly BLU Button1 and Shelly BLU Gateway, but you can also use an other Shelly PRO or PLUS Device to handle BLE signals.&lt;br /&gt;
&lt;br /&gt;
====== Windows-/ Door Sensor ======&lt;br /&gt;
We have tested with Shelly BLU Door/Window and Shelly BLU Gateway                 &lt;br /&gt;
&lt;br /&gt;
====== Motionsensor ======&lt;br /&gt;
We have tested with Shelly BLU Motion and Shelly BLU Gateway&lt;br /&gt;
&lt;br /&gt;
====== Webhook (&#039;&#039;RestApi&#039;&#039;) ======&lt;br /&gt;
In the SettingsPlugin (PbxManager), you can define an &#039;&#039;&#039;http-path&#039;&#039;&#039; and an &#039;&#039;&#039;http-api-key&#039;&#039;&#039; that can be used by general systems to perform general actions (e.g., monitoring). The idea is that server-based communication is combined with dynamic output actions, which are not triggered by user interaction.&lt;br /&gt;
&lt;br /&gt;
The path and api-key a added to the reachable base url of the buttons app + /extapi. So, if your base url looks like this [https://APP-PLATFORM/domaine.de/buttons/extapi/mypath?key=Secretkey1234&amp;amp;msg=Test&amp;amp;dst=atlantis&amp;amp;type=connect&amp;amp;tags=abcd,1234 https://app-dnsname/test.local/buttons/] and you api-key is &amp;quot;Secretkey1234&amp;quot;, the url looks like this, to do a Post to Connect App via Buttons App.&lt;br /&gt;
&lt;br /&gt;
* Example: [https://APP-PLATFORM/domaine.de/buttons/extapi/mypath?key=Secretkey1234&amp;amp;msg=Test&amp;amp;dst=atlantis&amp;amp;type=connect&amp;amp;tags=abcd,1234 https://app-dnsname/test.local/buttons/extapi/mypath?key=Secretkey1234&amp;amp;msg=Test&amp;amp;dst=atlantis&amp;amp;type=connect&amp;amp;tags=abcd,1234]&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;Webhook Get Parameters&#039;&#039;======&lt;br /&gt;
&lt;br /&gt;
* key: your http-api, which you can define via SettingsPlugin&lt;br /&gt;
* type: type of output. at the moment only &amp;quot;connect&amp;quot; is possible.&lt;br /&gt;
* dst: destination for the action&lt;br /&gt;
* tags: tagging parameters for Connect Post&lt;br /&gt;
* msg: the content for your action.&lt;br /&gt;
* callto: (in case of Connect Post), also a call to a destination can be trigged&lt;br /&gt;
* srcqueue: the Waiting Queue Object, which should be used for the outgoing call. (you have to define it in the buttons-admin before).&lt;br /&gt;
* numbers:in case of call, a comma separated list of numbers can be placed, which should be get the call from the Waiting Queue Object&lt;br /&gt;
&lt;br /&gt;
=== Output actions ===&lt;br /&gt;
===== Chat =====&lt;br /&gt;
Buttons allow you to send a chatmessage to a reachable user. Simply enter the SIP (or H.323) name of the destination and the message you wish to send.&lt;br /&gt;
&lt;br /&gt;
===== Notify =====&lt;br /&gt;
Buttons allow you to a notify a to a reachable user. Simply enter the SIP (or H.323) name of the destination and the message you wish to send. A Notifiy is just a notification to the client and works with the notification policies of the used client.&lt;br /&gt;
&lt;br /&gt;
===== Chat + Notify =====&lt;br /&gt;
This is a combination of both in one rule.&lt;br /&gt;
&lt;br /&gt;
===== Presence =====&lt;br /&gt;
You can set the presence of users. In case of the buttons-user app, it&#039;s to the own user.&lt;br /&gt;
&lt;br /&gt;
===== Phonemessage =====&lt;br /&gt;
Similiar to Chat, but it sends messages to innovaphone DesktPhones. As destination you can use the number or the name.&lt;br /&gt;
&lt;br /&gt;
===== Phonecall =====&lt;br /&gt;
You need to assign a Waiting Queue via Buttons-Admin App. After that, this Waiting Queue is used to perform outgoing calls and stream the announcement. The Waiting Queue needs a special configuration. =&amp;gt; &#039;&#039;&#039;&amp;lt;u&amp;gt;Alert Timout = 0&amp;lt;/u&amp;gt;&#039;&#039;&#039; otherwise it would not work.&lt;br /&gt;
&lt;br /&gt;
===== Connect App=====&lt;br /&gt;
If the Connect App is assigend to the buttons-user AppObject, buttons is able to create ConnectPosts. Also if you combine ConnectPosts and Calls with the same trigger actions, also interactions of the phonecalls are presented to the Connect Post.&lt;br /&gt;
&lt;br /&gt;
===== Working App=====&lt;br /&gt;
If the Working App is assigned to the buttons-user AppObject, buttons is able to control your Working App. Also the Dial In Number &amp;quot;99&amp;quot; is reservered for Working Toggle. So, if your dial in number for buttons is 85, you can call 8599 from your extension and your working status is toggled.&lt;br /&gt;
&lt;br /&gt;
You can also create own rules for working-start or working-stop&lt;br /&gt;
&lt;br /&gt;
== Buttons App - Configuration ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a short configuration tutorial on youtube.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=ut3NI59BNl4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
[[Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77359</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77359"/>
		<updated>2025-07-16T14:08:51Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the innovaphone Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the innovaphone Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;innovaphone Buttons Ap&#039;&#039;&#039;p.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an innovaphone application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. We have not tested this setup and will not describe it in this guide.&lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version.&lt;br /&gt;
&lt;br /&gt;
After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/buttons,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77358</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77358"/>
		<updated>2025-07-16T14:04:03Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the innovaphone Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the innovaphone Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;innovaphone Buttons Ap&#039;&#039;&#039;p.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an innovaphone application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. We have not tested this setup and will not describe it in this guide.&lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in mind&#039;&#039;&#039;: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version. After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/button,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77357</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77357"/>
		<updated>2025-07-16T14:00:55Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the innovaphone Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the innovaphone Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App.&lt;br /&gt;
&lt;br /&gt;
It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;innovaphone Buttons Ap&#039;&#039;&#039;p.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an innovaphone application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the Buttons concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. We have not tested this setup and will not describe it in this guide.&lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in min&#039;&#039;&#039;d: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png]]&lt;br /&gt;
 &lt;br /&gt;
Here&#039;s a refined and improved English version of the entire text you provided, covering initial setup, connection details, and specific Shelly models, along with debugging.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version. After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/button,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77356</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77356"/>
		<updated>2025-07-16T13:54:13Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the innovaphone Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the innovaphone Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App. It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;innovaphone Buttons Ap&#039;&#039;&#039;p.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an innovaphone application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. We have not tested this setup and will not describe it in this guide.&lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in min&#039;&#039;&#039;d: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png]]&lt;br /&gt;
 &lt;br /&gt;
Here&#039;s a refined and improved English version of the entire text you provided, covering initial setup, connection details, and specific Shelly models, along with debugging.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version. After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/button,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Shelly i4 (3rd Generation) ==&lt;br /&gt;
This model features 4 digital inputs (ON/OFF).&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh19.png]]&lt;br /&gt;
 &lt;br /&gt;
In the Shelly App, you&#039;ll see 4 &amp;quot;devices&amp;quot; (which is actually just one physical device), and each contact will be treated as if it were a single device.&lt;br /&gt;
&lt;br /&gt;
The Shelly i4 Gen3 has 4 inputs (from port 0 to port 3, corresponding to SW1 to SW4), and all messages will be sent with the same serial number.&lt;br /&gt;
&lt;br /&gt;
To add a Shelly i4 port to the Buttons App, press &amp;quot;Add Device,&amp;quot; then under &amp;quot;New Device,&amp;quot; select &amp;quot;Button&amp;quot; as the type, and enter the serial number followed by a hyphen &amp;quot;-&amp;quot; and the port number:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh20.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, we&#039;ve created the connection with the first port (SW1); the second port (SW2) will be device e4b063d6a588-1, and so on.&lt;br /&gt;
&lt;br /&gt;
== Shelly Plus 1 ==&lt;br /&gt;
The Shelly Plus 1 has one input and one output.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh21.png]]&lt;br /&gt;
&lt;br /&gt;
Similar to the Shelly i4, the input port should be indicated with &amp;quot;-0&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh22.png]]&lt;br /&gt;
 &lt;br /&gt;
In the example above, the serial number for the Shelly Plus 1 is 78ee4ccf5930.&lt;br /&gt;
&lt;br /&gt;
== Shelly Pro 2 ==&lt;br /&gt;
The Shelly Pro differentiates itself from other Shelly devices as it&#039;s designed exclusively for DIN rail mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh25.png]]&lt;br /&gt;
 &lt;br /&gt;
It also features a LAN port, allowing it to connect to an Ethernet network even without Wi-Fi or Bluetooth (though both are onboard). It doesn&#039;t require an internet connection, but it can be useful for initial setup and firmware updates.&lt;br /&gt;
&lt;br /&gt;
It has two inputs and two outputs, all designed exclusively for 220V circuits (110-240 VAC 50/60 Hz).&lt;br /&gt;
&lt;br /&gt;
It&#039;s configured similarly to the other Shelly devices described above, but with the key difference that triggering by the Buttons App occurs on the &#039;&#039;&#039;outputs&#039;&#039;&#039;. The Buttons App therefore reacts to changes in the state of the outputs, regardless of whether they are switched via the web or other settings. If you want to transmit the state of the inputs (as in the case of the other Shelly models described), you&#039;ll need to configure the Shelly Pro 2 for its outputs to follow the state of its inputs.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of this setting, where the input port (input 0) controls the output port (output 0): &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh23.png]]&lt;br /&gt;
&lt;br /&gt;
Note that in the setup above, even after a restart, the output will follow the current state of the input (which is usually the desired behavior).&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve set the Ethernet parameters (Client, Server, and Static IP modes are available), you can disable Wi-Fi settings, cloud settings, and &amp;quot;Access Point&amp;quot; mode (which also disables &amp;quot;Range extender&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: With Wi-Fi disabled, you will no longer be able to access the Shelly Pro 2 from the Shelly App. However, the application remembers the settings you configured before disabling Wi-Fi access. This can be helpful if, for example, you want to check the IP address (unless it has been changed via LAN access).&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Traffic between the Shelly and the Buttons App (once registered) can be monitored in the Buttons App&#039;s Log.&lt;br /&gt;
&lt;br /&gt;
In the Application Platform (where you retrieved the path before), clear the Log, perform a contact closure or opening operation, and then select &amp;quot;Display&amp;quot; from the dropdown menu. A new page will open in your browser:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh24.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, you can see that the Shelly Device model &amp;quot;shellypro2&amp;quot; with serial number &amp;quot;ec626091d3f4&amp;quot; is sending a detected change on input and output &amp;quot;0&amp;quot; and activating &amp;quot;Trigger Switch 6,&amp;quot; which sets user &#039;kwa&#039;s presence to &amp;quot;busy.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Changing the presence status is the simplest way to verify proper functionality and requires no additional setup.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77355</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77355"/>
		<updated>2025-07-16T13:46:50Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the innovaphone Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the innovaphone Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App. It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;innovaphone Buttons Ap&#039;&#039;&#039;p.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an innovaphone application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. We have not tested this setup and will not describe it in this guide.&lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in min&#039;&#039;&#039;d: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png]]&lt;br /&gt;
 &lt;br /&gt;
Here&#039;s a refined and improved English version of the entire text you provided, covering initial setup, connection details, and specific Shelly models, along with debugging.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===First Steps with Shelly Configuration===&lt;br /&gt;
Once a Shelly device is powered on, it starts up and is ready for use in approximately 5 seconds.&lt;br /&gt;
&lt;br /&gt;
Shelly devices can be accessed via Wi-Fi or Bluetooth. The &amp;quot;Pro&amp;quot; family of devices can also be reached via an Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Some products are also accessible via USB dongles, but this is not covered here.&lt;br /&gt;
&lt;br /&gt;
For initial configuration, you&#039;ll need to install the manufacturer&#039;s &#039;&#039;&#039;Shelly Smart Control app&#039;&#039;&#039; on your smartphone. Afterward, you&#039;ll establish a Wi-Fi or Bluetooth connection between your smartphone and the Shelly device. For our application, Bluetooth is primarily used for the initial setup; subsequently, the device will connect to a local Wi-Fi network or, in the case of Pro models, your local area network (LAN).&lt;br /&gt;
&lt;br /&gt;
Download and install the Shelly Smart Control application from your respective app store (Google Play or Apple App Store): &lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh06.png]]&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have one, create a Shelly account (it is free).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll be prompted to set up the parameters for your local Wi-Fi network, which the device will then connect to. To make the device discoverable by your smartphone, press the reset button on the Shelly device for 10 seconds. Follow the app&#039;s instructions to add the device to your list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: A device initially registers with the Shelly manufacturer&#039;s platform, where its serial number is apparently stored. Once a device has been registered to one account, it &#039;&#039;&#039;cannot be registered to another account&#039;&#039;&#039;, even after a factory reset of the Shelly. If a device is registered to your account, no one else can use it unless you first delete it from your account. This is presumed to be a security feature designed to protect a specific device from unauthorized use.&lt;br /&gt;
&lt;br /&gt;
In the Shelly ecosystem, the &#039;&#039;&#039;serial number and MAC address are the same&#039;&#039;&#039;. Each Shelly device will register with its unique address to the Buttons App. If a device has multiple inputs or outputs, it will still have a single address, and the interface number will be contained within the message itself, even if they appear as distinct devices in the Shelly App.&lt;br /&gt;
&lt;br /&gt;
===Initial Setup===&lt;br /&gt;
After adding your Shelly devices to your application, you can access the individual installed models. The example below shows the page for a Shelly i4, which offers four inputs:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh07.png]]&lt;br /&gt;
 &lt;br /&gt;
At this stage, you can observe the opening and closing of contacts directly in the app; the display shows the status changes in real time. In the example above, contacts (inputs) 2 and 3 are closed, while contacts 1 and 4 are open. This test is convenient for verifying inputs but is not strictly necessary.&lt;br /&gt;
&lt;br /&gt;
Clicking on any of the Shelly devices opens its configuration page. Here, you&#039;ll find the IP address at which the device is accessible via a web browser: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh08.png]]&lt;br /&gt;
 &lt;br /&gt;
Access now the device via your browser, select &amp;quot;Settings,&amp;quot; then &amp;quot;Firmware&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh09.png]]&lt;br /&gt;
&lt;br /&gt;
Update the Shelly to the current stable firmware version. After the required restart, return to the home page and select an input, for example, &amp;quot;Input(0),&amp;quot; and then &amp;quot;Input/Output settings&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh10.png]]&lt;br /&gt;
&lt;br /&gt;
If you have a &#039;&#039;&#039;Plus or i4 model&#039;&#039;&#039;, select &amp;quot;Button&amp;quot; (the default setting is &amp;quot;Switch&amp;quot;). Repeat this setting for all inputs.&lt;br /&gt;
If you have a Pro model, this setting is different and described in its dedicated section below.&lt;br /&gt;
&lt;br /&gt;
===Connecting Shelly and the Buttons App===&lt;br /&gt;
Shelly devices must register with the Buttons App to send status messages. Therefore, each Shelly device needs to be configured with the destination path to the Buttons App.&lt;br /&gt;
&lt;br /&gt;
This path is configured on the Shelly in the menu &amp;quot;Settings,&amp;quot; then &amp;quot;Outbound websocket&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh11.png]]&lt;br /&gt;
&lt;br /&gt;
Check &amp;quot;Enable,&amp;quot; then under &amp;quot;Connection Type,&amp;quot; select &amp;quot;TLS no validation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The path is configured in the &amp;quot;Server:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
The format is: “&#039;&#039;&#039;wss:// + destination + /shelly&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to securely and easily determine the &amp;quot;destination&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Open the PBX advanced interface (devices) and then the &amp;quot;PBX&amp;quot; page. In the &amp;quot;DNS&amp;quot; field, you&#039;ll find the name of your PBX: &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh12.png]]&lt;br /&gt;
&lt;br /&gt;
Make a note of this name, as it&#039;s the first part of your destination. Now, open the Application Platform and select the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If the Buttons App isn&#039;t installed, now is the time to install it on your Application Platform:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh13.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on &amp;quot;Buttons&amp;quot; will reveal the Webserver path:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh14.png]]&lt;br /&gt;
 &lt;br /&gt;
Notice that the path ends with &amp;quot;buttons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The complete path to enter into the Shelly will be composed of these two names.&lt;br /&gt;
&lt;br /&gt;
For example, if your PBX DNS is &amp;quot;testpbx.com&amp;quot; and the Buttons App Webserver path is &amp;quot;butt.mypbx.com/button,&amp;quot; the complete destination path to set in the Shelly will be:&lt;br /&gt;
“wss://testpbx.com/butt.mypbx.com/buttons/shelly”&lt;br /&gt;
&lt;br /&gt;
Once correctly configured and put in the Server input field, the Shelly device will be registered with the Buttons App and start sending messages.&lt;br /&gt;
&lt;br /&gt;
To verify registration, open the Buttons Admin App:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh15.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the &amp;quot;Connected devices&amp;quot; button will display the name and serial number of the connected and registered Shelly devices:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Sh16.png]]&lt;br /&gt;
&lt;br /&gt;
In the example above, three Shelly devices (Plus 1, Pro 2, and i4) are connected.&lt;br /&gt;
&lt;br /&gt;
This screen also shows the Shelly&#039;s serial number, which you&#039;ll need later to set up the Buttons App. You can also find the Shelly serial number on the Shelly&#039;s &amp;quot;Wifi&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh17.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cautio&#039;&#039;&#039;n: The address shown in the Shelly&#039;s &amp;quot;Bluetooth&amp;quot; menu is different and will not be used by the Buttons App. For the Shelly Pro, the serial number is visible on the &amp;quot;Ethernet&amp;quot; page:&lt;br /&gt;
 &lt;br /&gt;
[[Image:Sh18.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can copy and paste the serial number into the Buttons App even with colons; they will be automatically discarded by the Buttons App.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You can also retrieve the serial numbers directly from the logging, as explained in the relevant section.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh10.png&amp;diff=77354</id>
		<title>File:Sh10.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh10.png&amp;diff=77354"/>
		<updated>2025-07-16T13:40:46Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77353</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77353"/>
		<updated>2025-07-16T13:31:47Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the innovaphone Buttons App.&lt;br /&gt;
&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the innovaphone Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App. It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;innovaphone Buttons Ap&#039;&#039;&#039;p.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
The Buttons App is an innovaphone application that lets you link specific input events to various output actions. Examples of input events include calls, function keys on innovaphone IP phones, and other applications, as well as the messages received from Shelly devices. Output actions can be calls, notifications, chats, messages, or applications.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive description of the Buttons App itself and a complete list of supported input and output devices, refer to the concept article (link at the end of this document).&lt;br /&gt;
&lt;br /&gt;
===Electrical Connections===&lt;br /&gt;
The Shelly models discussed in this article are powered by 110 to 240 Volt AC, 50/60 Hz. Please be aware that these voltages are hazardous. Never work on electrical networks without a residual current device (RCD/GFCI) installed. Before mounting or connecting any device, ensure that all wires (not just the live wire, but also the neutral) are disconnected.&lt;br /&gt;
&lt;br /&gt;
Some models can also be powered by 12V or 24-48V DC. We have not tested this setup and will not describe it in this guide.&lt;br /&gt;
&lt;br /&gt;
Third-generation Shelly devices feature polarity protection on the AC side. This means the Shelly will function correctly even if the live (L) and neutral (N) wires are inverted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note&#039;&#039;&#039;: In networks with delta connections, both wires carry voltage.&lt;br /&gt;
&lt;br /&gt;
For intrinsic safety reasons, it&#039;s often common practice to switch the neutral wire, which typically carries no voltage during normal operation. The drawback of this approach is that troubleshooting a potential interruption becomes more difficult (whereas with the live wire, a simple voltage tester suffices to follow the line). Both wiring variants are functional.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Shelly devices typically have the wiring diagram silk-screened directly on them, as shown in this example for the Shelly i4:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh01.png]] &lt;br /&gt;
&lt;br /&gt;
It represents the connections to the outside world, not the internal operation of the device, as further highlighted in the instructions:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh02.png]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As per the diagram, the Live (L) phase is connected to the output towards the contacts. If installed within the same electrical network, it&#039;s also possible to power the inputs directly from the live phase, rather than using the Shelly&#039;s output. However, in this case, ensure the polarity matches the diagram (L and N as shown). If inverted, you&#039;ll need to switch the neutral.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: On Shelly Pro devices, the silk-screened diagram corresponds exactly to what&#039;s detailed in the instructions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh03.png]] &lt;br /&gt;
&lt;br /&gt;
===Contacts===&lt;br /&gt;
Shelly devices are incredibly versatile, reacting to both the &#039;&#039;&#039;closing and opening&#039;&#039;&#039; of a contact. What&#039;s more, they send messages for various interactions like a quick &#039;&#039;&#039;click&#039;&#039;&#039; (fast open-close), &#039;&#039;&#039;double-click&#039;&#039;&#039;, &#039;&#039;&#039;triple-click&#039;&#039;&#039;, and even a &#039;&#039;&#039;prolonged closure&#039;&#039;&#039; (a &amp;quot;Long&amp;quot; press). This &amp;quot;Long&amp;quot; event is also sent for a static closure after a timeout, making it perfect for sustained button presses. The Buttons App can handle all these event types, individually or in combination, giving you immense flexibility.&lt;br /&gt;
&lt;br /&gt;
In safety circuits, contacts are typically normally closed and open in the event of an alarm. This design ensures that a broken wire will also trigger a detection, enhancing safety.&lt;br /&gt;
&lt;br /&gt;
Both Shelly and the Buttons App can be used with circuits featuring:&lt;br /&gt;
&lt;br /&gt;
•	Normally open contacts that close and remain closed.&lt;br /&gt;
&lt;br /&gt;
•	Normally closed contacts that open and remain open.&lt;br /&gt;
&lt;br /&gt;
•	Momentary contacts that close or open (like a push-button).&lt;br /&gt;
&lt;br /&gt;
All transitions, meaning the change from one state to another, will be signaled and can be utilized for various actions.&lt;br /&gt;
&lt;br /&gt;
If a Shelly device restarts, its current status is immediately reported to the Buttons App. Should the contact state change during a restart or while the device is powered off, this new state will be transmitted to the Buttons App, which will then react accordingly.&lt;br /&gt;
&lt;br /&gt;
===Mounting===&lt;br /&gt;
For their &amp;quot;home&amp;quot; models, which are designed for installation in standard electrical boxes (typically for light switches), Shelly offers a DIN rail adapter. This allows for easy mounting in electrical cabinets:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh04.png]]&lt;br /&gt;
&lt;br /&gt;
The adapter features an opening on the back, allowing access to the reset button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Keep in min&#039;&#039;&#039;d: You can only press this button if no other devices are installed close by on the DIN rail. The adapter can be mounted 180 degrees, making the reset button accessible from either the right or left side. Once configured, you typically won&#039;t need to use the physical reset button, as a reset can also be performed via the app or web interface if the device is reachable by IP. After a restart, the device&#039;s status is also refreshed.&lt;br /&gt;
&lt;br /&gt;
In contrast, &#039;&#039;&#039;Pro models&#039;&#039;&#039; are designed exclusively for DIN rail mounting and have their reset button conveniently located on the front, accessible even with the cover closed. They also offer options to customize the behavior of the reset button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Sh05.png]]&lt;br /&gt;
 &lt;br /&gt;
Here&#039;s a refined and improved English version of the entire text you provided, covering initial setup, connection details, and specific Shelly models, along with debugging.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Reference15r1:Concept_Buttons_App]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77352</id>
		<title>Howto:Integrating Shelly IoT Devices with the innovaphone Buttons App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrating_Shelly_IoT_Devices_with_the_innovaphone_Buttons_App&amp;diff=77352"/>
		<updated>2025-07-16T13:11:48Z</updated>

		<summary type="html">&lt;p&gt;Kwa: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;DRAFT&amp;#039;&amp;#039;&amp;#039;   Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the innovaphone Buttons App. The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Shelly, a European (Bulgarian) manufacturer, offers a wide range of Internet of Things (IoT) sensors and actuators. This article will guide you through setting up and using Shelly digital inputs (contacts) to interact seamlessly with the innovaphone Buttons App.&lt;br /&gt;
The possibilities are truly endless! Imagine triggering a phone call when a door contact closes, sending an instant message, initiating time tracking, or even setting up complex conditional actions. That&#039;s because the innovaphone Buttons App allows you to assign a series of parallel actions to any specific event.&lt;br /&gt;
In this document, we&#039;ll walk you through every step of integrating your Shelly devices with the Buttons App. It&#039;s surprisingly straightforward - let&#039;s get started!&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
•	myApps V15r3 or higher&lt;br /&gt;
&lt;br /&gt;
•	Buttons App V15r4 or higher&lt;br /&gt;
&lt;br /&gt;
Note: Tests with Shelly devices were conducted using Shelly firmware version 1.6.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
This article provides a straightforward explanation of the basic concepts needed to integrate &#039;&#039;&#039;Shelly devices&#039;&#039;&#039; with the &#039;&#039;&#039;innovaphone Buttons Ap&#039;&#039;&#039;p.&lt;br /&gt;
&lt;br /&gt;
Please note: We are not Shelly specialists. For detailed information, consult the manufacturer&#039;s documentation, as well as the many forums and videos available online on this topic.&lt;br /&gt;
&lt;br /&gt;
In this guide, we will specifically cover the integration of digital inputs (contacts) for the &#039;&#039;&#039;Shelly i4&#039;&#039;&#039;, &#039;&#039;&#039;Shelly Plus1&#039;&#039;&#039;, and &#039;&#039;&#039;Shelly Pro2&#039;&#039;&#039; models.&lt;br /&gt;
&lt;br /&gt;
While motion sensors and the Shelly USB dongle can also be integrated, they are not covered in this article. However, as Shelly products share similar characteristics, you&#039;ll likely find useful insights applicable to other models as well.&lt;br /&gt;
&lt;br /&gt;
Each Shelly device comes with its own mounting instructions; here, we will only briefly touch upon a few key details.&lt;br /&gt;
&lt;br /&gt;
I&#039;&#039;&#039;t is crucial to read and strictly adhere to all safety guidelines.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
These devices are typically powered by hazardous voltages (usually 220V in Europe). Installing a residual current device (RCD), also known as a ground-fault circuit interrupter (GFCI) in some regions, upstream in the electrical circuit is highly recommended and, in some countries, legally required.&lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
===System Requirements===&lt;br /&gt;
===Installation===&lt;br /&gt;
===Configuration===&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
== Related Articles == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{Integrating Shelly IoT Devices with the innovaphone Buttons App}}]]&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh25.png&amp;diff=77351</id>
		<title>File:Sh25.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh25.png&amp;diff=77351"/>
		<updated>2025-07-16T13:01:20Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh24.png&amp;diff=77350</id>
		<title>File:Sh24.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh24.png&amp;diff=77350"/>
		<updated>2025-07-16T13:01:06Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh23.png&amp;diff=77349</id>
		<title>File:Sh23.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh23.png&amp;diff=77349"/>
		<updated>2025-07-16T13:00:57Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh22.png&amp;diff=77348</id>
		<title>File:Sh22.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh22.png&amp;diff=77348"/>
		<updated>2025-07-16T13:00:46Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh21.png&amp;diff=77347</id>
		<title>File:Sh21.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh21.png&amp;diff=77347"/>
		<updated>2025-07-16T13:00:36Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh20.png&amp;diff=77346</id>
		<title>File:Sh20.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh20.png&amp;diff=77346"/>
		<updated>2025-07-16T13:00:25Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh19.png&amp;diff=77345</id>
		<title>File:Sh19.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh19.png&amp;diff=77345"/>
		<updated>2025-07-16T13:00:16Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh18.png&amp;diff=77344</id>
		<title>File:Sh18.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh18.png&amp;diff=77344"/>
		<updated>2025-07-16T13:00:04Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh17.png&amp;diff=77343</id>
		<title>File:Sh17.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh17.png&amp;diff=77343"/>
		<updated>2025-07-16T12:59:52Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh16.png&amp;diff=77342</id>
		<title>File:Sh16.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh16.png&amp;diff=77342"/>
		<updated>2025-07-16T12:59:40Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh15.png&amp;diff=77341</id>
		<title>File:Sh15.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh15.png&amp;diff=77341"/>
		<updated>2025-07-16T12:59:31Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh14.png&amp;diff=77340</id>
		<title>File:Sh14.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh14.png&amp;diff=77340"/>
		<updated>2025-07-16T12:59:20Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh13.png&amp;diff=77339</id>
		<title>File:Sh13.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh13.png&amp;diff=77339"/>
		<updated>2025-07-16T12:58:59Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh12.png&amp;diff=77338</id>
		<title>File:Sh12.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh12.png&amp;diff=77338"/>
		<updated>2025-07-16T12:58:49Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh11.png&amp;diff=77337</id>
		<title>File:Sh11.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh11.png&amp;diff=77337"/>
		<updated>2025-07-16T12:58:15Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh09.png&amp;diff=77336</id>
		<title>File:Sh09.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh09.png&amp;diff=77336"/>
		<updated>2025-07-16T12:57:55Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh08.png&amp;diff=77335</id>
		<title>File:Sh08.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh08.png&amp;diff=77335"/>
		<updated>2025-07-16T12:57:44Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Sh07.png&amp;diff=77334</id>
		<title>File:Sh07.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Sh07.png&amp;diff=77334"/>
		<updated>2025-07-16T12:57:30Z</updated>

		<summary type="html">&lt;p&gt;Kwa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kwa</name></author>
	</entry>
</feed>