Jump to content
C4 Forums | Control4

Custom Buttons and Scenario Experience - pros/cons?


Recommended Posts

What exactly are the diffences between these and the pros and cons of using one vs the other?  This is my understanding, is this correct?

Custom Buttons - Installed as an agent.  You can install one per room.  These show up on the top level menu for that room (and only the top level?).  When you push the button it brings up a list of up to six actions that you can select.  The icon cannot be customized.

Scenario Experience - Installed as a driver so you need a dealer to do this for you. These can't show up on the top level menu but can show up in menus other than Lights or Shades (why not Lights or Shades?). The icons can be customized but you need to unzip the driver file, edit the image files and reconstruct the driver. You can install multiple buttons per room.

Has anyone come up with an easier way of changing the icons in the scenario experience button?

Are there any other drivers, etc that give similar functionality?

Is there any way to pull forward some devices into higher level menus?  For example to get to my Fireplace I have to go Comfort-Extras-Fireplace.  Can I move the fireplace up to the Comfort screen rather than having it buried under Extras?

Link to comment
Share on other sites


3 hours ago, zaphod said:

What exactly are the diffences between these and the pros and cons of using one vs the other?  This is my understanding, is this correct?

Custom Buttons - Installed as an agent.  You can install one per room.  These show up on the top level menu for that room (and only the top level?).  When you push the button it brings up a list of up to six actions that you can select.  The icon cannot be customized.

Scenario Experience - Installed as a driver so you need a dealer to do this for you. These can't show up on the top level menu but can show up in menus other than Lights or Shades (why not Lights or Shades?). The icons can be customized but you need to unzip the driver file, edit the image files and reconstruct the driver. You can install multiple buttons per room.

Has anyone come up with an easier way of changing the icons in the scenario experience button?

Are there any other drivers, etc that give similar functionality?

Is there any way to pull forward some devices into higher level menus?  For example to get to my Fireplace I have to go Comfort-Extras-Fireplace.  Can I move the fireplace up to the Comfort screen rather than having it buried under Extras?

Custom buttons are a pain in 3.x, they're a bit odd in 2.x as well. It's really the only decent way to deal with a customer that wants something like DSP modes or something.

Scenario buttons outside of the given limitations are quite nice, can turn into a pain for you and your dealer (edit/upload/repeat).

The upside and downside of C4 is that the UI is only so configurable. The upside is it's consistent and easy to program. Things always work the same way. Have you ever seen a windows program with weird and non-standard controls? Annoying? Pain to use? that's the opposite side of the coin where someone thought they know UI design better than the OS developers and you get something that could be wonderful but is more often than not annoying. The difference with C4 is it makes people angry when their houses don't work... lesser of the two evils is to make it fit a pattern, make it consistent and easy to program and support. If the dealer that built it gets hit by a truck, that customer can get good support from another dealer with minimal fuss. The downside is accounting for that uncommon 10% of things people want to do can get annoying from a UI perspective. I'll take it never being broken when I'm out of town for the inconvenience of dealing with the UI.

The one big game changer is in 3.x you can favorite Experience buttons to the room, quite nice. I recommend giving it a try. Just hold down on the button you want to favorite, should get a popup allowing you to favorite it to the room. It also works at a higher level. For example in an alcove in my foyer I have a panel and use the garage door buttons a lot as well as security panel and security cameras. I have the doors, and the panel room favorited as well as the overall icon for cameras. No watch/listen sources in that room so it's sort of an entry/exit security control center. I also have home/away/vacation buttons favorited to the room. Very nice! I believe these show on the Neo remotes as well. You have to do the favoriting on a touchpad or app, but the button will appear in the room on the Neo after that.

 

Link to comment
Share on other sites

@zaphod- you are going to need to try pressing and holding anything and everything in OS3. Like you removed the Sleep button from the main screen (for other readers, this was a topic on another thread).  Pressing and holding any experience button, light, extra, lock or sensor will allow you to favourite it to the main screen of the room. This adds great customisation.

Link to comment
Share on other sites

