Design decision: RED interface #9
Replies: 2 comments 6 replies
-
@ralphwetzel – you bring up an important. I think we are mostly in agreement. Let me share my current thoughts. Please keep in mind that I come to this effort with zero background in Node-RED. I'm happy to work with you and others on this. While I don't know Node-RED well yet, I do have experience creating efficient embedded JavaScript. Both sets of knowledge will be required. As much as practical, I would like the MCU runtime to match the full RED runtime. That's why, for example, the function to clone a message in the MCU runtime is accessed via It will be interesting to see how much re-use of existing module code is possible. Even if code cannot be used exactly as-is, we should aim to minimized the changes required. Beyond the Node-RED MCU runtime itself there are other differences that impact re-use:
All that said, what is very cool is that flows can be re-used. Even if nodes need to be reimplemented (which is what I've done so far), the fact that flows can work on an MCU without a change is kind of amazing. The work we do to make it easier to bring more nodes to the MCU runtime will grow the number of flows that will work. I'm happy to rework the current implementation as necessary to provide better API / runtime compatibility with the full Node-RED. At under 1300 lines, it isn't that big yet. While quite functional, I view the current effort as a learning project and proof-of-concept, not the final approach. It will need to evolve. For example, I intended to rework when and how the exported JSON of the flows is processed to be able to generate much more efficient code. |
Beta Was this translation helpful? Give feedback.
-
A first teaser of the UI... |
Beta Was this translation helpful? Give feedback.
-
As already stated, there've been created currently > 4000 nodes for node-red. For this "spin-off" we need - in my eyes & at this early stage - a fundamental design decision: Is there the intension to re-use these existing nodes?
RED
(& a few others) of standard node-red & to follow in-principle the given design definitions. ESP might still lack relevant capabilities ... but at least the already existing nodes (as long as they do not rely on special additional libraries) should be 'runnable'.I strongly vote to follow the yes path - despite i know, that this means to re-do a relevant part of this project. I'm yet convinced, it's not too late to adjust direction ... for a better of this project in the long run.
Beta Was this translation helpful? Give feedback.
All reactions