Post Pics of Your Control Pages HERE!

Posted on
Tue Jan 24, 2012 9:10 am
ticotice offline
Posts: 54
Joined: Oct 21, 2005

Re: My Sprinkler Control Page

[/quote]Take a look at the sprinkler plugin. While it can support multiple controllers, it also works well with a single controller. Each virtual sprinkler device represents a specific sprinkler with a specific schedule. The schedule can be period based (every n days) or based on the days of the week. Currently, only one watering period is supported and all watering starts at a pre-set time and continues until all watering for the day is done.

However, this is definitely still a work in progress, and it is quite possible to add new features like additional scheduled times per day.

Taks a look and post or PM me if you are interested in working with it.[/quote]


Thanks! Will review your plugin post. I'm pretty new to the Control Pages side of Indigo, but it is amazing what is possible with the right hardware/software combo!

Posted on
Fri Feb 17, 2012 9:14 am
Dewster35 offline
Posts: 835
Joined: Jul 06, 2010
Location: Petoskey, MI

Re: Post Pics of Your Control Pages HERE!

My whole house audio page... lots of time put into this bad boy.

Everything is functioning although probably not as efficiently as it could and I'm still working on a bug with the album art. Also really tried to get the song info section to not look so haphazard, but with some of the songs filling up the entire width of that section, I just kind of ran out of space for placement. Having the text wrap to width would be some nice functionality to have in displaying some of that information.

I control pandora, itunes and system audio. The apps on the upper left jump out of indigo with an external URL and ready the system for airplay. I then airplay to speaker "server" which routes the audio through the rest of the zones in the system.

Unified controls with the exception of controlling the airplay apps obviously... Pandora functioning thumbs up and down. iTunes functioning repeat, and shuffle. I can also do a genus playlist off of a playing song in iTunes. I am contemplating making the unusable control buttons hidden when their source isn't playing... but that's probably a down the road thing.

Tapping a playlist cues up that playlists and automatically switches sources and starts playing.

Also, any stations or playlists that don't seem tasteful are likely my wife's!

Thanks to everyone who has helped to contribute to these by helping with applescript, indigo functionality etc.
Attachments
IMG_0051.PNG
IMG_0051.PNG (376.78 KiB) Viewed 1900 times

Posted on
Fri Feb 17, 2012 10:40 am
Mark offline
User avatar
Posts: 99
Joined: Apr 21, 2005
Location: California

Re: Post Pics of Your Control Pages HERE!

Awesome.

Curious:

- Do the Airplay Apps buttons actually jump to their respective iPad apps? Wow. Can we see what those URLs look like?

- How are you managing to bring in the Album art? That's way cool. Please share.

- Do you have AppleScripts for controlling the individual volumes from the master iTunes, or are you controlling volume at each destination? Because if it's the former, I'd love to see that AppleScript.

And thanks, now I don't feel so bad about the work I put into my Audio page! :) (I can relate to your efforts!)

Mine controls my home audio hardware and playlists, as yours does. And I have controls for visualizers, video scenes and photo albums that appear on various TV screens and monitors; iTunes equalizers; and the ability: to remove the current song from its playlist, to flag the current song for later review (like if it skips or is in the wrong playlist) and to rate songs with iTunes' stars. Oh, and the plus buttons add the current song to the respective playlist. I found that being able to modify playlists remotely is the way to go. I went with a few Internet radio stations, but I like your Pandora control. I'll have to look into that.

The upper-right buttons are "one-touch" that launch iTunes, mount media servers, turn on appropriate receivers and TVs, and initiate a playlist along with its associated visuals and settings.

Pages and pages of AppleScript...

Image

Posted on
Fri Feb 17, 2012 11:12 am
Dewster35 offline
Posts: 835
Joined: Jul 06, 2010
Location: Petoskey, MI

Re: Post Pics of Your Control Pages HERE!

Wow... my page looks downright barren in comparison to yours! My goal was to keep things simple and not HAVE to zoom. My wife is pretty techie compared to most, but I wanted to make it as easy as possible. Hence the simplicity.

I am no script writer by any means... like I said, things aren't going through as efficiently as they ought to be.

Mark wrote:
Awesome.

Curious:

- Do the Airplay Apps buttons actually jump to their respective iPad apps? Wow. Can we see what those URLs look like?

