Welcome to the MakeHaus Developer Documentation Wiki
Great you found your way to our Wiki and thank you for your interest in MakeHaus!
MakeHaus is a new collaborative platform which seeks to empower "Makers" to create and provide professional-grade hardware solutions, which common product manufacturers could or would never take to market. To achieve this, MakeHaus provides a simple yet powerful way to combine hardware building blocks (which we call "Tiles") into solid and highly individualized devices. These sleek and attractive devices you can build are application-neutral - "agnostic" as we say - as their functionality is solely determined by software running elsewhere in the network. Here is where the magic really starts!
If you can dream of an awesome control solution, you may be able to compose and configure it from MakeHaus components - or you will find collaborators who develop the components which are still missing to enable the solution you envision. Just like the Open Source movement changed the world of software, our collaborative and community-based approach can change the way control solutions are being conveived and implemented. MakeHaus JS is the Open Source software portion of MakeHaus, released under AGPL and inviting developers who share our vision of community based innovation and empowerment.
We have just released MakeHaus in its initial form - and that was very difficult to get all things in place under Corona circumstances. Please afford some patience! There is a whole lot of cool and very solid stuff in place for you, but please keep in mind that neither the system nor the documentation can be anywhere near its true potential on this day one. We have prepared this Wiki to enable collaborative documentation of the platform. If you find the documentation is missing out on relevant information, PLEASE edit this Wiki and improve the respective Wiki page with your contribution.
Please refer to the MakeHaus Web Site for an overview. Sorry the site is in German only! Below find more information which is relevant to getting your MakeHaus setup up and running.
How to build your MakeHaus
We have captured an extensive photo series on How to build a MakeHaus device - start your journey here.
Setting up your MakeHaus
Does this Tile work or is it dead? When in doubt, here is how to test individual Tiles for their base functionality.
Multiple Tiles are connected to a Tile Chain, which then connects via USB to a Host...
... a Host running the Tiles Hub which exposes the TileChain on the network. Here is how you install and configure TilesHub:
In case you like to use MQTT, which as a protocol is natively supported by the TilesHub, here is the protocol reference and an example flow for Node-RED:
Using the MakeHaus Nodes for Node-RED
We provide a set of node modules for Node-RED which make it very easy and convenient to use MakeHaus tactile control elements with your favourite Node-RED flows!
MakeHaus-JS Software Documentation
Node.js is one of today's most vibrant software ecosystems - easy to learn and with premade packages for everything under the sun. You want to control a certain thing? Likely, there is a package for Node.js already which implements its protocol. MakeHaus-JS makes the MakeHaus building block system available to the Node.js universe - we can't wait to see what YOU will make out of this!
Below you get a detailed description of the makehaus-js node package. You learn how to clone the repository and view the source code or how to use the npm package as a dependency in Node.js
Significant APIs and Examples
The Tiles API lets you communicate directly with the Tiles Hub. How to use it, embed it in your own code and make the connection is explained here.
To easily augment your Tiles with a smartphone or tablet, there is the Stack API. Stacks are where you group hardware widgets and software widgets together and determine how they interact.
MakeHaus-JS makes intensive use of our parameter system parameters-js. Here you can dig deep into the concept, architecture and use of this node package. Feel free to clone the repository and view the source code.
Web UIs for the Hybrid Touch/Tactile Stack
The following document describes the Web UI. Learn how you can layout screens for sleek Tactile+Touch control solutions and how to influence the look and feel.
The chapter below illustrates how to add a totally new UI widget to the MakeHaus Web UI.
Use our examples to play around and see MakeHaus-JS in action.