I work nights sometimes so things like lights, doorbells etc have programming that if Neo nights custom button is active than use this announcement which blanks master suite, if cleaners come don't turn on xyz lights or open master shades. When I wake up I turn it off and things revert. I suppose I could program it to turn off at like 4pm anyway.....actually I'll do that now. Things like that.

Link to comment
Share on other sites

59 minutes ago, South Africa C4 user said:

@zaphod- you are going to need to try pressing and holding anything and everything in OS3. Like you removed the Sleep button from the main screen (for other readers, this was a topic on another thread).  Pressing and holding any experience button, light, extra, lock or sensor will allow you to favourite it to the main screen of the room. This adds great customisation.

This is great and you don't have to do a f&^*n Refresh Navs to have your changes appear.  They appear instantly.

Can you also do the opposite of Favoriting?  For example, I don't use lighting, comfort or security very often from the app.  I might want to drop them down from the top screen to an Other screen or something similar.  Can you do that?  I guess I really want the flexibility of arranging apps in iOS.  I can have them where I want on the top screen or I can nest them in folders.

Link to comment
Share on other sites

46 minutes ago, zaphod said:

This is great and you don't have to do a f&^*n Refresh Navs to have your changes appear.  They appear instantly.

Can you also do the opposite of Favoriting?  For example, I don't use lighting, comfort or security very often from the app.  I might want to drop them down from the top screen to an Other screen or something similar.  Can you do that?  I guess I really want the flexibility of arranging apps in iOS.  I can have them where I want on the top screen or I can nest them in folders.

You can drop them off the main screen (by holding and deleting).  They will then only appear in the home menu (which is accessed by pressing the 4 in the top left of the screen.  It really is a great feature (and I have cleaned up all my rooms using this) and not having to refresh navigators is a massive plus!  You add them back by pressing and holding the item in the home menu...

Link to comment
Share on other sites

Very cool.  It appears that when you do this customization in Navigator the changes occur on all Navs, correct?  So all c4 users on your system will see the same Nav, rather than the Nav on my iPhone be different than what my wife sees on her iPhone.

Link to comment
Share on other sites

Favorites are *room* favorites, so any UI using that room will see the favorites, as long as they apply.

For example, Camera, Intercom, Web Link UIButtons and a few others don't really apply on the Control4 Neeo Remote, so they won't show up there when favorited on other devices for that room.

RyanE

 

Link to comment
Share on other sites

Thanks, I just wish it was easier to do custom icons.  Someone should write a script that lets you take an image that is the largest icon size and will resize it to all required sizes and then cut it back into the c4z file.

Something like this

changeicon experience-button-scenario.c4z my-custom-experience.c4z myicon.png

Does something like that exist?

Link to comment
Share on other sites

8 minutes ago, zaphod said:

Thanks, I just wish it was easier to do custom icons.  Someone should write a script that lets you take an image that is the largest icon size and will resize it to all required sizes and then cut it back into the c4z file.

Something like this


changeicon experience-button-scenario.c4z my-custom-experience.c4z myicon.png

Does something like that exist?

That would be great!

Link to comment
Share on other sites

9 minutes ago, zaphod said:

Thanks, I just wish it was easier to do custom icons.  Someone should write a script that lets you take an image that is the largest icon size and will resize it to all required sizes and then cut it back into the c4z file.

Something like this


changeicon experience-button-scenario.c4z my-custom-experience.c4z myicon.png

Does something like that exist?

Sounds like something @msgreenfcould / should 😀 add to the Driver Renamer Driver or create a Picture Repicture Driver

Link to comment
Share on other sites

In order to do this would need the ability to unzip the original file then take a .png image file and resize it to a bunch of smaller .png files

If I get some time I might try to hack something together in Python. There appear to be Python packages to handle zip files and to handle resizing.

But then you would need to have your dealer add the driver into the correct room in Composer Pro.

 

Link to comment
Share on other sites

I built this batch file (sorry, windows only) to quickly do the work. All you need is the default experience driver unzipped and a selected/default png image and the script does the rest. See "instructions" in the comments.

*Use at your own risk. No error checking. Enjoy. Works for me :)

 

@ECHO OFF

:: DO ALL your work in the \www\icons\device directory.
:: Put the NEW icons in eg. reboot-green and reboot-red.
:: Run this script (from that same directory) and you'll get all new icons AND put in the right locations!

