Was mainly working on my commercial project today and the last few days, but still manage to do a little bit for the van. Today I felt like doing something for the Android phone app. The first version is done. I made a generic application which loads a parameter list from the central app via Wifi and creates the display page dynamically. If one has a large number of signals to deal with it is very daunting to write apps for each application component with each signal in a hard coded way. Just not really efficient. I have created a main remote menu and application submenus and value display pages, which could also contain on/off switches or dim switches. Only a few standard components are needed and very easily one can define a level of abstraction, which allows to create these apps by definition. This means you only need one app and all the rest is done through definition lists maintained by the server app. I do not store these definitions in the phone apps, they get downloaded every time the app connects to the server. This makes it easy to maintain and easy to adapt to changes. All the display elements are created dynamically. I can even download the style sheets when I want a different look, but that is just for the fun of it.
Above is the main menu. I try to keep each app very simple, with a close button when one would want it, unlike this Android standard with pull down menus and such. I don’t like it, inefficient and slow, you never know where to look for a function, either you swipe one side, or the pull down menu or whatever the developer has thought up. I do not have hidden menus or anything like that. Only pages if required scrolling left or right, with arrows when applicable. That’s it, simple user interface, quick to use. The menu is a separate app, one could even organise each app separately on an android desktop page in a different way when not using this menu app.
Above is the example of the power app, called from the remote menu. Touching the BMV for the house battery would bring up the app showing the values for this device. Each of the sub screens are driven by a downloaded definition, the screens are generated dynamically. If I want to change something because practice shows different than my current thinking, it is just a matter of changing a list entry in a definition file. No programming or anything. I will eventually incorporate an edit function for these settings on the main app. These phone apps are only meant to be used when we are away and have not tablets or anything with us for remote control. Since Victron only provides Bluetooth connectivity unless you use the VRM portal for some components, and I also want to connect to all my own signals and not just from a few meters away I make these apps for long distance communication even without Internet. Why do I do this ? because I can and it will proof convenient, it already is now. I can manage the van power from my office.