• header.categories
    • header.recent
    • header.tags
    • header.popular
    • register
    • login

    Mycontroller 2.x ideas

    scheduled pinned locked moved General Discussion
    44 posts 10 posters 19.5k views 5 watching
    loading-more-posts
    • oldest-to-newest
    • newest-to-oldest
    • most-votes
    reply
    • reply-as-topic
    guest-login-reply
    deleted-message
    • T offline
      Tag MOD @wanvo
      global:last-edited-by,

      @wanvo

      Good point 🙂
      IMHO the "TICK" stack is very complex, and therefore maybe not so suitable for a larger audience, the beauty of mycontroller is that it is relatively easy to install and use.
      InfluxDB can be setup automatically..

      Another thing that needs to be taken into account is that the TICK stack is very resource hungry (ofcourse depending on the load from the sensor network), the OrangePIzero will have a hard time with just 512MB memory... even 1GB is small for the complete stack.

      Just my 2 cents..

      one-reply-to-this-post last-reply-time reply quote 1
      • W offline
        wanvo
        global:last-edited-by,

        @Tag
        Maybe you're right. I have not tried to load TICKstack with a lot of data streams from sensors. I installed all parts of TICKstack's and I'm studying the possibilities of this system with one temperature data stream and three relays.The memory capacity of Orange Pi Zero is still sufficient.

        Maybe then it makes sense to provide interfaces for the interaction of MyController 2.X with Kapacitors, Cronograf and InfluxDB, and TICKstack itself should be installed as an option?
        I want to find a simple and beautiful dashboard with drag and drop programming.

        T one-reply-to-this-post last-reply-time reply quote 0
        • T offline
          Tag MOD @wanvo
          global:last-edited-by, Tag

          @wanvo
          Mycontroller is beautifull 😉
          Try influx and grafana4 this will get you a highly customizable dashboard with all the stuff you want.
          I did a setup of mysenors --> mycontroller --> influxdb --> Grafana4 and it works, but it is no easy setup. and will definitely not run on one single OPI0... CPU will be continuously in high performance mode and the OPI0 will get very very hot....

          In this setup mycontroller is handling the relays....

          W one-reply-to-this-post last-reply-time reply quote 0
          • W offline
            wanvo @Tag
            global:last-edited-by,

            @tag

            How is Grafana better than the built-in Dashboard of Cronograf? Cronograf weakly loads the processor and quickly runs on OrangePiZero. He really does not have a mechanism for controlling the relay or other devices. So far I have not figured out how to combine graphics and buttons on the same control panel. It may be necessary to use NodeRed and organize a virtual MQTT node.

            T one-reply-to-this-post last-reply-time reply quote 0
            • jkandasaJ offline
              jkandasa
              global:last-edited-by,

              @Tag @skywatch @wanvo I have created project to track 2.x requests. I have added few proposals. Kindly have a look and update the missing features? Thank you!

              https://github.com/mycontroller-org/mycontroller/projects/1

              T W topic:replies-to-this-post, 2 last-reply-time reply quote 1
              • T offline
                Tag MOD @wanvo
                global:last-edited-by,

                @wanvo

                Well the minimal system requirements give an indication on what hardware should be used. OPI0 is from a memory perspective a little "light". anyway it all depends on the load. So it might be that for you it works fine.

                one-reply-to-this-post last-reply-time reply quote 0
                • T offline
                  Tag MOD @jkandasa
                  global:last-edited-by,

                  @jkandasa

                  Thank you!! will have a look! 🙂

                  one-reply-to-this-post last-reply-time reply quote 0
                  • W offline
                    wanvo @jkandasa
                    global:last-edited-by,

                    @jkandasa
                    Thank you for the project. I like MyController a well-developed transport layer, a lot of communication interfaces. I like using the MQTT broker. There is not enough user-friendly dashboard with drag and drop programming, so that the user does not need to delve into the subtleties of html, css, etc. to connect third-party widgets. I want a script editor with direct access to InfluxDB, so that you can make decisions on historical data, including the old one.
                    I do not know how to write this all at https://github.com/mycontroller-org/mycontroller/projects/1 and what open sourse resources to use. So I write the wishes in this topic.
                    In general, MyController cool thing!

                    one-reply-to-this-post last-reply-time reply quote 1
                    • N offline
                      njbuch
                      global:last-edited-by,

                      I think I might suggest that you forget about the dashboards, graphs and gauges, and focus on the data-flow, conversions, notifications and rules.

                      And dont be fooled by the time it takes to start from scratch. I dont think your timing is right, I dont see any benefits of changing all those frameworks. But a significant re-design of some parts might be cool.

                      jkandasaJ one-reply-to-this-post last-reply-time reply quote 0
                      • jkandasaJ offline
                        jkandasa @njbuch
                        global:last-edited-by, jkandasa

                        @njbuch You are right! I am not going to start from scratch. I will start 2.x branch from the existing code and do major changes, like support ACK (needs a lot of change on message queue), Rul engine performance improvement, Switch to Angular4 on UI, standardize REST API, ionic mobile application, InfluxDB for metrics(no more RDBMS metrics support) and much more.

                        I have rewritten everything. Reasons:

                        • needs to write everything on GoLang (backend), ReactJS (frontend)
                        • However I have taken the logic used in 1.x, So it speeds up the development
                        D one-reply-to-this-post last-reply-time reply quote 0
                        • Z offline
                          zachflem
                          global:last-edited-by,

                          The one thing I can say would be nice (from a very early user) is less reliance one scripting based setup.

                          While I don't mind delving into it, the ability for my non-programming-centric wife to be able to edit the schedule for our watering system would be nice.

                          There is a button to change the state of my relays, why do I have to script a timer for them?

                          set the run time in the operation for each zone, set the schedule using the timer, run.

                          Hope to discuss more with you all as I learn more myself!

                          jkandasaJ one-reply-to-this-post last-reply-time reply quote 0
                          • jkandasaJ offline
                            jkandasa @zachflem
                            global:last-edited-by,

                            @zachflem Thank you for your idea. Could you please elaborate a bit more on this? Do you want to implement readymade widget kind of things to replace script?

                            Z one-reply-to-this-post last-reply-time reply quote 0
                            • Z offline
                              zachflem @jkandasa
                              global:last-edited-by, zachflem

                              @jkandasa I like the scripting ability, don't get me wrong.

                              But...

                              I've got switches setup on the dashboard for 2 relays. It would be nice to add a feature to those switches to automatically turn them off after x seconds/minutes.

                              or

                              As part of the operations tab, have the option to select the sensor (in this case a relay) and set the status to "ON" and the duration to x seconds/minutes. Then setting a reoccuring timer to run, using that operation would result in the sensor (the relay) operating for the defined duration.

                              I might not be explaining myself very well, I'd just like to see some scheduling into the GUI so my wife could change/setup a new watering schedule if I'm not around.

                              A little off topic, but is there any documentation about scripting in mycontroller?

                              jkandasaJ one-reply-to-this-post last-reply-time reply quote 1
                              • jkandasaJ offline
                                jkandasa @zachflem
                                global:last-edited-by,

                                @zachflem well, this is a nice request. I will take it to the todo list.

                                jkandasaJ one-reply-to-this-post last-reply-time reply quote 1
                                • jkandasaJ offline
                                  jkandasa @jkandasa
                                  global:last-edited-by,

                                  @skywatch I'm adding your idea here,

                                  For V2.0 you might like to think about a page in the settings area with radio buttons to set the 'INFO' / 'DEBUG' etc parameters. Would be easier, especially for people who are new to linux.

                                  Source: https://forum.mycontroller.org/topic/328/serial-problem/43

                                  one-reply-to-this-post last-reply-time reply quote 0
                                  • D offline
                                    Daniele @jkandasa
                                    global:last-edited-by,

                                    @jkandasa , how is it going with the implementation of 2.x release?
                                    Did you have a chance to start working on it?

                                    jkandasaJ one-reply-to-this-post last-reply-time reply quote 0
                                    • jkandasaJ offline
                                      jkandasa @Daniele
                                      global:last-edited-by,

                                      @daniele Thank you for your patience. No, Still I'm on collecting ideas and coding languages.
                                      For now, for UI I have chosen ReactJS, it has good support for native mobile application too.

                                      one-reply-to-this-post last-reply-time reply quote 0
                                      • AvamanderA offline
                                        Avamander
                                        global:last-edited-by,

                                        I've tested InfluxDB + MyController on my Raspberry Pi 3 for a few months now (thank you so much again for your work @jkandasa). The setup offered super easy way to submit readings into a database but I noticed weird anomalies and after some time I started seeing corrupt data. I'm going to switch everything back to PostgreSQL and see if that could provide more stability.

                                        Although (memory) heavy, I do feel Java runtime provides significant and important cross-platform support with better performance than say Python or Node. What I mean is that current choice to use Java is not a bad one.

                                        The WebUI is as well a bit heavy on browsers, but it can be sped up significantly with modern tech such as HTTP2 (+PUSH) and TLSv1.3 making it absolutely okay to use - some good CSS could fix pretty much everything wrong with it. What I fear is that going with the latest tech here, expecting good cross-platform support and easy code, will end up worse than what we have now, for example HA's webgui. I propose that MyController provides a good API, something uses that API to render a webGUI (the webgui could use say Grafana by-default to display graphs instead of reinventing the wheel) or to display data in a native Android application.

                                        jkandasaJ one-reply-to-this-post last-reply-time reply quote 1
                                        • jkandasaJ offline
                                          jkandasa @Avamander
                                          global:last-edited-by,

                                          @avamander Great points! I will keep in mind these point for MyController 2.x.
                                          Thank you so much!

                                          skywatchS one-reply-to-this-post last-reply-time reply quote 0
                                          • skywatchS offline
                                            skywatch @jkandasa
                                            global:last-edited-by,

                                            @jkandasa Something that would be good is a way to flag aged data or node down on the dashboard display.

                                            As it stands we cannot know 'when' the last data arrived or if the node is still sending data.

                                            It would be good to have a method where by if no data is received after a certain amount of time (setting individually for each node or better still each sensor) then the display on the dashboard can change text colour.

                                            So lets say I have a node or sensor that sends data every 5 minutes. I can have a setting that says 'If no data after 12 mins' then the text turns amber. Next if no data after 30 mins then the text turns red. The times should be individually selectable by user.

                                            Whilst it's relatively easier to see the time of data with graphs, it's still possible to glance at a graph without taking note of the times and assume data is current.

                                            M one-reply-to-this-post last-reply-time reply quote 1
                                            • first-post
                                              last-post

                                            0

                                            online

                                            644

                                            users

                                            532

                                            topics

                                            3.4k

                                            posts
                                            Copyright © 2015-2025 MyController.org | Contributors | Localization