MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    small outburst - opencv

    Scheduled Pinned Locked Moved General Discussion
    15 Posts 4 Posters 3.9k Views 4 Watching
    Loading More Posts
    • 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.
    • M Offline
      monark @sdetweil
      last edited by

      @sdetweil Thank you for understanding my frustration, as I have been trying to build my own mirror for years with poor results and a lot of disappointment.
      Is it not possible to create a fork of the operating system or something similar for MagicMirror? Is it not possible to create a fork of OpenCV or modify it so that it also works with RPiCam? This branch of technology is really strange: the further you go, the easier it should be and everything should be more compatible, but the opposite is true. When you install a module that works, there is a risk that another module will not work because the dependencies conflict. I would like to add that easier steps and installation also mean making the average user understand that they can learn faster and help others.
      I see a huge difference between the Home Assistant forum and the MagicMirror forum. I would like to see an improvement in the relationship between those who create the modules and those who install them (I’m not talking about the developers who help solve problems, I’m not referring to that). I’m talking about specific modules with many dependencies and with steps that are not explained or are unclear; I’m not referring to modules that are easy to install. I would like to ask if, for a fee, it would be possible to make everything more compatible.

      S mumblebajM 2 Replies Last reply Reply Quote 0
      • S Offline
        sdetweil @monark
        last edited by

        @monark you can make a fork of MagicMirror on github, and maintain your own if you wish

        as for more usability, long been talked about…

        I created a module to try to help with configuration, stop all the config file edit problems… and make each module config consistent from a user interface perspective

        see https://github.com/sdetweil/MMM-Config

        after a couple years, it lacked module install, so I have added that this year.

        neither are perfect, as the core structure of MM doesn’t enforce any standards or structure… so my module has to discover (by default) what is defined by the author and how it is used… there are ways for developers or users to make a better UI for a module, but it takes work by someone…

        I’ve helped a few authors provide a better experience for their module config…

        BUT, its still JUST inside the MM realm… python, opencv, … lack of scripts to install all that … still out of bounds…

        HA is ‘better’, but still needs work. I use the NON HAOS install(on synology), and there are lots of things you can’t do there (addons)… (music assistant with ESPhome satellite devices…has been weeks getting to work)

        and there are lots of platform hacks you still have to figure out yourself… (zigbee dongle on DSM 7.2 with no serial port driver…)

        some docker modules don’t actually work on the arm32 platform of my older 416j

        SO, its not everything…

        I worked for IBM for along time, and my mentors repeated over and over, you make an API, you are stuck with it… same data in produces the same data out, forever…

        you can CHANGE the api by ADDING something, that produces NEW output, but you can’t take the old away…,.

        fast forward to now… Breaking changes are all over the place. our customers will rebuy, make changes to their apps, if they want to keep using us… (else they weren’t really a good customer for us is their justification) …

        so all the end user/consumer side spends enormous amounts of energy keeping things working, and not working on NEW stuff to help their businesses, or their lives…

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • mumblebajM Offline
          mumblebaj Module Developer @monark
          last edited by

          @monark Maybe just my pennies worth as well, a lot of the module developers develop modules for own use and they choose to share it with community. A lot of the plugins that get used are not made by the module developers, OpenCV being case-in-point. It is a plugin and it has its own complexities.

          As Sam mentioned earlier, MM is a learning platform and users of the platform get to learn as they go along.

          I can understand the pain you having but the learning is what makes it fun, solving problems is what keeps most users going with the platform.

          Check out my modules at: https://github.com/mumblebaj?tab=repositories
          Check my blog-post: https://mumblebaj.xyz/

          M 2 Replies Last reply Reply Quote 2
          • M Offline
            monark @mumblebaj
            last edited by

            @mumblebaj I would like to dispute this statement.
            Some people may find it fun to find solutions, but for many it is not, especially if years go by without finding solutions either on their own or with the help of the developer who claims to have installed it on other platforms. I would add that the people who find this type of activity fun are precisely those who created the module and know exactly how to untangle it. One of the main problems is the hardware: many developers create their modules for their PCs and then indicate Raspberry, but they don’t work on Raspberry and they don’t know how to find the problem.
            I understand that it is complex and tedious, but one solution could be to separate modules developed for a specific type of hardware, such as barebone PCs or laptops, from those developed exclusively for Raspberry. In my opinion, this would already be a step forward, because developers would face the same problems as those who use their modules. Another solution would be to indicate in the wiki, if the dependencies are the same or similar in many modules (more than 3), to use the same version and the same procedure to install those modules or refer to an “external window” to the module, where it is explained step by step how to install that dependency (possibly updated).
            I’m telling you this as someone who has been on the forum for a long time, who has helped some developers add Italian language support, and who enjoyed making changes, such as adding new weather symbols and other similar things (OT: I think I also used your module and helped you, but I could be mistaken).
            From what you say, it seems that you want this project to remain closed to a select few who still want to “play and have fun,” but we need to entice people and make things easier.
            I repeat, I bought five Raspberries for each version, complete with different hats, different SSDs and NVMes, and all versions of cameras, because each time they said that was the problem.
            I am sure that by working together, we can find solutions to these problems.
            If the developers are not interested, we could consider creating an LLM to resolve the situation.
            However, I see that a lot of useful work has been done in the third-party modules after researching the modules (from what I understand and in understanding whether or not it is deprecated).
            Another negative point that is not mentioned is that in third-party modules it is stated that “no one has checked the security, at your own risk,” which suggests that only developers should interface with it in order to use it safely, when it seems to me that the founder used it for fun and for everyone.

            UncleRogerU 1 Reply Last reply Reply Quote 0
            • M Offline
              monark @mumblebaj
              last edited by

              @mumblebaj said in small outburst - opencv:

              a lot of the module developers develop modules for own use and they choose to share it with community

              I have no objection to this. I don’t dispute it at all. I would just like to specify, for example: “I created this ONECALL module for myself (not true, it’s an example) and I use it with this hardware (laptop/Orange Pi). If you install it with other hardware (Raspberry) and encounter problems, I’m not sure I can help you. If another developer likes my module, they are free to create a fork for Raspberry hardware.”

              This would also be a good solution.

              If there are only developers trained in programming here, how do other people manage? This means that Mirror will always be a “small” forum intended only for a niche audience. It’s different from HA, where there is more involvement, more solutions, and more people helping out who don’t say, “Go Google it.” Above all, by helping early users, they begin to become experts, become satisfied, and try to create their own module or help with problems. This is something I see less and less here (I was away for over a year, but I came back a few times to try again with modules that didn’t work and still didn’t work due to dependencies or other issues, or that I couldn’t do and put on hold).

              I just hope I’m not the only one posting about this frustration, because the more I can’t find solutions, the more I lose interest. I can’t fulfill my desire and I lose the desire to stay in the forum, thus taking away my ability to help developers respond to problems, even trivial ones, which perhaps an average or expert user can solve without the developer having to respond to everything. The best solution would be to have modules compatible with adequate hardware, step-by-step dependency installations, and, finally, a dependency (or similar version) for all modules that need it.
              I think many people have left for this reason, at least in the Italian group: everyone has left because of this and moved on to HA, some have even created modules or become moderators in specific groups.
              I hope I have explained myself clearly, but I will try again with another example:
              If I need imutils on three different modules, I don’t have to download imutils 1.10, then 0.9, and finally 1.15, and obviously the various modules are incompatible with each other. There should be a single updated imutils with its own tab provided by the mirror wiki, explaining how to install the dependency.

              S 1 Reply Last reply Reply Quote 0
              • S Offline
                sdetweil @monark
                last edited by

                @monark on your last point, oh if it were that easy

                I use the qrcode module in a couple of mine and it’s used in others
                Sadly the api has changed. Theirs won’t run on my version and mine won’t run on their version.

                And the MagicMirror ui is a browser which never considered this problem, first one loaded wins.

                I had to change my design to move the dependency someplace else. But we still need different versions.

                And as things age they may or may not continue to work.

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                M 1 Reply Last reply Reply Quote 0
                • M Offline
                  monark
                  last edited by

                  I just want to add one thing: I seem to remember that MagicMirror was created for Raspberry, not for other systems such as laptops and operating systems other than Raspberry. Nothing against those who create a mirror for their laptop and share it with others who want to do the same, but it seems to me that the mirror’s design has strayed from its original purpose by not specifically using Raspberry as its main hardware.

                  I would be inclined to think, “Well, the developers weren’t able to create the module with that hardware,” or “too many complications,” but that would be taking a shortcut for those who know and don’t want to “apply themselves” and would leave those who don’t know behind, without helping them to progress.

                  To be clear, I’m not saying anything against those involved in the topic, I’m talking in general terms and I hope no one takes offense at what I’m writing. It’s the frustration of someone who desperately wants to create their own mirror, has a clear idea of what they want, but has been hampered by modules and dependencies for years.

                  S 1 Reply Last reply Reply Quote 0
                  • M Offline
                    monark @sdetweil
                    last edited by

                    @sdetweil said in small outburst - opencv:

                    Sadly the api has changed.

                    But this (if I understand correctly, please correct me) only applies to modules that require APIs.
                    A change of API is not a problem for me (if I understand correctly). For example, if I remember correctly, the open-weatherforecast module (or similar) went from API 1.0 to 2.5 to 3.5 via openweathermap.

                    If so, I am talking about modules where there is no API but only dependency requests. See that damn OPENCV and facial recognition.

                    S 1 Reply Last reply Reply Quote 0
                    • S Offline
                      sdetweil @monark
                      last edited by sdetweil

                      @monark the module uses opencv apis. In python and was modified to work w a specific version of opencv.
                      see the recognition.py, which the module launches in the background

                        self.pyshell = new PythonShell('modules/' + this.name + '/tools/recognition.py', options);
                      

                      They also removed working with usb cameras, now only pi camera (I think only latest). So it no longer works for me

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @monark
                        last edited by

                        @monark MagicMirror was NOT developed ONLY for pi.
                        But ALSO For pi.

                        PI is one place making a mirror would be ‘easier’ due to
                        Its form factor.

                        But I have been running MagicMirror on droid, jetson nano,
                        Chromebox, desktop, windows, Mac since 2017

                        MagicMirror base is completely hardware neutral and mostly os neutral. As it runs on Linux , Windows and MacOS.

                        Specific modules might have hardware dependencies, like attaching sensors or cameras. But MagicMirror doesn’t itself

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 1 / 2
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy