MyNodes.NET moving to node.js.


  • Contest Winner

    Happy to announce that I started working on a new version of MyNodes.
    I decided to port the program to node.js. I don't expect that the new version will see many changes in functionality, but the whole internal architecture will be redesigned.
    In my plans the following changes:

    • The event-driven system will be replaced per cycle. Now, for example, if the software node has inputs A, B and output C, then C will updated the first time you change A, and again when changing B. This complicates the process of creating circuits from nodes, because we need to ensure that C has not sent the changes ahead of time. In the future system we are confident that any node will perform its own logic for one iteration of the loop, and so it will be easier to understand how the value will change in the chain of nodes.
    • The new version is designed so that it can be easy to add support for new protocols.
    • MongoDB support.
    • The program will work under OS X.
    • Serial gateway will work under linux.

    I'll write about all the new features and changes.
    If you have any thoughts about this or suggestions, please write here.
    If you wish to contribute, please join.



  • Hi,

    I knew about MyNodes.Net already a couple of months ago, but only tried it yesterday, and man, why the hell didn't i tried this sooner, it is absolutely a breeze to work with, you can do complex things in very little time. Amazingly job you did there.

    The editor is really great, but it would be nice to see the actual values on the nodes, especially the constant node. Now you always have to go to configure to see/check what the constant node contains.

    I think there is a bug in the Google speech part. I played around a bit with it, but no matter what i try, it always plays the message twice.

    And one more issue, if you add 4 panels, with the 1st one being a bit long, the 4th one appears in the middle on the 2nd row with many whitespace between the 2nd panel and the 4th panel, is this intended?

    BTW, moving to node.js, does that mean you will abandon .Net ?

    Keep up the great work.

    Greetings,
    Eric



  • Great news. Have ou take a look to node-red and node-red-dashboard ?



  • This post is deleted!

  • Contest Winner

    @ericvdb Thanks for the feedback. It would be very cool if it was possible to see the values on the inputs/outputs. I have thought about it, but I don't specialist in front-end development and I haven't tried to implement it yet. However, in the new version I'm going to do step-by-step code execution in the nodes (instead of events). Thus you can manually control the speed with which the changed value is pushed along the chain of nodes (up to each step).

    I don't refuse support .net version of the controller. The new version will be developed in a separate repository. I decided to write a new version in node.js for two reasons:

    Microsoft has released a new (still beta) version ASP.NET and they changed so many things in it compared to the last. I wanted to port the code to a new version, but it turned out that it's not easy. If I do the porting now, I will have to do it again when Microsoft will release the final version ASP.NET. So I decided to wait until the API is finally completed.

    I expect there are developers who join the development MyNodes.NET. But the interest of developers is not so strong as I expected. Perhaps ASP.NET not so popular among developers who may be interested in creating a smart home, and such things. I thought MyNodes may become more popular if it will be written in node.js. Let's see what will come out of this.


  • Contest Winner

    @Fabien No. How can it be useful for MyNodes.net?


  • Contest Winner

    @ericvdb I have not noticed problems with the panels and the Google speech. Take note of this and will look later. Thank you.



  • looks like its going to be a great controller, node is one of the strongest players these days, good luck to you i hope i can help in development.

    Few notes:

    1. You are using some deprecated node libraries, you get an warning when running node install.
      npm WARN deprecated jade@1.11.0: Jade has been renamed to pug, please install the latest version of pug instead of jade
      npm WARN deprecated transformers@2.1.0: Deprecated, use jstransformer
    2. I would try to use angular as front end
    3. when trying to run "node ./bin/www" i get exception:
      mys_gateway.connectToSerialPort(config.gateway.mysensors.serial.port, config.gateway.mysensors.serial.baudRate);
      ^

    TypeError: mys_gateway.connectToSerialPort is not a function


  • Contest Winner

    @dpressle
    Hi. connectToSerialPort should work. The connection with the gateway is already working, and all is displayed correctly on the /mysensors page.
    I'm not familiar with Angular yet. To me it seems pretty cumbersome. Handlebars now works not bad in the role of templating engine. What are the advantages of switching to angular?



  • @derwish
    You are right, Handlebars and Angular together would be pretty useless.

    Handlebars and Angular are completely different things.

    Handlebars is a template engine. You write a fancy templatey-string, give it a JSON object, and it renders out HTML from the data. There's no data-binding, no updating, it's just a once-off render.

    AngularJS is an HTML compiler and databinder. Angular will look through the HTML for angular-templating tags, interpret/compile them, and update the HTML with changes to data on a given controller scope. Angular doesn't just render an HTML string once, it compiles the HTML, binds it to a scope, and updates when data on that scope changes.



  • Great work. The most stable controller of i tried. I think it will be good sending e-mail and/or sms When an alarm condition/event occurs. thank you .


  • Contest Winner

    @ismail-çataroğlu Thank you. I will add an email node. Perhaps an sms, if I can find a good service.



  • I have no idea how you are getting this to work, when i try to run with the latest code i get this error:
    node bin\www
    C:\Users\dpressle\Documents\github_repos\mynodes.js\modules\mysensors\gateway-io.js:13
    gateway.on('newNode', function (node) {
    ^

    TypeError: gateway.on is not a function
    at Object.module.exports.listen (C:\Users\dpressle\Documents\github_repos\mynodes.js\modules\mysensors\gateway-io.js:13:10)
    at C:\Users\dpressle\Documents\github_repos\mynodes.js\modules\web-server\configure.js:17:46
    at Object.<anonymous> (C:\Users\dpressle\Documents\github_repos\mynodes.js\modules\web-server\configure.js:86:3)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (C:\Users\dpressle\Documents\github_repos\mynodes.js\bin\www:9:2)

    my node version is:

    node --version
    v4.3.0
    npm --version
    2.14.12


  • Contest Winner

    @dpressle I use:
    node -v
    v6.2.0
    npm -v
    3.8.9



  • @derwish strange seems like latest node is 4.4.7 for windows and linux how do you get V 6.xxx
    node official download page


  • Contest Winner

    @dpressle
    https://nodejs.org/en/download/current/
    Current version: v6.2.2 (includes npm 3.9.5)



  • @derwish got it thanks, i will try.



  • Getting close (or not)

    node -v
    v6.2.2

    npm -v
    3.10.3

    node bin\www
    C:\Users\dpressle\Documents\github_repos\mynodes.js\node_modules\serialport\node_modules\bindings\bindings.js:83
    throw e
    ^

    Error: Module version mismatch. Expected 48, got 46.



  • ok its working now, after deleting the node_modules dir and runing "npm install" again


  • Hardware Contributor

    @derwish said:

    I expect there are developers who join the development MyNodes.NET. But the interest of developers is not so strong as I expected. Perhaps ASP.NET not so popular among developers who may be interested in creating a smart home, and such things. I thought MyNodes may become more popular if it will be written in node.js. Let's see what will come out of this.

    Hello, I have some interest in the project in ASP.NET as it looks very promising, just didn't have time to check the code yet, but I hope I will be able to do it in the coming weeks.

    I'm not sure it's necessary to hurry to move to the next version of ASP.NET, you can keep using the current version and let MS finish, then let it some time to smooth out the rough edges after the final version is released 🙂


  • Contest Winner

    @Nca78 Thank you for your interest. Write about your experience, and ask questions if something is not clear in the code.



  • derwish,

    Your controller looks awesome.

    I'd like to start implementing this on my raspberry pi (either pi 1 model B or pi 3). I ran into dependency issues when installing mono on my pi 1 model B. The link to the .net install instructions is different then in your video so I followed the instructions on your video with out success.

    Do I just need to wait for the node.js version to come out? Would that version still require .NET? I would assume not because node.js is based on javascript. Do you have any node.js development versions that I could try?

    Looking forward to getting this installed.

    Thanks,
    neech


  • Contest Winner

    @neech Hi. Version for node.js will not require ASP.NET. It will be independent software. But it is still in a very early stage of development, and there are no predictions when it will be finished. But now, I think you need to find instructions on how to install ASP.NET 5 version RC1, and then everything will work fine.



  • @derwish ,

    This is the only instructions I have found for installing .net on linux:
    https://www.microsoft.com/net/core#debian

    Do you think this will work?

    Thanks,
    neech



  • Good news!!!
    When do you plan to lounch the new (Node.JS) version?


  • Contest Winner

    @fahrettine I halted the development, because now working on a commercial project. But I plan to continue to develop after two months. I think that in this case, the working version will be released by the end of the year.


  • Contest Winner

    @neech This instructions for the latest version of the framework. It's not compatible. Look for how to install the RC1 version.





  • Hi @derwish

    What is the current status about the project to node.js?
    still moving?


  • Contest Winner

    @ebo hi
    I had to postpone this project because of work, but I plan to start in January and finish within a month or two.



  • Hi @derwish, can I ask you what's the status of the project ? Thanks in advance for your time.


  • Contest Winner

    Hi @antlomb! The development is in full swing and is nearing completion. I did a great job, much more than I planned for this version. The final step is the redesign of the user interface, and some more minor improvements. I made everything much more convenient and intuitive. You can see the CHANGELOG.

    alt text


  • Banned

    This post is deleted!


  • Congratulations derwish! Singlehub has been long awaited. I will try and test this on a Ubuntu server tonight.

    Thank you,
    neech


  • Contest Winner

    @neech You can try, but some features are still not available - not all of UI elements available for now, there is only support Serial MYS-gateway (not ethernet). It is better to wait some more time. I'm sure I'm close to releasing a public beta version, but not today)



  • @derwish , thanks for the update. Keep us informed 🙂


Log in to reply
 

Suggested Topics

2
Online

11.4k
Users

11.1k
Topics

112.7k
Posts