Page 1 of 1
atHomeApp - Private Open Source App Android & Windows
Posted: Friday 19 October 2018 9:11
by rwblinn
Sharing my private (Open Source) App
atHomeApp for Android & Windows.
Objectives: create a flexible Home Automation Android & Windows App to view & control devices atHome.
- atHome is a private project building a Home Automation Solution based on Domoticz v4, running on a Raspberry Pi 3B+ Stretch
- Make the app as generic as possible, means data of the Domoticz server used as is without making dedicated changes in the app
- Keep the App SIMPLE – not overcomplicating - fast access to view & control is key
- Supported selective hardware & devices, i.e. only the ones for the atHome project - more to be added in the future
- atHomeApp is created with B4A v8.50 and B4J v6.51 - more about B4A&B4J https://www.b4x.com
- First private showcase learning Mobile Development B4A / B4J + XUI
- Open Source GNU Lesser General Public License
- The Windows version requires Java to run
More information on the B4X forum:
https://www.b4x.com/android/forum/threa ... ion.97645/
Re: atHomeApp - Private Open Source App Android & Windows
Posted: Friday 19 October 2018 9:40
by EdddieN
Nice work! B4X does not do iOS?
Re: atHomeApp - Private Open Source App Android & Windows
Posted: Friday 19 October 2018 9:50
by rwblinn
Thanks.
B4X supports iOS development with B4i - see
https://www.b4x.com/b4i.html.
My focus is on Android development (B4A), Windows (B4J) and Arduino/ESP (B4R). I do not have a developers licence for B4i.
Re: atHomeApp - Private Open Source App Android & Windows
Posted: Friday 19 October 2018 9:56
by EdddieN
Ah! Ok maybe is something that can be addressed later.
Is there a place where I can see all the screens of the app in operation? (Don’t have android to test)
Re: atHomeApp - Private Open Source App Android & Windows
Posted: Friday 19 October 2018 10:12
by rwblinn
The link at the bottom of the first post shows more info about the app with screenshots of the 4 tabs covering Weather, Lights, Information, Settings.
See
https://www.b4x.com/android/forum/threa ... ion.97645/
I also have scribbled a (draft) PDF document with more development information. It is too large to attach (1MB).
Drop me a PN with email and I can send it to you.
Additional (specific info) as shared on the link mentioned.
Functionality
- View & control devices which are added to the Domoticz Dashboard ("favorites")
- Devices are grouped and displayed in tabs (B4A TabStripViewPager Custom View, B4J TabPane)
- Own device grouping used (not Domoticz menus) to build the tabs: Weather, Lights, Information
- Tabs containing xCustomListView to view or control devices and to manage settings via CheckBox/InputDialog
- xCustomListView items are build at runtime using Domoticz Favorite Devices data
- Domoticz Favorite Devices data is requested via HTTP (okhttputils2) and the JSON rersponse is parsed to get the relevant data
- Data refreshed is triggered manually via menu item (Tab Settings shows time refreshed)
- If Domoticz favorite devices are changed (added/removed/updated), these are reflected on the next manual updated (no changes required in the App, full flexible to handle change)
- Clicking on xCustomListView item shows short toastmessage with additional information
- Tab Lights enabled to control switches (on/off), lights (on/off) and dimmer. When dimming, a short toastmessage shows the dim level. Mainly used for Philips Hue Bulbs
- Tab Information enables to send a message to the Alert Message device via InputDialog
- Settings are managed via Tab Settings and stored using map file (in file internal)
- At App resume (B4A), data is refreshed
- Menus added to refresh the data as mentioned, jump to tabs (pages)
Outline next version
- Extend parsing device Types & Subtypes as not all Domotict types are supported yet
- Handle devices thresholds, i.e. change data color depending level
- Consider to update real time or use a timer to autorefresh - but will cause high network traffic
- Consider selective devices from all devices data - needs customizing (=effort to maintain, non standard), high data volume
- Various smaller improvements