Yes. music:// brings you to the music app on an iOS device, remote:// brings you to the remote for iOS and pandora:// brings you to the pandora app. I listen to a lot of tune in Radio on my iPhone while at home, but they don't have the URL enabled. I requested that they add it but I doubt they will. Just use the "link to external URL client action and type in that address and you'll be all set. So it jumps out and also pauses either pandora or iTunes if it's playing and switches to system audio ready to stream. This is new functionality that airfoil just added. I also requested that they add scripting to see if a airfoil speaker is receiving audio, that way I could automatically have it switch off the other applications from playing and switch to system audio with a trigger so it isn't dependent upon having to use the control page.

- How are you managing to bring in the Album art? That's way cool. Please share.
Pandoras Box developer did this for me as a favor. You could help me out by buying his app since he's helped me out so much. Go ahead and fire an email to him that I let you know about it. I feel bad for all the time he's put into helping me out! His pandora application is all scriptable and I have a lot of stuff he's given me to be able to control the application. It even has an option to update the play count if the pandora song matches a song in your iTunes library. There is a problem right now that we are trying to reduce the size of the album art down to a size that doesn't exceed the 350K size that is limited by indigo. He's looking into it for me... again I don't really know applescript except enough to be mildly dangerous. If you are interested in taking a crack at it let me know. The only other part of that is that you can't TRIGGER it to update... you can only put a refresh rate into it. I've got mine set on 10 seconds and things seem to update regularly enough for my needs.

- Do you have AppleScripts for controlling the individual volumes from the master iTunes, or are you controlling volume at each destination? Because if it's the former, I'd love to see that AppleScript.
I have scripts controlling volume at the system, pandora I'm just using the plugin to control iTunes, that way they all stay in sync with each other. For the individual zones, I'm simply using the airfoil plugin for modifying the zone volume. So I have a master volume control and then an individual volume control for fine tuning. I'm working on getting some feedback on current volume level with a slider image that looks at a variable, but i've been busy with all this other stuff. So as I said this stuff isn't as efficient in controlling as it ought to be and the play pause is super clunky right now but it works ok if I just use the control page only. I'll be working on cleaning that up next.

And thanks, now I don't feel so bad about the work I put into my Audio page! :) (I can relate to your efforts!)

Mine controls my home audio hardware and playlists, as yours does. And I have controls for visualizers, video scenes and photo albums that appear on various TV screens and monitors; iTunes equalizers; and the ability: to remove the current song from its playlist, to flag the current song for later review (like if it skips or is in the wrong playlist) and to rate songs with iTunes' stars. Oh, and the plus buttons add the current song to the respective playlist. I found that being able to modify playlists remotely is the way to go. I went with a few Internet radio stations, but I like your Pandora control. I'll have to look into that.

I love all the fine tuned control you've got with playlist control, but I think everything is so much more intuitive with the remote app from apple that I'll just leave it to them to control it instead of trying to rewrite the entire interface on the control page. This will work for parties and just chilling at home for me :). Having all the different buttons would totally freak out my wife... although a few of those are cool! I plan to publish all of the scripts to the user contribution library once I get them complete, so feel free to keep your eyes peeled there.

The upper-right buttons are "one-touch" that launch iTunes, mount media servers, turn on appropriate receivers and TVs, and initiate a playlist along with its associated visuals and settings.

Pages and pages of AppleScript...

I can only imagine how much work that took! Now I don't feel so bad!


Below is the script for pulling the album art. It dumps it to the perceptive automation folder top level in application support.

Code: Select all
property outputFolder : "Library:Application Support:Perceptive Automation:"
property filename : "AlbumArt.png"

property maxImageDataSize : 340000 -- the maximum size of the outputted image data in bytes.
property scaleGranularity : 0.05 -- increase this for faster, but less accurate downscaling.

on run
   set outputPath to outputFolder & filename
   
   if isApplicationRunning("com.apple.iTunes") then
      tell application id "com.apple.iTunes"
         if (player state is playing) then
            my writeITunesArtworkToFile(outputPath)
            return
         end if
      end tell
   end if
   
   if isApplicationRunning("com.ilabs.PandorasBox") then
      tell application id "com.ilabs.PandorasBox"
         if (player state is playing) then
            my writePandorasBoxArtworkToFile(outputPath)
            return
         end if
      end tell
   end if
   
   display dialog "No active players." buttons {"OK"} default button 1
