SEARCH
TOOLBOX
LANGUAGES
TARiva Application

TARiva Application

From Tallus LLC Wiki

Jump to: navigation, search

Contents

About

The Tallus Android Riva application provides two way control over Charmed Quark Systems (CQC) home automation system via an Android phone or tablet.

Requirements

- Android device with the OS 1.5 or newer.
- Version 3.0 or newer of CQC.
- CQC RIVA server and account(s). - Latest TARiva application

Installation

Since this application will not be available on The Market, at least initially, you might need to follow instructions like these: Installing a non-Market app

Alternatively, there seem to be a bunch of Android applications like AppsInstaller which makes it even easier...

The most current version is always here or from the About screen: Direct download for Android web connected devices

Purchase TARiva Here and make sure to email your Android's ID (after you install the application on the Android device and go to the Registration window) for licensing.

For debugging purposes, you might want to install an Android application like Log Collector.

The development and support thread is located on the CQC forum.

Configuration

On the CQC server, you will need to create one or more RIVA accounts and associate it (them) with a template. For the initial testing, you could have various level of complexity on those different accounts/templates.

The communication is done by default over TCP ports 13516 and 13517, so you will want to open up those on your firewall. To access your system from outside your home network, you might need to use port forwarding in your router along with some kind of free static IP service.

On the Android side, after pressing the hardware Menu button of your device (while taRIVA is running), you will be able to select the Configuration option. This is where you can input your server's address, the username and password. Pressing Apply will save the information and try to connect you. For compatibility reason, the default RIVA protocol used is 1.0, which requires inputting the template's width and height, but for CQC > 3.3 the protocol 2.0 should be selected.

It is recommended to use the latest CQC version, as the RIVA protocol keeps improving. For example, RIVA 2.0 includes support for Progress bars and provide the template's dimensions.

Note: As the information is saved locally, for security reasons you might want to blank them out once you are done, or to create an initial template which ask to enter a security code.

Navigation

- The hardware Menu button will bring up the "Options menu", this is where you access the Configuration or input the registration key.

- The hardware Back button will bring you to the previous screen, or kill the application if pressed from the Main screen.

- The hardware Home button will bring you to your device's Home screen, while keeping the taRiva application running in the background and receiving data.

- If the template, in the current orientation, does not fit, you can swipe to access the hidden parts. Keep in mind that the initial Press, Move and final Release will also be sent to the CQC Server, so you don't want to hit a button...

Information

After pressing the hardware Menu button of your device while the app is running, you will be able to select the Information option. This gives you various information about the current template, like it's name, resolution (screen and template), User name, as well as the number of Incoming and Outgoing messages when the Information screen was loaded (i.e. no real time updates). You can also Clear the image cache from here.

Tapping the resolution will toggle the screen orientation between the locked (in the current orientation) and unlocked state. It will also update to the corresponding icon.

Known issues

- Images tend to require a refresh to show up.
- Gaussian blur is just a "normal" blur.
- The Image download connection dies after a while.
- Android devices only include the default Droid fonts.
- Probably comes out of sleep mode in a bad state.

To Do list

- Clipping partially disabled.
- DrawLine is disabled.
- ProgressBar and PlayWave have not been implemented.
- Reflected text is not implemented.

Acknowledgments

- Thanks to broconne for the unfinished java client code.
- Thanks to batwater for testing and setting up RIVA test accounts!

Release notes

Version 0.44

- Added support for multiple Username/Hostname combos.

Version 0.43

- Removed the database for now.

Version 0.42

- Display the list of available fonts in the log.

Version 0.41

- Enabled the blur, shadow and color gradient in text.
- Disabled the DrawLine due to a crash.

Version 0.40

- Fix: DrawTextFX would crash.


Version 0.30 - 0.39

- Improved the image saving and database access.
- Fix: Images > 2kB were rarely saved successfully.
- Added support for more commands.
- Initial support for DrawBitmap and the MediaArt images.
- If a Password exists, it will show up as ****** and apply will make use of it.
- Fix: Gradient had the color improperly set.
- Added the possibility of locking the screen orientation.
- Fix: decreased the time between Ping's to about 20 seconds.
- No longer show the password when opening the configuration screen.
- Added a "Clear the image cache" button to the Information page.
- Fix: the <CR> are now properly displayed.
- Fix: the CQCRepo images should be working.
- Fix: multi-lines text was not properly vertically justified.
- Added support for the RIVA 1.0 protocol as default.


Version 0.20 - 0.29

- Fix: Paint.setTextAlign(align) didn't work as expected...
- The text can now be vertically justified.
- Fix: bold text was wrong.
- Can download images, just can't reconstruct them properly yet...
- Reduced the choppiness when swiping.
- Started to implement the image download.
- Went back to SurfaceView to reduce the swiping/updates issues...
- Re-enabled ClipArea for ClipMode = 1.
- Tried to fix the disappearing text.
- Fixed the Implementation of Press/Release.
- Improved the landscape/rotation and swiping.
- Implemented the Stroke_Area.
- Fix: Went back to using a temporary canvas to handle landscape/rotation issues.


Version 0.10 - 0.19

- Added an Information page, about the current status.
- Fix: The packet's Sequence ID was not reset between re-connections.
- Fix: rescaling issue in portrait orientation.
- Fix: onDraw() starts with a new canvas...
- Fix: some clip modes were wrong.
- Changed the canvas handling.
- Fix: eliminated the flicker by extending View instead of SurfaceView.
- Implemented the proper logoff and ACK.
- Implemented the Press and Release touch events.
- Added a download link on the About screen.
- Fix: flicker was worse.
- Added more operations (draw_line, draw_text, draw_text_fx, gradient_fill).
- Tried to reduce the flicker.
- Improved the draw_multi_text.
- Can display a simple template (push_clip_area, fill_area, push_font, draw_multi_text).


Version 0.01 - 0.09

- Switched to using canvas for the UI.
- Looked at using OpenGL for the UI.
- Can now parse all the messages from the initial template.
- Switched to the Open Source BlowfishJ 2.15 implementation.
- Tried to use the Blowfish implementation of GNU Crypto.
- Fix: the cache for unsignedByte was wrong.
- Fix: the Header and Login_Request signatures were wrong.
- Started to analyze the Login_Challenge.
- Started to trim/adjust some code.
- Switched to Broconne's code.
- Skeleton of the application, with Registration/Configuration/TCP service.