In my previous smart home articles I looked at getting started, lighting and heating and in this post I am going to look at some apps and services you can use to add automation and intelligence to your smart home. These are the ones I use them most and hopefully will give you a taster to what is possible.
As I have been building up my smart home I come across some really handy apps that enable things like notification when the house is cold, text alerts when my home camera picks up motion and turning my Sonos on when I get home.
The apps for integration I use are IFTTT which is available for iOS and Android as well as a comprehensive web site, Stringify which is available for iOS and Android and anther app I use is Yonomi (iOS and Android). The apps work with triggers and actions so a trigger could be movement in your house detect by a camera and the action could be to turn on your Philips Hue lights.
The difference between the Stringify and IFTTT is that IFTTT is much simpler and easier to get started with than Stringify. IFTTT applets have a one trigger linked to one action where as Stringlify can have multiple triggers and actions so you can create more advanced routines. IFTTT has links to more services than Stringify so which one is best to use depends on your requirements. I use a combination of both and you can also have then work together.
IFTTT
IFTTT works by you creating applets which link together services, so before you start you link up your smart home services with IFTTT. I connected up my Philips Hue lights, D-Link plugs, Netgear security, Hive accounts along with other useful services like Twitter, Gmail and Facebook. Go to https://ifttt.com/my_services to connect up your services.
Once you have your services connected you can then create an applet which is a combination of trigger and action. An example could be to turn on a table light when a security camera motion sensor is triggered, to do this you create a new applet on IFTTT and then select your trigger (“this”) https://ifttt.com/create/if?sid=2
You search for your service which in my case is Arlo and pick a trigger which for this example is Motion detected from my kitchen camera:
Once you have created your trigger you then tell IFTTT what action you want it to take. So once again you search for your service (in my case Philips Hue)
You can then select what action you want, it could be to blink the lights or turn on a colour loop. I am going to set my lights to blink:
You can then save the applet and it will work straight away.
You can have any combination of trigger and action but the limitation is there is one trigger to one action, if you want something a little more complicated there is Stringify.
Stringify
Stringify is an iOS or Android app that you create “flows” using “things”. Things can be objects like Philips Hue lights, Amazon Alexa, RSS feeds, Gmail, Nest, Samsung Things and so on. The list of supported services is not as extensive as IFTTT but they are adding more services all the time plus you can also trigger IFTTT from Stringify.
Once you have connected your things you when create a flow. I created a more advanced version of my IFTTT motion trigger using Stringify. This one uses motion detected via the Arlo camera to trigger an alert on my phone but with the addition of a time of day clause. So if motion is detected on my Arlo camera and its after midnight (but before 6am) I get a notification on phone and it turns on the Philips Hue lights. Five minutes later it switches off the lights.
As you can see from the screen shot the flow works by having a combination of the motion alert and the date & time restriction, and then there are two sections triggered by the action. The Hue light turns on and then there is a timer which waits for five minutes and then turns the lights back off. Also at the same time
I also have another flow that via an Amazon Alexa command arms my Arlo security system and then sends me a notification to show its been activated. I say “Alexa ask Stringify to arm security” and it turns on my camera system. So you can have any Alexa command run any flow, so you could use Alexa to email you what the traffic looks like going to work or use Alexa to turn off your heating, turn off your lights and arm your security.
Stringify is great for having multiple actions as well as If, this and that type flows. The app is free and available on iOS and Android.
Yonomi
Another app that is very handy is Yonomi for iOS and Android, this is another app for creating flows and the main reason I use is to control Sonos. Sonos currently doesn’t work with Amazon Alexa but Yonomi supports some basic controls of Sonos and works Alexa so you can use the app to create some basic voice commands for Sonos.
Yonomi works by creating routines that have a When (such as an Alexa trigger), Action (such as play Sonos) and “but only if” conditions. An action would be to set the Sonos volume at 50%, turn on your lights and then resume Sonos playback.
As with the other services you first link the services you want to control (like Philips Hue) and some devices like Sonos it detected then via a network scan. You can then create a routine selecting the triggers and actions you require. The integration with Sonos is limited to playing a favourite, playing a sound effect, play, pause, next, previous, set the volume, mute or unmute your device. The other thing to note is that the routines that work with Sonos require you being on the same network as your Sonos as it is using UPnP under the covers. If you are only planning to control your routine via Alexa you don’t need a trigger in Yonomi.
Once you have created a routine you ask Amazon Alexa to detect new devices in the Smart Home section of the app, it will see the routines as switchable devices so if you create a Yonomi routine called “Sonos” that triggers your Sonos to play music you can trigger it by saying “Alexa, turn on Sonos”. While it’s not as good as being able to ask Alexa to play a song or playlist on your Sonos it is the best that can be done until Sonos add full Alexa integration to their devices.
These are my three favourite services, here are some others I like to use:
hueDynamic – Window 10 PC & Mobile
hueDynamic is a great app for controlling Hue lights from Windows 10. You can set static colour ambiences and colours, you can also control experiences which are animated colour changing setups like flickering fireplace or gently changing moods. It can even use the PC camera and pick out the dominant colours and set Hue to match it, so you could have it looking at your TV and it would great a matching ambient colour on your Hue devices.
Conclusion
Other apps I use are Home Remote for Windows 10 and Android which can control Sonos, DLNA devices, Honeywell, Nest, Philips Hue, Wemo and more. HueManic for Android is another one I use which has a great party lights mode.
With these combinations of apps and services you can add smart functionality to your home and extend the features of the services you have setup. If you have any recommendation of apps I should take a look at please let me know.
Yup, its a spare time (read as ALL my spare time) project. The creators update has introduced some camera bugs so I’m just working around those at the moment. I’ll certainly check the podcast out!
{"id":null,"mode":"button","open_style":"in_place","currency_code":"GBP","currency_symbol":"\u00a3","currency_type":"decimal","blank_flag_url":"https:\/\/thedigitallifestyle.com\/w\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/thedigitallifestyle.com\/w\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"TheDigitalLifestyle.com","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"TheDigitalLifestyle.com","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for being a supporter!","payment_confirmation_title":"TheDigitalLifestyle.com","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
Hi Ian, thanks for the great review of hueDynamic 🙂
No problem, it is a great app!
no problem. Are you the developer? If so it would be great to get you onto our podcast.
Yup, its a spare time (read as ALL my spare time) project. The creators update has introduced some camera bugs so I’m just working around those at the moment. I’ll certainly check the podcast out!
Have a listen and if you want to come onto the show to talk about your app let me know.