end run

-- is an application running?
on isApplicationRunning(bundleID)
   tell application "System Events" to return (exists (some process whose bundle identifier is bundleID))
end isApplicationRunning

-- write Pandoras Box current song artwork to path
on writePandorasBoxArtworkToFile(filename)
   try
      tell application id "com.ilabs.PandorasBox" to set the_data to (get artwork of current song)
      exportRawDataToPath(the_data, filename)
   end try
end writePandorasBoxArtworkToFile

-- write iTunes current track artwork to path
on writeITunesArtworkToFile(filename)
   try
      tell application id "com.apple.iTunes" to set the_data to (get raw data of artwork 1 of current track)
      exportRawDataToPath(the_data, filename)
   end try
end writeITunesArtworkToFile

-- write artwork data to path.
on exportRawDataToPath(theData, outputPath)
   try
      -- write temporary TIFF data.
      set tempPath to GetEnclosingFolder(outputPath) & "temp.tiff"
      set fileReference to (open for access tempPath with write permission)
      tell application "System Events"
         write theData to fileReference starting at 0
         set file type of (tempPath as alias) to ".tiff"
      end tell
      close access fileReference
      
      set scaleFactor to 1.0
      
      tell application "Image Events"
         launch
         repeat
            set tempImage to open tempPath
            scale tempImage by factor scaleFactor
            set outputImageFile to save tempImage in outputPath as PNG
            
            if (size of outputImageFile > maxImageDataSize and scaleFactor > 0) then
               set scaleFactor to scaleFactor - scaleGranularity
            else
               exit repeat
            end if
            
         end repeat
         close
      end tell
      
      -- delete temporary files.
      do shell script ("rm -f " & quoted form of POSIX path of (tempPath as alias))
      if (scaleFactor ≤ 0.01) then ¬
         do shell script ("rm -f  " & quoted form of POSIX path of (outputPath as alias))
      
   end try
end exportRawDataToPath

on GetEnclosingFolder(myPath)
   set oldDelimiters to AppleScript's text item delimiters -- always preserve original delimiters
   set AppleScript's text item delimiters to {":"}
   set pathItems to text items of (myPath as text)
   if last item of pathItems is "" then set pathItems to items 1 thru -2 of pathItems -- its a folder
   set parentPath to ((reverse of the rest of reverse of pathItems) as string) & ":"
   set AppleScript's text item delimiters to oldDelimiters -- always restore original delimiters
   return parentPath
end GetEnclosingFolder

on GetLastPathComponent(myPath)
   set oldDelimiters to AppleScript's text item delimiters -- always preserve original delimiters
   set AppleScript's text item delimiters to {":"}
   set pathItems to text items of (myPath as text)
   if last item of pathItems is "" then set pathItems to items 1 thru -2 of pathItems -- its a folder
   set parentPath to last item of pathItems
   set AppleScript's text item delimiters to oldDelimiters -- always restore original delimiters
   return parentPath
end GetLastPathComponent



Edit: Updated to add a preset limit for album art size that is adjustable at the top of the script.
Last edited by Dewster35 on Thu Feb 23, 2012 6:54 am, edited 1 time in total.

Posted on
Fri Feb 17, 2012 11:54 am
Mark offline
User avatar
Posts: 99
Joined: Apr 21, 2005
Location: California

Re: Post Pics of Your Control Pages HERE!

Thanks for the URLs. Where did you get them? I'd love to know all that iOS recognizes.

Yes, I can't pretend that my page isn't complicated. But that is what the "one-touch" buttons are for. It is literally one click to get all the software and hardware going to play a playlist. And my universal remote can initiate the same "one-touch" scripts that the buttons do, so I don't even have to use a Mac or iPad interface. Can't get any more wife-friendly than that. (More AppleScript, or course!)

My page was initially setup for a Mac browser, so I wasn't constrained to use the larger buttons that are appropriate for iPads. I still use it more from a Mac than my 'Pad. And I don't mind zooming. Also why I don't rely on apps, I want to be able to do everything from any device, Mac or iOS.

What is the "airfoil plugin?" Is that something from Indigo? I haven't seen that yet. May be new, I haven't upgraded Indigo in a while. I hate to upgrade! Just upgraded iTunes and it broke a few of my scripts! Errrrr!!!

