1 (edited by ehertz 2013-02-23 09:45:45)

Topic: Adding in New Widgets - A Limited Solution

I have been playing a little bit with my Chumby One and Infocast 3.5 and found a way to have them display my Clock and Temperature widget continuously, as well as weather radar images on demand.

Essentially, my "solution" is based on the "Mixing Local Widgets into a Channel" section on the wiki (http://wiki.blueocty.com/index.php?titl … _a_channel).

The main difference is that rather than putting the profile.xml file on a USB drive, I stored it in the /mnt/storage directory on the C1 and I3.5. Here is a copy of my profile.xml file:

<profile>
  <widget_instances>
    <widget_instance id="1">
      <name>Durham Radar</name>
      <widget>
        <name>Durham Radar</name>
     <description>Loads single jpg from specified URL.</description>
        <version>1.0</version>
        <mode time="30" mode="timeout"/>
     <access sendable="false" deleateable="false" access="private" virtualable="true"/>
        <user username="ehertz"/>
        <thumbnail href="file:////mnt/storage/Durham_Radar.jpg" contenttype="image/jpeg"/>
        <movie href="file:////mnt/storage/Radar_Image.swf" contenttype="application/x-shockwave-flash"/>
      </widget>
      <access access="private"/>
      <mode time="10" mode="timeout"/>
      <widget_parameters>
        <widget_parameter>
          <name>PREVENT_CACHING</name>
          <value>true</value>
        </widget_parameter>
        <widget_parameter>
          <name>IMAGE_URL</name>
          <value>http://wwwcache.wral.com/asset/weather/doppler5000/2006/08/07/1001055/ice_2011_dd5k_durham_orange-640x480.jpg</value>
        </widget_parameter>
      </widget_parameters>
    </widget_instance>

    <widget_instance id="2">
      <name>NC Radar</name>
      <widget>
        <name>NC Radar</name>
     <description>Loads single jpg from specified URL.</description>
        <version>1.0</version>
        <mode time="30" mode="timeout"/>
     <access sendable="false" deleateable="false" access="private" virtualable="true"/>
        <user username="ehertz"/>
        <thumbnail href="file:////mnt/storage/NC_Radar.jpg" contenttype="image/jpeg"/>
        <movie href="file:////mnt/storage/Radar_Image.swf" contenttype="application/x-shockwave-flash"/>
      </widget>
      <access access="private"/>
      <mode time="10" mode="timeout"/>
      <widget_parameters>
        <widget_parameter>
          <name>PREVENT_CACHING</name>
          <value>true</value>
        </widget_parameter>
        <widget_parameter>
          <name>IMAGE_URL</name>
          <value>http://wwwcache.wral.com/asset/weather/doppler5000/2006/08/07/1001060/ice_2011_dd5k_central_nc-640x480.jpg</value>
        </widget_parameter>
      </widget_parameters>
    </widget_instance>

    <widget_instance id="3">
      <name>Clock and Temperature</name>
        <widget>
          <name>Clock and Temperature</name>
          <description>This is a digital clock and temperature indicator.</description>
          <version>1.10</version>
          <mode time="45" mode="timeout"/>
          <access sendable="false" deleateable="false" access="private" virtualable="true"/>
          <user username="ehertz"/>
          <thumbnail href="file:////mnt/storage/ClockTemp.jpg" contenttype="image/jpeg"/>
          <movie href="file:////mnt/storage/ClockTemp.swf" contenttype="application/x-shockwave-flash"/>
        </widget>
        <access access="private"/>
        <mode time="10" mode="timeout"/>
        <widget_parameters>
          <widget_parameter>
            <name>colorDateStr</name>
            <value>#CC0000</value>
          </widget_parameter>
          <widget_parameter>
            <name>colorTimeStr</name>
            <value>#FFFF00</value>
          </widget_parameter>
          <widget_parameter>
            <name>tempTypeStr</name>
            <value>F</value>
          </widget_parameter>
          <widget_parameter>
            <name>colorBackStr</name>
            <value>#000000</value>
          </widget_parameter>
          <widget_parameter>
            <name>locationStr</name>
            <value>27713</value>
          </widget_parameter>
          <widget_parameter>
            <name>colorTempStr</name>
            <value>#66FF00</value>
          </widget_parameter>
        </widget_parameters>
      </widget_instance>
  </widget_instances>
</profile>

This particular code adds three widgets to the channel being served by the new system: two weather radar images and a clock with temperature display. To make this work, I also added five additional files to the /mnt/storage directory:
Durham_Radar.jpg
NC_Radar.jpg
ClockTemp.jpg
Radar_Image.swf
ClockTemp.swf

I found that in order to look at one of the radar images, I could go to the Control Panel and then select the appropriate widget. It will then display.

To use the Clock and Temperature widget, I have pinned that to the display by clicking the Stay icon.

I use this alternative to the USB offline solution primarily because I have all of my Chumbys hardwired into my networks. I find that works much better for me to listen to streaming radio than the wireless capability built into the Chumby.

There are still a few unresolved issues:
- This solution does not work on the Chumby 8. I don't know why. I assume its firmware does not look in /mnt/storage for the profile.xml file. - It appears this functionality is part of the Chumby 8's firmware and can't be fixed.
- The widgets will not step through the display. In other words, once the Space Clock comes up, the Chumby stays on that forever. The other widgets do display in turn, if you start with a non-Space Clock widget.
- Youstreams does not work (yet). But I assume I can make this work in the same way with a little more effort on my part.

Obviously, this is not nearly as satisfactory as the system we had up until this week. But, at least it resolves one or two of my issues.

If someone else wants to try the same solution, as I am sure you already understand, you will need to make some adjustments in the parameter values included in the profile.xml file to reflect the image you want to display. You will also need copies of the swf files. Let me know if you want those.

Re: Adding in New Widgets - A Limited Solution

Duane noted in a different thread a few days ago that the current C8 firmware doesn't look for local widgets.

Re: Adding in New Widgets - A Limited Solution

ehertz wrote:

- Youstreams does not work (yet). But I assume I can make this work in the same way with a little more effort on my part.

that sounds very good. youstreams is (for my part) the one and only widget i really miss.

i hope it will be successful

4 (edited by servalan 2013-02-22 12:58:25)

Re: Adding in New Widgets - A Limited Solution

msharp42 wrote:

so reinventing offline firmwares is supposed to be a smart thing to do instead of just using an existing solution and modifying it ?

It's not offline firmware. Can we please stop calling it that? It's scripts & a bunch of config files to make your chumby independent of the chumby server. That's it. If you haven't set it up yet with your widget set, it's probably too late for the moment until the full widget set is legitimately accessible. See posts above for cache raiding on certain breeds of chumby.

Re: Adding in New Widgets - A Limited Solution

unwiredben wrote:

Duane noted in a different thread a few days ago that the current C8 firmware doesn't look for local widgets.

Thanks Ben. I overlooked that message.

One less thing to worry about.

Re: Adding in New Widgets - A Limited Solution

ehertz wrote:

I guess the answer is I'm just an idiot.

Correction: we're ALL idiots, apparently.

Re: Adding in New Widgets - A Limited Solution

@spunk_

This version of the profile.xml file incorporates support for Youstreams.

<profile>
  <widget_instances>
    <widget_instance id="1">
      <name>YouStreams</name>
      <widget>
        <name>YouStreams</name>
        <description>Customizable Internet Radio with ID3-Tags (Song-Metadata) and Audio Podcasts. Go to http://youstreams.appspot.com to define your own Radio-Stations (.m3u or .pls) and Audio-Podcast-RSS-feeds.</description>
        <version>1.02</version>
        <mode time="30" mode="timeout"/>
        <access sendable="false" deleateable="false" access="private" virtualable="true"/>
        <user username="Ratzfatz"/>
        <thumbnail href="file:////mnt/storage/Youstreams.jpg" contenttype="image/jpeg"/>
        <movie href="file:////mnt/storage/Youstreams.swf" contenttype="application/x-shockwave-flash"/>
      </widget>
      <access access="private"/>
      <mode time="15" mode="timeout"/>
      <widget_parameters>
      </widget_parameters>
    </widget_instance>

    <widget_instance id="2">
      <name>Clock and Temperature</name>
        <widget>
          <name>Clock and Temperature</name>
          <description>This is a digital clock and temperature indicator.</description>
          <version>1.10</version>
          <mode time="45" mode="timeout"/>
          <access sendable="false" deleateable="false" access="private" virtualable="true"/>
          <user username="ehertz"/>
          <thumbnail href="file:////mnt/storage/ClockTemp.jpg" contenttype="image/jpeg"/>
          <movie href="file:////mnt/storage/ClockTemp.swf" contenttype="application/x-shockwave-flash"/>
        </widget>
        <access access="private"/>
        <mode time="10" mode="timeout"/>
        <widget_parameters>
          <widget_parameter>
            <name>colorDateStr</name>
            <value>#CC0000</value>
          </widget_parameter>
          <widget_parameter>
            <name>colorTimeStr</name>
            <value>#FFFF00</value>
          </widget_parameter>
          <widget_parameter>
            <name>tempTypeStr</name>
            <value>F</value>
          </widget_parameter>
          <widget_parameter>
            <name>colorBackStr</name>
            <value>#000000</value>
          </widget_parameter>
          <widget_parameter>
            <name>locationStr</name>
            <value>27713</value>
          </widget_parameter>
          <widget_parameter>
            <name>colorTempStr</name>
            <value>#66FF00</value>
          </widget_parameter>
        </widget_parameters>
      </widget_instance>
  </widget_instances>
</profile>

As I noted before, this file goes into /mnt/storage on the Chumby.

I created Youstreams.jpg by renaming BDE5F808-3603-11DF-A451-001B24F07EF4 (which, if you used zurk's octopus software, will be found in the directory that software creates). The Youstreams.swf file is the renamed file 36E68A66-2627-11DF-9C04-001E681DF646. Both of those files should also be placed in the /mnt/storage directory.

To make this work, since in its current configuration, Youstreams can't be in its own channel, remember to pin it to your screen using the Stay icon. Otherwise, the widget will timeout, resulting in the audio being cut off.

I left the Clock and Temperature widget in this profile. You can remove it. But, I prefer it to the Space Clock. I just like seeing my local temperature. I understand others may feel very differently.

If anyone wants the ClockTemp.swf file, I can make that available, since I wrote that widget. I don't have the rights to the Youstreams widget.

Re: Adding in New Widgets - A Limited Solution

ehertz wrote:

once the Space Clock comes up, the Chumby stays on that forever. The other widgets do display in turn, if you start with a non-Space Clock widget.

I've managed to get to this step.  I can see Youstreams as the next channel, but no matter what I do, the chumby boots straight to space clock, which prevents me from switching widgets.   Can you elaborate on the process of starting with a non-space clock widget?

Re: Adding in New Widgets - A Limited Solution

Good question.

First, I want to be sure you are using either a Chumby Classic, a Chumby 1 or an Infocast 3.5. This hack will not work on a Chumby 8. While I have not tested it on an Infocast 8, I suspect it does not work there either.

Second, the Chumby will ALWAYS boot into the Space Clock, regardless of what you do, so that is not a problem.

Third, to switch to another widget, press the button on the top of the Chumby to get into the Control Panel screen. At the left side of the screen, near the top, you will see the current widget displayed, in this case "Space Clock." You will also see arrows on each side of the named widget. If you press one of those arrows, you will see the next widget in the channel. Keep pressing the arrow until you get to the widget you want to display. You should also see an indicator under the widget name indicating something like "2 of 5." This shows that there are 5 widgets in the channel and that you are now on widget 2.

Fourth, once you get to that widget, press the Stay icon at the bottom left. This will put a push pin icon on the widget.

Fifth, press the widget to take you back to the widget display screen.

At this point, the widget you selected will stay on the screen forever.

However, if you reboot the Chumby, you will need to do this all over again. The Space Clock will come back on reboot and stay there forever, even if you do not have it pinned.

Also, if you advance the channel to display a different widget, the screen will cycle through all the widgets in the channel. However, once the display gets back to the Space Clock, it will get stuck there, and not advance.

If you are still having problems, let me know and I'll see if I can figure out what is going wrong.

Re: Adding in New Widgets - A Limited Solution

Thanks for your in-depth explanation.  That's how my previous experience with changing widgets indicated it should work.

Long story short, the app wasn't running at all for me, and since my problem didn't match up with how you clarified yours worked,  I did a little poking around and saw that the file size of the .swf file on the chumby didn't match what I uploaded, so somehow it didn't transfer correctly.  Reupped it and everything works great now.

Thanks again for your help!

Re: Adding in New Widgets - A Limited Solution

Glad to hear it is now working. Thanks very much for letting me know.

Re: Adding in New Widgets - A Limited Solution

Sorry for the bump, but I just wanted to say thanks for this. After Zurk's firmware had the problem with the music not working, I just did this with AccuWeather. This lets me have weather when I want it, and the clock when I don't.