Table of Contents

ThingIno: Open Camera Firmware API

Thingino is an alternative and open source firmware for some models of cameras. It is young and not feature complete as of this writing but shows great promise. I have begun an API plugin for it as the cameras it can run on are inexpensive and in some cases do not require anything other than putting their software on a CF card and insert in the camera in order to load the custom firmware. This can turn a cloud only mostly useless to HA enthusiasts camera into something that can be actually useful.

This plugin and the firmware are currently feature incomplete and only a subset of standard camera features are currently supported. As the firmware develops I will add to this plugin. At this time I would recommend only to purchase these cameras if you are interested in the project and not if you expect a finished product with a full set of features.


Installing Thingino Firmware

Though the thingino site shows support for several camera models not all are as easy to install the firmware onto as others. I have attempted only with the WUUK 4MP Indoor Pan Tilt wifi cam Some models require opening the camera case and doing various kinds of firmware resets or even connecting a serial console to the camera to get it to load the new firmware. This one requires only the proper setup of a CF card which I will outline below. These instructions may or may not work in the future, or for different cameras. The Thingino site has many and somewhat confusing instructions. These were taking from This Youtube Video from WLTechBlog This camera requires wired power and wifi. It has no ethernet connection.

The following instructions are from the above video thanks to the WL Tech Blog:


Configuring XTension

Create a new instance of the “Video RTSP” plugin.

If you have not changed the streaming password then it defaults with user and password being “thingino” for the RTSP URL enter something like this, but with your own user and password in it. Note that this is NOT the same as the root password you set when logging into the camera.

rtsp://thingino:thingino@192.168.0.whatever:554/ch0

Inserting your own static IP and password and if you changed the port rtsp is running on or not.

Below that check the “Send Authentication” checkmark and select “Basic” from the authentication type popup. Enter your root or whatever user you created that you would like to use to control the camera.

Select “Thingino Camera Control” from the Camera API.

I recommend setting the recording FPS to 0 and controlling the frame rate from the camera to reduce CPU load and network overhead. You can enter a frame rate here that is lower than the camera supports but it’s better to set it in the camera. Note that XTension is not a highly optimized DVR software and sending 30fps through it will use significant CPU power. It is usually sufficient to run at 5 or even 10 FPS for including in a web or other interface. More than that is for recording in the camera or by a separate DVR application.

Once you select a recording directory and setup the rest of the settings you can save and start the interface. View the video from the Video menu to verify that it is working. In order for Web Interfaces to see the new video stream you may have to disable and re-enable the web interfaces.


Camera API Commands

As of this writing only a few PTZ commands are implemented. More will be added as the firmware develops and I have time to work with it. Note that getting motion events from the camera is not yet supported. The only support is for Pan and Tilt and location preset setting.

All API commands are issued in AppleScript via a tell block naming the xInterface object and then the command. Multiple commands may be stacked in a multi-line block though these examples use single line syntax.

PTZ MOVE BY

Moves the camera a relative amount. 2 parameters are required as the x amount and the 7 amount. Either may be positive, negative or 0.

tell xInterface “my thingino cam name” to ptzMoveBy( 300, 40)

will move the camera over by 300 and down by 40.

PTZ MOVE TO