I see now how you're getting the album art. Clever. My album art can appear on the TV screen in the room the music is playing in! All my visuals-voodoo is possible because I have one Mac Mini connected to all my TVs (the Mac Mini serves all the iTunes stuff, photo stuff, video, etc). All this digital magic just to recreate the ol' analog counterpart: remember leaning the album cover up against the front of your plank-and-brick "entertainment center"!?! No AppleScript necessary!! :D

But we're in the digital age now, so keep learning AppleScript. Indigo and its scripts can do some amazing things!

Posted on
Fri Feb 17, 2012 12:30 pm
jay (support) offline
Site Admin
User avatar
Posts: 8881
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Post Pics of Your Control Pages HERE!

Indigo 5.0 and Python scripts expand that - Python is a much richer language with more built-in functionality. AppleScript is still supported and is used more easily for integrating other Mac applications - but Python makes doing a lot of stuff easier and enables stuff that AppleScript wouldn't.

The Airfoil plugin allows you to control Airfoil via Actions in the UI just like the iTunes plugin let's you create iTunes server devices (which contain states which parallel the variables that the iTunes script updates) and control iTunes servers through Actions configured in the UI. No scripting necessary - well, mostly no scripting required - the iTunes plugin doesn't yet support playlists so you'll still have to use AppleScript for that.

Plugins are new in Indigo 5. It allows anyone to add functionality (new device types, new events, new actions, etc) to the Indigo via the Mac client UI - no scripting required in many cases. There are already a bunch of completed plugins from us and 3rd partys available and more in development. Indigo 5 is a huge leap in customization.

Jay (Indigo Support)
Twitter | Facebook

Posted on
Sun Feb 19, 2012 11:07 am
hamw offline
Posts: 900
Joined: Mar 31, 2008

Re: Post Pics of Your Control Pages HERE!

Mark, how did you hook up all your TVs to one Mini?

Posted on
Sun Feb 19, 2012 12:07 pm
Mark offline
User avatar
Posts: 99
Joined: Apr 21, 2005
Location: California

Re: Post Pics of Your Control Pages HERE!

Ha! I was wondering when someone was going to catch that! I exaggerated slightly in that "all" really means "both."

I live in a three-story home and the master bedroom is directly above the living room. Both TVs are in the same approximate location within each room, so they are really only about 15' or so apart.

