Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Controllers
  3. MyNodes.NET
  4. MyNodes.NET moving to node.js.

MyNodes.NET moving to node.js.

Scheduled Pinned Locked Moved MyNodes.NET
36 Posts 11 Posters 13.7k Views 12 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • derwishD Offline
    derwishD Offline
    derwish
    Contest Winner
    wrote on last edited by derwish
    #1

    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.

    1 Reply Last reply
    1
    • E Offline
      E Offline
      ericvdb
      wrote on last edited by ericvdb
      #2

      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

      derwishD 2 Replies Last reply
      0
      • F Offline
        F Offline
        Fabien
        wrote on last edited by
        #3

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

        derwishD 1 Reply Last reply
        0
        • E Offline
          E Offline
          ericvdb
          wrote on last edited by
          #4
          This post is deleted!
          1 Reply Last reply
          0
          • E ericvdb

            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

            derwishD Offline
            derwishD Offline
            derwish
            Contest Winner
            wrote on last edited by derwish
            #5

            @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.

            Nca78N 1 Reply Last reply
            0
            • F Fabien

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

              derwishD Offline
              derwishD Offline
              derwish
              Contest Winner
              wrote on last edited by
              #6

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

              1 Reply Last reply
              0
              • E ericvdb

                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

                derwishD Offline
                derwishD Offline
                derwish
                Contest Winner
                wrote on last edited by
                #7

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

                1 Reply Last reply
                0
                • dpressleD Offline
                  dpressleD Offline
                  dpressle
                  wrote on last edited by
                  #8

                  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

                  derwishD 1 Reply Last reply
                  0
                  • dpressleD dpressle

                    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

                    derwishD Offline
                    derwishD Offline
                    derwish
                    Contest Winner
                    wrote on last edited by derwish
                    #9

                    @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?

                    dpressleD 1 Reply Last reply
                    0
                    • derwishD derwish

                      @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?

                      dpressleD Offline
                      dpressleD Offline
                      dpressle
                      wrote on last edited by
                      #10

                      @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.

                      1 Reply Last reply
                      0
                      • ismail çataroğluI Offline
                        ismail çataroğluI Offline
                        ismail çataroğlu
                        wrote on last edited by
                        #11

                        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 .

                        derwishD 1 Reply Last reply
                        0
                        • ismail çataroğluI ismail çataroğlu

                          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 .

                          derwishD Offline
                          derwishD Offline
                          derwish
                          Contest Winner
                          wrote on last edited by
                          #12

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

                          1 Reply Last reply
                          0
                          • dpressleD Offline
                            dpressleD Offline
                            dpressle
                            wrote on last edited by
                            #13

                            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

                            derwishD 1 Reply Last reply
                            0
                            • dpressleD dpressle

                              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

                              derwishD Offline
                              derwishD Offline
                              derwish
                              Contest Winner
                              wrote on last edited by
                              #14

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

                              dpressleD 1 Reply Last reply
                              0
                              • derwishD derwish

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

                                dpressleD Offline
                                dpressleD Offline
                                dpressle
                                wrote on last edited by
                                #15

                                @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

                                derwishD 1 Reply Last reply
                                0
                                • dpressleD dpressle

                                  @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

                                  derwishD Offline
                                  derwishD Offline
                                  derwish
                                  Contest Winner
                                  wrote on last edited by
                                  #16

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

                                  dpressleD 1 Reply Last reply
                                  0
                                  • derwishD derwish

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

                                    dpressleD Offline
                                    dpressleD Offline
                                    dpressle
                                    wrote on last edited by
                                    #17

                                    @derwish got it thanks, i will try.

                                    1 Reply Last reply
                                    0
                                    • dpressleD Offline
                                      dpressleD Offline
                                      dpressle
                                      wrote on last edited by
                                      #18

                                      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.

                                      1 Reply Last reply
                                      0
                                      • dpressleD Offline
                                        dpressleD Offline
                                        dpressle
                                        wrote on last edited by
                                        #19

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

                                        1 Reply Last reply
                                        0
                                        • derwishD derwish

                                          @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.

                                          Nca78N Offline
                                          Nca78N Offline
                                          Nca78
                                          Hardware Contributor
                                          wrote on last edited by
                                          #20

                                          @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 :)

                                          derwishD 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          18

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular