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.

    Profile switching API

    Scheduled Pinned Locked Moved Requests
    13 Posts 5 Posters 9.0k Views 2 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.
    • 0 Offline
      00conman
      last edited by

      Furthermore, with some time browsing the forums I found this post

      https://forum.magicmirror.builders/topic/10/multiple-layouts-configs

      with you saying, “Different layouts based on facial recognition is already implemented here :slight_smile: It should be trivial to write something similar for the other use cases you just mentioned! Have a look at my code for an example.” While not outright saying it; it does sound something like different “profiles” that are able to be switched between.

      1 Reply Last reply Reply Quote 0
      • paviroP Offline
        paviro
        last edited by paviro

        It is but this thread is not about that module! Please go to this topic for that.


        Update: I moved your posts to the correct topic, please check next time :) will post an example how to switch profiles later.

        We're all stories in the end. Just make it a good one, eh?

        – The Doctor

        1 Reply Last reply Reply Quote 0
        • 0 Offline
          00conman
          last edited by

          Okay sorry about that.

          My first question is if I would be able to switch out layouts via a command in the Pi’s terminal or via an ssh. And, my second, if I can change layouts from a terminal, is how I would go about making the different layouts.

          paviroP MichMichM 2 Replies Last reply Reply Quote 0
          • paviroP Offline
            paviro @00conman
            last edited by

            @00conman sure you could. Would be the same thing like I do in my module but you probably would need to serve an API you could then trigger via a terminal :)

            We're all stories in the end. Just make it a good one, eh?

            – The Doctor

            1 Reply Last reply Reply Quote 0
            • MichMichM Offline
              MichMich @00conman
              last edited by

              @00conman it would be worth creating a module that has an API to switch “profiles”. It’s actually extremely doable. But I suggest you open a separate topic for this.

              1 Reply Last reply Reply Quote 0
              • 0 Offline
                00conman
                last edited by

                Okay I’ll look into it.

                A 1 Reply Last reply Reply Quote 0
                • A Offline
                  ascension @00conman
                  last edited by

                  @00conman
                  Any progress on this? Facial recognition looks great, but I can’t get approval from my better half to put a camera in the bathroom mirror… Changing profiles using a physical button or a gesture would work perfectly.

                  1 Reply Last reply Reply Quote 0
                  • KirAsh4K Offline
                    KirAsh4 Moderator
                    last edited by

                    Just thinking out loud here, but you should be able to have a button that cycles through profiles. It might even be possible to use the current Button module (I forgot who wrote it), and use that. Set up a case switch to change profiles. Something sort of like this:

                    // Warning, pseudo code, will not run as-is
                    
                    var buttonCount = 0;
                    var availableProfiles = 2;
                    
                    if (detect_button_press()) {
                      buttonCount++;
                      if (buttonCount > availableProfiles) buttonCount = 0;
                    
                      switch (buttonCount) {
                        case 0:
                          // Display profile for user 0
                          break;
                        case 1:
                          // Display profile for user 1
                          break;
                        case 2:
                          // Display profile for user 2
                          break;
                        default:
                          // Display default profile
                      }
                    }
                    

                    Now you can push the button all day long. The only issue here is that you are cycling through the profiles, and for a household that has several, that can become a bit tedious.

                    Another possibility is to count button presses, so you would switch profiles based on how many times one pushed the button, but that too has its limitations. It works great for single-click, double-click, and possibly a long-press, but anything after that and it gets problematic again. Profile cycling is by far the easiest to implement.

                    A Life? Cool! Where can I download one of those from?

                    A 1 Reply Last reply Reply Quote 0
                    • A Offline
                      ascension @KirAsh4
                      last edited by

                      @KirAsh4
                      Thanks for the quick response! I’ll take a look at the BUTTON module. Hopefully it’ll work the way I need it to. Fortunately, I only have 2 profiles I’ll need to cycle thru.

                      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