In part one here I discussed the installation and setup for the newer project called KodiRemote for integrating Kodi Media Center and the Micasaverde Vera Z-wave controller. This is based on the older project XBMCState.
In part two I will look at creating some scenes in Vera and using the playback status updates sent from Kodi to Vera to automate some lighting and curtain control. In Vera I created three new scenes.
Kodi – Close Curtains
Kodi – Lounge Dim 25%
Kodi – Lounge On
Scene – “Kodi – Lounge Dim 25%”
On the Triggers tab of this scene I created four new triggers. I named them as follows:
Kodi – Video Resumed
Kodi – Video Starting
Kodi – Music Starting
Kodi – Music Resuming
So if any of these triggers are detected the lights will be dimmed down to 25%.
If we look at one of the triggers we can see in more detail how it works. Under the “Device” field you select the KodiRemote device instance you would like to configure. As these scenes are for the Kodi HTPC in my Living Room I selected the #113 “Kodi01 – KodiRemote” device from the device list.
In the “What type of event is the trigger?” Select “Player State Changes”.
In the “Name for this trigger” field give the trigger a suitable name, in this example I called it “Kodi – Video Resumed”.
In the “Player State” field you select the playback state of Kodi, in this example I selected “Video is resumed”.
This means that when Video is resumed on the Kodi Media Center PC, this Vera scene with this trigger will then perform some action.
Here is another screen shot of the “Kodi – Music Starting” trigger.
So once you have created all your triggers we then need to complete the scene creation by adding our actions that Vera will carry out.
In my case I have some LUUP code that should be run when either one of the four triggers are detected.
I have also created a Virtual Switch in Vera using the Virtual Switch plug-in from the MiOS Marketplace here.
I named the Virtual Switch “Link Kodi to Devices?”
If the Virtual Switch is turned ON then Kodi Media Center is linked to the three scenes.
Kodi – Close Curtains
Kodi – Lounge Dim 25%
Kodi – Lounge On
If the Virtual Switch is turned OFF then Kodi Media Center is not linked to the three scenes and the automation of dimming or brightening the living room lights or automatically closing the curtains, will not happen.
E.G. By using a Virtual Switch such as this one, you can turn on and off the integration between Kodi and Vera which is very useful, as you might not want it to happen all the time.
In the name field enter a suitable name for the Virtual Switch.
In the Text1 field I entered the text “Linked = ON”.
You also need to make a note of the Virtual Switches device ID number in Vera? As we will use this in our scenes LUUP code.
Here is the Luup code from my “Kodi – Lounge Dim 25%” scene.
1. Checks first to get the current status of the Virtual Switch with the device ID number 92. Is it on or off? 1 is ON 0 is OFF.
2. If that Virtual Switch device is currently turned ON then..
3. Run another scene to turn on the Lounge lights, in this case it runs my scene number 1 which is just a regular scene that turns on the lounge lights to 100%.
4. If the Virtual Switch was turned OFF then it would just end and not do anything.
So with these two scenes and the triggers that have been added to each and if the Virtual Switch is turned ON, then for example if I start playback of a movie in Kodi Media Center, the lounge lights will automatically dim down to 25%. And if I then pause or stop video playback the lounge lights will automatically brighten up to 100%.
Obviously we only want this to take place when its actually night time, this is where the Day or Night plug-in for Vera we installed in Part one comes in to play.
In the KodiRemote (Micasaverde Kodi Event) add-on for Kodi in the settings there, we need to specify that the various playback states are set to “Night”.
And finally I have a third scene in Vera for my Z-wave curtain rail.
I only have one trigger in this scene and that is “Kodi – Video Starting”.
Basically this scene closes the curtains if it is currently night? and if the curtains are still open? and if I start to play video in Kodi Media Center, then the curtains will be automatically closed.
Here is the LUUP code for the “Kodi – Close Curtains” scene.
1. Checks first to get the current status of the Virtual Switch with the device ID number 92. Is it on or off? 1 is ON 0 is OFF.
2. If that Virtual Switch device is currently turned OFF then just end and do nothing.
3. Checks to see if the curtains are currently opened or not? Device ID #107 is the device ID number in Vera for my Fibaro Blind Controller module.
4. If the curtains are open (which is 100) then..
5. Run another scene to close the curtains, in this case it runs my scene number 138, which is just a regular scene that closes the curtains.
6. End.
These are the three regular scenes in Vera, that the Kodi automation scenes run when all the conditions are met. And these scenes ID numbers are the ones referenced in the various LUUP code above etc.
Summary
Well I hope this all makes sense as its quite hard to explain. But with the KodiRemote add-ons for Kodi Media Center and Vera, you can integrate the two together and have Vera perform actions based on Kodi’s current media playback status. I am sure there are various ways of setting up your scenes in Vera, I’m for example not using PLEG and tend to just add the LUUP code myself. But as long as you know how to create the triggers with the KodiRemote devices, then you can go about creating the actions for your scenes as you normally would.
Here is a short video clip showing “Video Starting” playback in Kodi. I then pause and resume the video a few times. The video quality isn’t great, but you get the idea if you watch it.
{"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}