Table Of Content

Detailled

Domodroid BETA 1.4 provides plenty of features:

General

Multi display compatibility (Smartphone and Tablet)

Easy configuration: Set your RINOR IP/URL access and synchronize

Domogik could be install behind a proxy with http auth for security

A new feature register to Domogik event to update in real time or via the MQ

Power Management control keeping your screen on during the use of Domodroid

Full icon pack supported

Widgets

lots of animated widgets

Auto-Updated with an asynchronous threading system and in real time with event or MQ

Data widget with 2d chart engine

A longClick on an area, room or widget allow you to change his icon, rename it, remove it or move it up or down.

Camera

Mjpeg Stream supported

Framerate counter

To use the camera streaming feature, the Camera plugin has to be installed in Domogik.

If none of your camera stream Mjpeg datas, you can use Zoneminder which is a free video camera security application that encode many kind of video stream format to mjpeg stream.

_images/Camera1.png

Installation

PlayStore version

Current Beta 1.3 is on the Google playstore here:

https://play.google.com/store/apps/details?id=org.domogik.domodroid13

Github version

On Github release for each version here:

https://github.com/domogik/domodroid/releases

F-Droid version

On F-Droid also for those who doesn’t want to go to google store:

https://f-droid.org/repository/browse/?fdid=org.domogik.domodroid13

Version in about

To know witch version you’re using, you could use the “About” menu it’s write behind the rev number.

There is also the Domogik version in the example above 0.3

For example in this view the Dev version is 2 but it should look more like 1.4_android_studio Rev_13 or 336:9c0ad72e15:

_images/About.png

Develop version

If you wish to use the current developper version:

Since ~10/2015 domodroid is develop with Android Studio.

Use the github branch 1-4-android_studio: https://github.com/domogik/domodroid/tree/1-4-android_studio

get the source and compile it on your own machine.

Previous Branch where used with Eclipse ans a nightly builds mechanism no more actual.

You need to allow unknown source

Download the last apk from http://repo.domogik.org/domodroid-nightly/ if the apps didn’t work (because of nightly build) ask a working version to somebody on irc #domogik-domodroid.

Just copy/paste the apk you’ve just download

Open it from your device and install it.

Nightly Builds

Since ~10/2015 domodroid is develop with Android Studio.

It’s no more true until we find time an volunteer to make it works.

Nightly builds were Android apk available at:

http://repo.domogik.org/domodroid-nightly/

They’re build every night and can be build by developers at any time with a special link.

You should use the last one to be sure having last update.

If you find a bug or want an evolution don’t forget to tell us which version it is.

You can user the Tracker at: https://github.com/domogik/domodroid/issues to submit anythings.

Configuration

In the menu you have choice of:

_images/Fr_menu_open.png

Sync

When you click on Sync button, Domodroid will attempt to contact your Domogik server with the configuration previously entered.

By the past this was erasing every data and get new one. This including the loss of personal house re-organisation. It’s solved since version 14.

A default area is created at top of house. It contains the domogik information. You can safely delete it after the sync and create your house organisation like you want. At next sync, the default area will be recreated but you do not lost your personal organisation. Only no more existing device/sensor/command in domogik will be removed from domodroid.

Sync is done in further steps depending of your version of domogik:

Domogik 0.4 (API version >6)

  • It get a json containing device and feature from:

http://yourIP:YourPort/device

http://yourIP:YourPort/datatype

If it works, progress goes to 55%.

Progress from 55 to 100 are internal domodroid table construction.

Progress goes to 100% HOURRA!!

  • Just after this process ended, domodroid will start the cache engine. Depending of the number of feature and the speed of your connection it could takes seconds to minutes.

Domogik 0.3 (API version >5)

  • It get a json containing list of feature from:

http://yourIP:YourPort/base/feature/list

If it works, progress goes to 25%.

  • It creates Base House containing only one area named “USAGE”:

If it works, progress goes to 45%.

  • It creates room named “USAGE” in the Area, and prepare feature_associationList:

Feature_association_list will make the relation between a device (sensor or command) and the place where it will be displayed (Base, Area or Room).

If it works, progress goes to 55%.

  • Then for each feature get from domogik:

It will look for his usage to create a room names by it’s usage.

Create the feature and his feature association in the room.

If it works, progress goes to a value depending of the number of feature.

  • Domodroid put all data needed in AndroidSharedPreference to use them later.
  • Erase the internal DB and replaced it by new value.
  • Create the UPDATE_URL used for cache Engine:

Looks like http://YourIP:YourPort/stats/multi/“device_ID1”/”device_State1”/”device_ID2”/”device_State2”/”device_ID...”/”device_State...”

Each device_ID and State comes from list of feature.

Progress goes to 100% HOURRA!!

  • Just after this process ended, domodroid will start the cache engine. Depending of the number of feature and the speed of your connection it could takes seconds to minutes.

Domogik 0.2 (API version <=5)

It his not the same process as domogik handle the house structure.

  • Domodroid grab area list:

From http://YourIP:YourPort/base/area/list/

If it works, progress goes to 20%.

  • Domodroid grab room list:

From http://YourIP:YourPort/base/room/list/

If it works, progress goes to 40%.

  • Domodroid grab feature list:

From http://YourIP:YourPort/base/feature/list/

If it works, progress goes to 60%.

  • Domodroid grab feature_association list:

From http://YourIP:YourPort/base/feature_association/list/

If it works, progress goes to 80%.

  • Domodroid grab icon list:

From http://YourIP:YourPort/base/ui_config/list/

If it works, progress goes to 100%.

  • Put all data into Android SharedPreference then to DB like before.
  • Just after this process ended, domodroid will start the cache engine. Depending of the number of feature and the speed of your connection it could takes seconds to minutes.

STATS

Domodroid contain a mechanism witch record number and size of events and stats send and received.

(Not working in current version)

This view display them (maybe it could help you to see what’s wrong):

_images/Stats_view.png

ABOUT

This view display The About information including the changelog.

What’s important here his the value at the bottom of the view:

  • Domodroid complete version code and name.
  • Domogik Version code.

It could help to see witch version you are using.

_images/About.png

Usage

There is 2 usage of domodroid depending what domogik version you are using.

In case you’re using domogik 0.2 the Main screen is organize by Room.

In domogik 0.3 (and later) Room are now include in Domoweb UI no more in Domogik the Main screen is organize by usage/device.

In both case the map view is the same.

_images/map1.png

If device description is not empty it will replace the device name displayed

Longclick on a layout (area,room,widget) open a menu that allow you to rename, change icon or remove the selected item.

Developers configuration

activities/Graphics_Manager.java
It is called to get the right icons in function of the device state. In widget mode, case 0 is used for off, case 1 for 50%, case 2 for on and case 3 for undefined. In map mode, case 0 is for of and case 1 for on. All case depending of device usage.
activities/Activity_About.java
It open the layout About and adapt it to get version code/name and package name This is to help developers with nightly build and finally with real version to be sure what version user are running.

TABLE STRUCURE

  • The First 3 DB are only used to organize Domodroid House structure and display:

As Area and Room contains same information they could be optimize in next version with a new field for each type...

_images/table_area.png _images/table_room.png _images/table_icon.png
  • This DB contain list of feature available in your domogik server:
_images/table_feature.png

An example:

_images/table_feature_exemple.png
  • This one contains the feature and a place to display it (Base, Area or Room)
_images/table_feature_association.png
  • Same but for the map mode with position on X and Y axis:
_images/table_feature_map.png
  • The state his no more used by Domodroid with the cache engine but it his still here:
_images/table_feature_state.png

Developers environnement

You can use a lot of tools.

Since 12/2015 we migrate to Android Studio for developement. Still using API 8 from android to ensure largest device compatibility.

You will need Java JDK superior to 7.

Android studio will fail to correctly set projet. You have to import it using github in android studio then configure the modules in project structure.

First remove default module names domodroid. Add a new module select Api 8 platform in Module SDK. Names id as you want (domodroid or main or ...). In content root select: your pathdomodroidDomodroidsrcmain as root content.

In this module select gen and java as source, and add a java libs in dependencies domodroidDomodroidlibs.

Now you can android structure in this module, selecting the right manifest res assets and libs (they sould be automatically add with correct path this time).

3 libs are used:

The android appcompat, for navigation drawer and other stuff;

jeroMQ to make domodroid compatible with domogik MQ;

Achartengine is used to make graph;

Until version 11

ECLIPSE is only one of them, but you can use a simple text editor if you want.

Install Google SDK

Configure it to use git at this adress: https://github.com/domogik/domodroid

If you have right access to the domodroid github source to write. Install Egit plugin in Eclipse. You need to add an ssh key to your account and add it to the Egit conf. Once it his done import the project with ssh using “git” as username without password: ssh://git@github.com/domogik/domodroid