Technical: Currently busy to move out the internal pidome module dependencies out of the main project and putting them into their own respective dedicated projects. All automated builds will fail until this is done, hopefully in the next couple of hours.
Another milestone, all retired project repositories have been cleaned up, except the original server and the downloads. These stay until @Bitbucket deletes the mercurial repositories which we have been using for all projects. New repos will be created ASAP during development
Almost done with the first additional supported database next to H2 which is MySQL. This means you could simply try out #PiDome with an in memory, without additional installation a local H2 or networked with a MySQL database (currently testing with 8.0).
The upcoming version deprecates SQLite and will be replaced with H2 and various other databases. This requires a big change in database update strategies. For this we are moving to @liquibase which will be integrated in the server.
2
Discovery now changed to the possibility to create a device definition directly from the discovery of a new device. Just tap "Or create a new device" in the device selection. You will be provided with the options of that specific discovered device ( xitter.gq/Pi_Dome/status/1204448… )
When a device type is unknown, but is able to do different things with the same signal (Like KlikAanKlikUit where motion detection is same as button on/off on a remote). Just choose the type in a list of provided controls. Yes,The new device builder supports pre-defined controls
1
And, how does this look from a developer's perspective, how to create a form with these options: xitter.gq/Pi_Dome/status/1204448…. The screenshot shows how you could possibly provide your end user with pre-defined controls. Just set some defaults yourself, pidome does the rest
When a device type is unknown, but is able to do different things with the same signal (Like KlikAanKlikUit where motion detection is same as button on/off on a remote). Just choose the type in a list of provided controls. Yes,The new device builder supports pre-defined controls
New milestone in the rewrite, devices controlled by RFXCom (KlikAanKlikUit). Now starting to finish up features not yet fully implemented like premises, multidatabase support, user management (guests and persistent) and module updates without restarting.
On Bitbucket there is a Project named "Retired". This project is getting less and less repositories. If looking for a specific repo, and it's not there it is being or has been migrated to the rewrite. Look in Platform, Drivers, Clients or Modules.
Original server has nashorn implementation for creating drivers (pidome.org/platform/api/cust…). With the rewrite i'm wondering if this feature is a must or a could have. This affects the development timeline and will depend on graaljs usability in the JDK (research required).
Some advanced features are being added to the rewrite, one of these is the ability to create a cluster of installations. This allows assigning a dedicated install for heavy duty tasks, assign dedicated premises when you have a LOT of devices and a dedicated event handler, etc...
Some random user details screenshots of work in progress in the minimal mobile web interface.
- Real time password hints,
- User personal connections with external services
- Generic UI and geofencing settings
Initial screen of a data driven form. Section for grouping, DisplayField for label en text, SelectField<Enum> for the dropdowns with default values selected. Thinking of it. Possibly develop a CollapsibleSection which one could name "Advanced" (for DTR/CTR, etc..)
The rewrite includes a new Presentation API providing forms. You can use enums (SelectEnum<Enum>), IntInput, DoubeInput, UrlInput, IpAddressInput, etc... Default values on submit you recieve your objects with basic validated user values. Not bounded anymore to predefined forms
The server's hardware communication core rewrite is as good as done. New cleaner and more simple web interface in the making
Documentation links updated for REST and JavaDoc at docs.pidome.org/code_api/ind… When a development branch is build, these are updated automagically.
This will be a changer for windows USB support. Instead of relying on default registry entries, every non standard implementation can have it's own custom implementation. No more searching for correct COM ports etc..
Big change in the USB discovery for windows. The registry walker will now explicitly request the service which an USB device will deliver (like on *nix) this way multi layered usb devices can be recognized automatically (like those FTDI chips) and get their own implementation.
Time to fill Jira with ALL epics, stories and tasks to refactor all modules for the server rewrite. Some will be done from scratch, others will migrate. This includes all repos from hg to git and integrate with the new build pipelins.
Rewrite still in progress. In the last couple of weeks a complete new repository setup was created, issues refactored, new build system/pipeline, automatic documentation creation and... cleaned up lots of code in the rewrite: xitter.gq/john_sira…
So, this is how my cleanup has been going the last couple of days. That merge was sooo satisfying. P.S. The graphs are not only server, but includes all sub projects.
Just a quick mention: The rewrite will include tools for easier development, like a bom pom and real time data monitors.




