:: Use https://www.iconfinder.com/icons/ to get icons
:: Requires ImageMagick-7.0.11-1 eg. c:\Programs-Portable\ImageMagick-7.0.11-1
:: Download from https://imagemagick.org/script/download.php

:: After images done, modify the driver.xml file with new names AND new path locations

:: zip up the contents within the directory (eg. at same level of driver.xml)
:: move the file from .zip to .c4z
:: add driver to project

:: ###
:: Request icon names...
set /P iconnamedefault="Full name with extension of the Default Non-Selected Image (aka white.png)? "
set /P iconnameselected="Full name with extension of the Selected Image (aka green.png)? "
:: Do the work...
ECHO Creating default images...
magick convert %iconnamedefault% -resize 70x70 default_70.png
magick convert %iconnamedefault% -resize 90x90 default_90.png
magick convert %iconnamedefault% -resize 300x300 default_300.png
magick convert %iconnamedefault% -resize 512x512 default_512.png
magick convert %iconnamedefault% -resize 1024x1024 default_1024.png
ECHO Creating selected images...
magick convert %iconnameselected% -resize 70x70 selected_70.png
magick convert %iconnameselected% -resize 90x90 selected_90.png
magick convert %iconnameselected% -resize 300x300 selected_300.png
magick convert %iconnameselected% -resize 512x512 selected_512.png
magick convert %iconnameselected% -resize 1024x1024 selected_1024.png
ECHO Creating small images for icons...
magick convert %iconnamedefault% -resize 32x32 device_lg.png
magick convert %iconnamedefault% -resize 16x16 device_sm.png
ECHO Moving images around and almost done...
copy /Y default_70.png ..\..\icons-old\device
copy /Y default_90.png ..\..\icons-old\device
copy /Y default_300.png ..\..\icons-old\device
copy /Y selected_70.png ..\..\icons-old\device
copy /Y selected_90.png ..\..\icons-old\device
copy /Y selected_300.png ..\..\icons-old\device
copy /Y device_lg.png ..\..\icons-old
copy /Y device_sm.png ..\..\icons-old
move /Y device_lg.png ../
move /Y device_sm.png ../

 

Link to comment
Share on other sites

Thanks!  It looks like you don't rezip all of the files into the c4z file, is that correct?  I was putting together Python code last night.  I have the resizing done, now just the unzipping and rezipping and I think you have to do a search and replace in the xml or lua file with the driver name.

My goal is to have something like this:

python3 driver_create.py olddrivername newdrivername defaulticon.png selectedicon.png

This should then create a file called newdrivername.c4z that has the new driver.  So it would be a bit more automated then your batch file. I am doing this using Python3 in Ubuntu20 running under WSL2 on Win10 but hopefully this will work in any Linux or Windows install. 

Link to comment
Share on other sites

Agreed. You could take what I did above and automate the full thing. I found the other bits not to be that time-consuming (and I don't do it so often) so the investment of full automation wasn't there for me. But would love to see your python script when done! Heck, put a php interface on top and open it up to the world :) Upload two images, name the experience button, and presto you have a driver ready to load.

Link to comment
Share on other sites

One question on the driver file structure.  Why is there a icons-old folder?  What is it used for?  Is this used for something like OS2 Navigators or some other older type of Navs?

And the device_lg and device_sm icons - are these just used by Composer or are they used anywhere else as well?

Link to comment
Share on other sites

1 hour ago, zaphod said:

One question on the driver file structure.  Why is there a icons-old folder?  What is it used for?  Is this used for something like OS2 Navigators or some other older type of Navs?

And the device_lg and device_sm icons - are these just used by Composer or are they used anywhere else as well?

Not sure. It was easy enough to just replicate the icons there and keep the structure. Sorry, don't know.

Link to comment
Share on other sites

1 hour ago, cjh said:

Agreed. You could take what I did above and automate the full thing. I found the other bits not to be that time-consuming (and I don't do it so often) so the investment of full automation wasn't there for me. But would love to see your python script when done! Heck, put a php interface on top and open it up to the world :) Upload two images, name the experience button, and presto you have a driver ready to load.

Now that would be great!

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.