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 2.3k 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
      last edited by

      Hi, this is just a little rant.
      For someone like me who bought three different Raspberry Pi models (Pi 3 to Pi 5) complete with SSD and NVMe memory and different cameras, because each time it seemed that the hardware was the problem. After buying the hardware and following various tutorials, it seems that the problem is the software. Time passes and you have to switch to new hardware because the software has been updated. Here I am talking about OpenCV and the rpicam and picamera2 libraries. Then, even in the various mirror modules, I begin to see the complexity of installation, where the various developers tell you to go and look here without telling you how they did it, except to say “steak, frying pan, eat” instead of saying “buy steak, take a frying pan and put it on the stove, cook the steak, and when it’s done, you can put it on a plate and eat it.” Explaining the steps in detail makes it easier to understand and improve, but it seems to me that it is becoming increasingly difficult and does not help (search on Google, because even using various LLM leads you to make other mistakes or modify parts that should not be touched). I am talking about the most difficult modules; it would take more patience to write all the installation steps, especially if there are dependencies. I found it difficult even just to install node.js, and the steps should be clearly written in the MagicMirror wiki. So I ask for more patience from developers and, in technical matters such as node.js, opencv (referring to facial recognition), very complex modules, to use a language that is much easier to understand and more steps to guide users through the installation process step by step. Sorry for the rant, but after nine years of trying to install certain modules and spending a lot of money, I had to write this.

      thank you

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

        @monark yes, the complexities are increasing. in number and difficulty.

        the add on capability from MagicMirror means anyone of any skill can do just about anything.

        I support the install/update and backup/restore scripts for MagicMirror, mostly to help with some of these difficulties… nodejs for example…

        the general view is that this MagicMirror environment is a learning experience, and we shouldn’t gloss over it… but I want to help users make progress and be successful.

        but its hard with all the technical churn OS, runtimes, libraries, …

        access to camera and OpenCV, python, are outside MM, we don’t know about any of it.
        causal (maybe first/only time) developers speak what they know…

        but I feel your pain.

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        M 1 Reply Last reply Reply Quote 1
        • 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
                        • 1
                        • 2
                        • 2 / 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