Media and Thermostats

I’m excited to announce a new release to SharpTools.io which includes support for brand-new media tiles and improved thermostat tiles for Ecobee and Nest users.

Changelog

2018-03-08

  • Media tiles
    • Support for MJPG, GIF streaming images
    • Support for JPG, PNG, and other static images
    • Support for periodic refresh
    • Adjust the tile size in the tile edit menu
  • Thermostat tiles
    • Double-height thermostat tile for Nest and Ecobee thermostats
    • Quick adjustment buttons on thermostat tiles are activated
    • Improved thermostat ‘adjust’ modal
    • Thermostat icons adjust based on the operating mode

Media Tiles

The media tiles support streaming from MJPG and GIF sources as well as periodic refresh of traditional images (JPG, PNG, etc). Media tiles also have support for editing the dimensions of the tile. When you are in edit mode for your dashboard, tap the ... overflow in the top-right corner of your media tile and select edit.

Any kind of source that serves up images can make for a great media tile source. For example, grab the weather forecast from your local news station and save it as a media tile that refreshes every 30 minutes (eg. 1800 seconds). Or grab the MJPG stream or a snapshot image from a local or remote IP camera so you can see what’s happening around your house or your favorite destination.

Thermostat Tiles

The thermostat tiles now support a double-height tile for Ecobee and Nest thermostats. These thermostats often operate in an ‘Auto’ mode where you’ll want to individually control the target heating and setpoints and let the thermostat figure out whether to heat or cool. (Coming soon is the ability to choose which layout you want your thermostats to use so you can pick this layout for other thermostats).

The quick adjustment buttons on thermostat tiles are activated which allow you to quickly increase or decrease the temperature of your thermostat without opening the ‘adjust’ modal. And the ‘adjust’ modal has also been improved with improved speed of adjustments and a visual indication of the changing temperature. The icons displayed on standard thermostat tiles now also adjust to show icons for heating, cooling, and off making it easier to see the status of your thermostat.

For more information on thermostat tiles, check out the thread: Thoughts on Thermostats?

1 Like

Can’t find how to authorize Nest thermostats. Are you doing it via SmartThings or directly through the Nest app?

SmartThings via NST Manager

Thanks, haven’t bothered with NST Manager since the Nest app is basically a “set it and forget it” scenario and manual and voice controls are easier to use. However, I can see the appeal for people that need an overview. Keep up the good work.

1 Like

With the media tile is there any way to capture Yi or Wyze camera images/video. IP cameras are easy to stream but these cameras are extremely cheap and easy to setup. Any thoughts?

I have a Yi cam and installed custom firmware on it which provides access to additional streams. I haven’t looked into it to see if I can pull the snapshot or MJPG directly from the Yi Cam as I run everything through Blue Iris and then just pull the snapshots or MJPG streams from Blue Iris.

I don’t have a Wyze cam, but I did a quick search and it looks like there is third-party firmware for it as well which provides an RTSP stream that you could integrate into Blue Iris or another DVR/NVR system:
https://openip.cam/

FYI, just posted the steps how to setup the map tile with real-time traffic. The dashboard looks really awesome!

2 Likes

Thanks. I was hoping there was an easier workaround. Blue Iris is excellent as is the IP cameras viewer app. My days of flashing Android ROMs and installing firmware are over. Trying to simplify things for the family. They complain that every week things change an I have to agree with them so I’m trying to funnel everything into a few interfaces and voice controls with Chromecast seem to be the most accepting of the bunch.

1 Like

From what I saw on Reddit, the WyzeCam guys are looking at adding in RTSP support in a future release which would allow you to integrate the camera into Blue Iris.

I guess that’s the trade-off with cheap cameras is that they are usually not quite as feature rich as the pricier ones.

I was able to pull snapshots and streams directly off my Amcrest and Reolink cameras. Prior to picking up a Yi Cam, I would have called the Amcrest and Reolink cheap. I guess they’re just in the middle-ground now in terms of pricing and features.

Edit: From what I can tell, TinyCam Pro on Android supports whatever custom protocol the WyzeCam uses. And TinyCam Pro has a built-in webserver which provides an MJPG stream so you could use TinyCam as a proxy for your dashboard.

I just tried pulling a stream from the TinyCam demo webserver into SharpTools.io and it worked great, so that might be an option for you:

Got it to stream into the TinyCam app. Haven’t bothered with the web server as I’m sure it will work. I’m waiting on my version 2 camera and hope they add RTSP support when it comes out. If the night vision is as significantly improved as they claim, then this may be a viable option for really cheap security/monitoring. Thanks for the info.

1 Like

I ordered two of the WyzeCam v2 cameras and will test them out when they are released and shipped.

Can you stream video to sharptools? I’ve got tinycam pulling in Wyze cam.

2 Likes

You can stream certain video types to a SharpTools Media Tile. Here’s a knowledge base article on how to use the Media Tile feature of SharpTools:

Using the TinyCam app on an Android device or Fire OS device, you can stream your Wyze cameras or other cameras to your SharpTools dashboards. Be sure to check out the videos linked below; the high-level steps include:

  1. Add your Wyze Cam in TinyCam
  2. Setup the TinyCam webserver
  3. Use the following format for the URL in the SharpTools Media Tile:
    http://{tiny.cam.address:port}/axis-cgi/mjpg/video.cgi?camera={id}

For example, you might end up with something like:
http://192.168.1.11:8083/axis-cgi/mjpg/video.cgi?camera=2

You should be able to test your URL directly in your browser and it should start streaming your video. You might have to play with the camera ID to get the right camera.

Note that if you have a username and password enabled in your webserver, you can add it as a URL parameter:
http://192.168.1.11:8083/axis-cgi/mjpg/video.cgi?camera=2&user=admin&pwd=mypassword

You can also get an image snapshot by using image.cgi instead:
http://192.168.1.11:8083/axis-cgi/jpg/image.cgi?camera=2

:warning: On Chrome 85 and newer, you will need to allow mixed content / insecure content.

:warning: On Chrome 111 and newer, you may need to use a free wildcard DNS forwarder like nip.io.

Video How To

The following videos by @Justin_Newbury from Simply Smart do an excellent job showing how to setup your Wyze Cams in SharpTools using TinyCam:

Step 1: Setup Wyze in TinyCam

Step 2: Display Wyze Stream in SharpTools (via TinyCam)

3 Likes

Thank you for the help. I got this working by the way

1 Like

Hi @josh
bringing this thread form the dead :slight_smile:
from your experience how resource heavy is putting a tinycam with webserver/low bandwidth turned on on a fire HD for example?
I am planning to put tinycam with sharptools on a fire HD 8 (latest gen) for the sole purpose of using sharptools to control my home automation and I still need everything to work fast and nice when I click on a light switch tile for example. I dont wont things to hang…
I also noticed that there is ‘snapshot image’ url in tiny cam that I assume can be used along with a tile refresh of for example evey 20 seconds and maybe this can also help to reduce load?
thanks for your answer.

There’s lots of factors at play, so it’s hard to say for sure. In general, we don’t recommend running TinyCam as a transcoder on a Fire tablet which is also being used to display dashboards as they are fairly resource limited devices.

That being said, there are things you could do to minimize the resource impact. As you noted, you might try using image snapshots that are refreshed periodically. Even refreshing every few seconds should be significantly lower load than an MJPEG stream.

If I remember correctly, TinyCam uses an Axis Camera compatible API, but I don’t recall if they support all the parameters. For example, Axis supports parameters like:

Parameter Values Description
resolution 1280x1024, 1280x720, 640x480, 640x360, 320x240, 240x180, etc. Specify the resolution of the returned image.
camera 1, 2, 3, 4 Select which camera you want to use
compression 0-100 Adjusts the compression level of the image. Higher values correspond to higher compression, i.e. lower quality and smaller image size.
fps 0, 5, 15, etc Frames per second.

So you could build a URL like:

http://{tiny.cam.address:port}/axis-cgi/mjpg/video.cgi?camera=1&compression=60&fps=10

1 Like

thanks for the elaborate answer

1 Like

Josh, Is there a more in depth walk through for setting up wyze cam via tinycam in sharptools? I know there are newer threads that speak of it. I tried using the URL format you described here, but I do not know where to input my own information.

Can you clarify what you’ve tried so far and where you’re getting stuck?

Have you already setup the Wyze Cam in TinyCam? And do you already have the TinyCam webserver running? When the webserver is running in TinyCam, it should show the IP Address and port in the left navigation drawer of the TinyCam app:

From there, you’ll want to use the URL format mentioned above.

So the format:

http://{tiny.cam.address:port}/axis-cgi/mjpg/video.cgi?camera={id}

Becomes the following (based on my screenshot):

http://192.168.1.102:8083/axis-cgi/mjpg/video.cgi?camera=1

Note that if you have different settings configured in TinyCam → Settings → Web Server, you may need to adjust accordingly. The default format assumes non HTTPS and either no Admin account set at all or the Guest Account enabled with an empty username and password.

Since the ‘Use HTTPS’ uses a self generated HTTPS cert, it won’t work properly in modern browsers anyway, so this should generally remain unchecked.

You can enable a username and password, but you’ll need to include it in the URL. For example:

http://192.168.1.102:8083/axis-cgi/mjpg/video.cgi?user=admin&pwd=mypassword

:warning: On Chrome 85 and newer, you will need to allow mixed content / insecure content.

Josh,
sorry for the delayed response, I just barely had the chance to sit down.
I eliminated my login and password and used that format and it works!
If I want the camera as a live stream do I enable autorefresh or leave it off?
And if i get the nvidia shield to be the server, how many cameras can be loaded and running?