Welcome to Smart Home Forum by FIBARO
Dear Guest,
as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.
As a member you can:
- Start new topics and reply to others
- Follow topics and users to get email updates
- Get your own profile page and make new friends
- Send personal messages
- ... and learn a lot about our system!
Regards,
Smart Home Forum by FIBARO Team
Question
AutoFrank 372
Hi Everyone
Smart Message Hub v1.2 (SMsgH v1.2) is now available.
This release includes fixes tor three bugs that had various impacts and support for international characters.
Thanks to @Sankotronic and @szmyk for locating the faults and extra feature for international characters
"FIRST TIME USERS" - Please read below and follow the instructions laid out for first time users
UPGRADING FROM 1.1b to 1.2 - Please use this
Please login or register to see this link.
- if you are a current user and may wish to consider avail of the fixes or extra featureThis scene enables a user to send a message from either a scene or a virtual device to a number of notification and TTS services with a startScene call
Please login or register to see this code.
The scene also enables messages to be re-routed or queued depending on whether the house is set to Away mode, Sleep mode or if internet is not available. (See below for more details)
A demo VD {v1.1} is also available to help demonstrate the scene features.
SCENE FEATURES
Smart Configuration options include the ability to re-route and/or queue all messages under certain conditions. (Internet unavailability , home occupancy mode presentState = Away)
Messages with international characters are also supported
Please login or register to see this link.
on popup notifications to see how to formatConfiguration options also include a default message notification target, title, subtitle and volume but all these can also be specified as part of the message invocation.
There are three levels of debug verbosity. In normal mode there is a minimal amount of information displayed as the scene is triggered.
The two other modes allow for much more expressive displaying of scene variables as well as configuration settings if enabled
deBgVar is enabled in the scene so you can see the interactions- it can be disabled in normal running mode
SCENE MESSAGING OPTIONS
The supported services in this release include the following (supported in 1.0 & 1.1)
Please login or register to see this link.
Please login or register to see this link.
Please login or register to see this link.
Please login or register to see this link.
I have also included a Companion Demo VD. The virtual device will allow the user to demonstrate the scenes queuing/unloading capabilities.
CAUTION: The companion VD in demo mode can adjust the presentState and sleepState globals and will cause any other scene you may have with this as a trigger to execute
A simplified version of the LAN Monitor VD called the WWWAPI Monitor will monitor just the sonos-api if desired and does not any in-built notification options like the LAN Monitor VD 2.5.Smart Message Hub users should use either the WWWAPI Monitor or LAN Monitor 2.6
Special thanks extended to @Sankotronic @petergebruers, @jompa68 and @szmyk for their contributions leading to 1.2
Once the scene configuration is complete I would recommend running the demonstration virtual device.
This will give you a better understanding of the options and features as well providing some sample messages that you can run.
Ideas for subsequent revisions are always welcome
_f
RELEASE CHANGELOG
v1.0 - First release (march 4th 2017)
v1.1 - Second release (march 17th 2017)
v1.2 - Third Release (june 24th 2017)
================================================
FIRST TIME USERS - INSTALLATION & CONFIGURATION
================================================
The code is available in both lua and txt format below
Paste code into scene and run - All global variables will be automatically created (Please do not adjust global triggers in scene header)
MESSAGE INVOCATION
This message hub can be called from either a scene or a virtual device using a startScene call. The following is an example Sample invocations are included below
Please see the section on Message Invocation lower down in this post of you wish to send messages with international characters
Please login or register to see this code.
Note: Replace IDofSMsgHscene with HomeTable reference of numerical ID of the SMsgH scene when it is installed on your system
You need to include all parameters up to last one you populate. For example, if you want to specify a subtitle, you need to include message, target, volume and title as well.
You CANNOT leave out a parameter in the call. Leave as "" if not used/required and default will be invoked.
**USER CONFIGURATIONS & SETTINGS**
OPTIONS FOR SMART RE-ROUTING OF MESSAGES
The following four options can be set to true or false depending on what features you wish to enable.
Please login or register to see this code.
Set to true to enables re-routing of sonos TTS messages from either the Sonos VD or the sonos-api solution to HC2 notification Popup if the sonos-http-api or Internet is unavailable/offline to your local LAN
Please login or register to see this code.
Enable to Silence TTS announcement in sleepState, TTS announcements are NOT queued, they are simply discarded
Please login or register to see this code.
Enable a Delay before TTS announcements are unloaded (seconds). Leave as "" for no delay
Please login or register to see this code.
Set to true to enable Sonos TTS messages to queue when presentState = 'Away'. When presentState is set to Home it triggers the scene to automatically unload all the messages in the TTS queue to the default player that has been named in the configuration section
Please login or register to see this code.
Set to true to enable all notifications to re-route to HC2Popup notifications if the internet is unavailable/offline to your local LAN
Please login or register to see this code.
Set to true to enable all notifications to queue when presentState= 'Away'. When presentState is set to Home it triggers the scene automatically and unloads the message in the notifications queue to the default notification service that has been named in the configuration section below
The scene as provided has all these 4 options set to true and this is the recommended setup if you wish to leverage full functionality and the demo
OPTIONS TO MONITOR THE INTERNET STATUS
To achieve the most benefit from this scene the internet and sonos-api should be dynamically monitored. Dynamically monitoring the internet will enable messages (TTS and notifications) to be queued while the internet if offline. Queued message can also be sent as hc2 pop notifications on the local LAN. The preferred monitoring option is named here. The example below is setup to use the LAN Monitor VD 2.5
Please login or register to see this code.
There are 3 options available:
HC2 EMAIL CONFIGURATION
Please login or register to see this code.
List all users that you want to be able send messages to. The user id's are located from the HC2. Select Configuration, then Access Control to see the current users.
HC2 PUSH CONFIGURATION
Please login or register to see this code.
List all users that you want to be able send push messages to. The mobile devices ID can be found by going to http://<HC_IP>/docs/ and looking under iosDevices section.
Please login or register to see this code.
Select a default user from this list and this is used if there is no user specified as part of the message invocation.
TTS PREFERENCES
Select your TTS preference. If you use the sonos-http-api solution please enter API.
If you use the Sonos VD Remote solution please enter REM.
Please login or register to see this code.
Default volume for TTS announcements
Please login or register to see this code.
This allows you to select a default volume and this aplies to both the API and REM sonos solutions. This volume can be changed by including a different volume in the message invocation
SONOS-API PREFERENCES
Configure this section if you have selected API in the above section.
Please login or register to see this code.
List all the sonos players you want to send TTS messages to.
The zone/player names must match exactly what is on your sonos native application
Please login or register to see this code.
The default player/zone selected is used to unload the TTS message when presentState = Home.
The default player must be included in the overall players list above
Please login or register to see this code.
The ip address and port are of the device that is hosting the sonos-api
Please login or register to see this code.
The final item here is the language or voice code for the respective TTS service. Thisoculd be something like en-gb for google or Amy for AWS Polly
SONOS REMOTE VD PREFERENCES
Configure this section if you have selected REM in the above section.
Please login or register to see this code.
List all the sonos player virtual devices you want to send TTS messages to. The virtual device id's and process button id’s much match exactly what is on your HC2 for each virtual device. Please note the process button may differ if you have modified the standard virtual device.
Please login or register to see this code.
The default player/zone is user to unload the TTS message when presentState = Home.
This zone must be included in the overall REMplayers table and the name must match exactly.
Please login or register to see this code.
The final item in this section is the language or voice code for the respective TTS service
DEFAULT TITLES AND SUBTITLES
This scene has default titles and subtitles and these are used if no title or subtitle is included in the message invocation.
Please login or register to see this code.
Adjust the default titles and subtitles as you require. Note: Subtitles are only used for PopUp Notifications
NOTIFICATION SERVICES
There is a broad range of notification services available to use. Some are native to the home center and others are third party services provided by external vendors.
Please login or register to see this code.
Select the default notification service that you wish to use. This default service will be used if no service is invoked in the message and is also used as the service to unload the queued messages when presentState = Home
PUSHOVER CONFIGURATION
This service is provided by pushover.org. You will need to register with them and obtain a token and user key.
Please login or register to see this code.
Once registered you will need to select the devices that you wish to send the pushover notifications to. Once they are added to your pushover account you will need to add their details below. Currently there is only one setting for device which means that all messages to pushover will be send to the devices named in this list. Priority can be set at ) like I have below
Please login or register to see this code.
TELEGRAM CONFIGURATION
This service is provided by telegram.org. You will need to register with them and obtain a token and a chat ID
Please login or register to see this code.
DEBUG VERBOSITY OPTIONS
This allows a number of levels of debug verbosity. There is a minimal amount of debug window responses running in normal mode but these two capabilities allow the user to observe extra information in the debug window when the scene is running.
Please login or register to see this code.
OCCUPANCY/PRESENCE STATE
I am also supporting the presentState as it is defined by Sankotronic and others.
-- "PresentState" is predefined global value that determines if you are at home
-- or away. This variable value is set by other scene or VD. Enter name of your
-- global variable between "" if called different or leave as it is
Please login or register to see this code.
-- Enter corresponding values that you use for presence in your language. Change
-- the one in quotes or leave as it is
Please login or register to see this code.
HOMETABLE
There is also support for the hometable solution. Hometable is a approach to storing all device ID in a global variable. Please Uncomment the following line if you wish to use Hometable data in scene
Please login or register to see this code.
POPUP MESSAGE TYPES
Default popup message type, possible values: Success, Info, Warning, Critical.
Please define popup message default popup type, button caption and buttons if you wish
These defaults can be left as is or modified/translated into your own language
Please login or register to see this code.
Please refer to Sankotronic Tutorial "Popup Notifications and Custom Images" for format and examples
POPUP REDIRECT TITLES AND SUBTITLES
Please amend the text sent to PopUp Notification when Internet or TTS is offline to your own language if you wish. Both Title and subtitle can be modified
Please login or register to see this code.
SAMPLE MESSAGE INVOCATIONS
The message function can be invoked with as little as one parameter or as many as five parameters. The following examples will provide a good understanding.
Send message to default notification service, with default titles/subtitles
Please login or register to see this code.
Send message to specific notification service
(The notification service must match exactly what is contained in the notifySve table in the variables section)
Please login or register to see this code.
(The hc2user in the message invocation must match exactly what is contained in the hc2emailUsers table in the user configuration section)
Please login or register to see this code.
(The hc2push device in the message invocation must match exactly what is contained in the hc2emailUsers table in the user configuration section)
Please login or register to see this code.
(The sonos player name in the message invocation must match exactly what is contained in either the APIplayers or REMplayers table in the user configuration section)
The target can also specify sonos player or VD id for TTS with options
Please login or register to see this code.
Custom titles and subtitles can also be specified. These will overwrite the default titles and subtitles. Subtitles are only available for HC2 Popup notifications. They can be used with or with a target notification. If the target is omitted it will send to the default notification service that has been named in the configuration section
Please login or register to see this code.
Finally an example of a Message to popup with specified popup type
Please login or register to see this code.
MESSAGE WITH INTERNATIONAL CHARACTERS
If you want to send message with special characters just use urlencode function:
Please login or register to see this code.
Please login or register to see this code.
COMPANION DEMONSTRATION VD INSTRUCTIONS (1.1)
A number of sample notification and TTS messages can be activated giving the user an understanding of the message invocation format and options
Demonstration mode enabled the toggling of 'Internet online/offline', presentState Home/Away, sleepState Sleep/Awake modes. This capability allows the used to observe the queuing and unloading of queued notification messages and TTS messages in action.
Import the VD into your home center 2.
Review the messages and adjust based on your own implementation of Smart Message Hub
Send messages and TTS as required
To demonstrate the queuing and unload of queue’s
FILES
[Smart Message Hub SCENE]
Please login or register to see this attachment.
(lua file)WWWAPI Monitor Virtual Device
[VIRTUAL DEVICE]
Please login or register to see this attachment.
Companion Virtual Device
[VIRTUAL DEVICE]
Please login or register to see this attachment.
Top Posters For This Question
69
33
16
9
Popular Days
Mar 10
21
Apr 27
16
Jun 30
12
Mar 21
10
Top Posters For This Question
AutoFrank 69 posts
jimicr 33 posts
Sankotronic 16 posts
shaunfrost 9 posts
Popular Days
Mar 10 2017
21 posts
Apr 27 2017
16 posts
Jun 30 2017
12 posts
Mar 21 2017
10 posts
Popular Posts
AutoFrank
Hi Everyone Smart Message Hub v1.2 (SMsgH v1.2) is now available. This release includes fixes tor three bugs that had various impacts and support for international characters. T
szmyk
@AutoFrank, @Sankotronic, @DonQuischopp I've found a solution Add this code to the SMsgH at "HELPER FUNCTIONS" section: Please login or register to see this code. and replace thi
ReneNL
@RubberDuck, @AutoFrank, there are indeed two small bugs I found in the popup service (I struggled to get it working as well...). First one is on line 799, where 1c204d904db54d4f73efc8b
Posted Images
210 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.