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.

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:
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:

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:
- Access to options
- Sync with domogik server
- Talk with Buttler if sync wih a domogik 0.4 and more
- Organize you house
- See statistics about echange with the server (Stats and Events)
- Open about view
- Exit

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/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):

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.

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.

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 note¶
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...



- This DB contain list of feature available in your domogik server:

An example:

- This one contains the feature and a place to display it (Base, Area or Room)

- Same but for the map mode with position on X and Y axis:

- The state his no more used by Domodroid with the cache engine but it his still here:

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