I run the Mini into an HDMI splitter, and run Monoprice HDMI cables to each TV. I used to have to combine the Mini's DVI video and digital audio into HDMI using another device, but if I remember right, the new Mini doesn't need that. (I'm not sure, as all that splitter and combo junk is buried both behind the Mini and within the recesses of my dusty memory!)

I don't seem to have any issues running my HDMI that far. In fact, I think it's a 25' cable. Not sure what the max might be.

I have devices that transfer infrared from the sans-Mini room to the room with the Mini. I also have two sets of Apple's bluetooth keys and trackpads, one for each room, which both "talk" to the Mini.

The only downside is: I believe the splitter adds some lag time to the HDMI. Not so much in the delivery of the signal, but in the initial negotiation. So switching one TV to a different HDMI source, then back to the source accepting the Mini's signal seems to take a few extra seconds. Once the initial negotiation is done, the signal is fine. Also, it seem when I switch source on one TV, the other TV "blacks out" for a while, regardless of its source. So there seems to be some HDMI voodoo going on between all the HDMI devices and splitters that affect each other. Again, these lags and blackouts are only for a few seconds.

I split my DVR signal the same way (and it, too, uses the same infrared transfer gizmo). It's nice to have all my sources available on both TVs. Doesn't always make nice when two of us might want to use the same source on different TVs (like if we both want to watch a different cable station or DVR recording), but that happens rarely and beats owning and maintaining two separate Minis and DVRs! I have my original Mini and it's DVI/audio to HDMI unit for sale, if anyone's interested...

I believe there are ways to pump HDMI signal long distances through CAT cables, using devices on each end, but I never tried any of that because my TVs are so close together. And I think infrared transfer gizmos can go long distances as well. Bluetooth is another issue, as my bluetooth signal barely makes it through the floor between the two rooms. Not sure how to do that long distance (but there's probably a way!)

Posted on
Sun Mar 25, 2012 12:26 pm
pwfletcher offline
Posts: 178
Joined: Jul 19, 2006

Re: Post Pics of Your Control Pages HERE!

Home page on my new iPad 3 ... I cut the resolution in half before posting or the pic would have been HUGE.

Image

Posted on
Sun Mar 25, 2012 12:37 pm
jay (support) offline
Site Admin
User avatar
Posts: 8881
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Post Pics of Your Control Pages HERE!

Nice. Someday I'll get some cameras installed… ;)

Jay (Indigo Support)
Twitter | Facebook

Posted on
Mon Mar 26, 2012 3:56 pm
bluenoise offline
Posts: 114
Joined: Aug 23, 2008

Re: Post Pics of Your Control Pages HERE!

These audio control pages are really slick! I'm inspired to try putting together something of my own. One issue that has me stumped is how to control my A/V Receiver. It's on the network and can be remotely controlled. In fact, I have the iOS app for remotely controlling it, but I'd like to find a way to control it directly from a control page. I just can't find the protocol online, nor do I know how to "hack" it. The receiver is a Sony STR-DN2010.

Posted on
Mon Mar 26, 2012 4:12 pm
Dewster35 offline
Posts: 835
Joined: Jul 06, 2010
Location: Petoskey, MI

Re: Post Pics of Your Control Pages HERE!

Mark is the hardware/software wizard... I would love to eventually be able to control my entire AV system completely with indigo, but that requires 1. Time I don't have right now, 2. Knowledge I don't possess right now, 3. Patience I don't think I have enough of at the moment ;)

In the meantime, if you have any questions on the software side, let me know and I'd love to help.

Posted on
Mon Mar 26, 2012 5:26 pm
Mark offline
User avatar
Posts: 99
Joined: Apr 21, 2005
Location: California

Re: Post Pics of Your Control Pages HERE!

Only have a few minutes today to reply. Short version:

1) Universal remotes talk to Indigo thru IR receivers (INSTEON).
2) Web pages and iOS apps talk to Indigo through LAN or WAN network.
3) Indigo processes.
4) Indigo talks to AV server (on same Mac Mini).
5) Indigo talks to AV equipment through IR transmitters (iRTrans).

Some guys use iRed for this type of set up. I circumvent iRed and Indigo talks to iRTrans devices through LAN with simple URLs (though initial set up is rough).

There's a c-load of AppleScript that makes this all work.
And there's a challenge obtaining the IR codes that control the devices.

Be forewarned:
1) There are a lot of pieces to this puzzle.
2) They each take X amount of time to build.
3) They don't work 100% of the time, more like 97% (like all computer-related processes, INSTEON especially)
4) They can break when something gets replaced (like faulty hardware, or OS updates)

So... be prepared to spend some time building--and fixing--your system. If you find such things amusing or rewarding, I'll be glad to help. If you just want something simple, that works (mostly), then stick to manufacturer solutions.

Don't mean to discourage, I had a great time building my system. But just sayin', it's not for the faint of heart.

Many of the "parts" I describe above I've written about throughout the forum...

(And that was the short version!)

Posted on
Tue Mar 27, 2012 10:04 pm
pwfletcher offline
Posts: 178
Joined: Jul 19, 2006

Re: Post Pics of Your Control Pages HERE!

I use a LAN irtrans with ired and it works 100% of the time ...

Posted on
Tue Mar 27, 2012 11:47 pm
Mark offline
User avatar
Posts: 99
Joined: Apr 21, 2005
Location: California

Re: Post Pics of Your Control Pages HERE!

I abandoned iRed back when neither v1 nor v2 were working correctly (by the maker's own admission). My solution works faster than iRed, and is also very reliable. And, that's one less component to manage, a plus for me. I can't imagine it's not fixed by now. But why would I go back?

But I would challenge anyone who claims any part of their home automation system, AV or otherwise, is 100% reliable. INSTEON especially. I don't mean to bad-mouth these components or their makers, but the reality is: this stuff does not work as reliably as a standard light switch or an infrared remote control. Just as a "smart" phone can't touch a standard Ma Bell wall model, in terms of reliability (and sound quality for that matter). My point was just this, be prepared for the trade off between convenience and reliability, complexity and simplicity.

That being said, just try to take any of this tech away from me! :D

Page 17 of 33 1 ... 14, 15, 16, 17, 18, 19, 20 ... 33

Who is online

Users browsing this forum: No registered users and 0 guests