MagicMirror² v2.13.0 is available! For more information about this release, check out this topic.

Profile Switcher - RC522 RFID

  • Hey everyone! I’m new in the forum in magicmirror type projects amd i have very little programming skills, but i have successfully assembled a magic mirror and have in working know 🙂
    I searched extensively to find a means to change profiles using a RC522 reader connected to a Raspberry pi 3 but have not fund nothing substancial 😕 I see lots of applications with this format of identification with a simple swipe of a card and i would love some help !!!

    I know i can’t be the first one trying this out 😉

  • @miguel-abap should be pretty easy if the RFID reader works

  • It seams to be working i got it today and connected with some jumper cables to the raspberry pi.
    I just now found this later today i’ll try this method and see if it works 🙂

  • @miguel-abap Hi there did you get htis to work??
    I have not tried it yet (i just got my RC522) and both me and my wife have rfid/nfc on our wedding rings so it will be cool to switch profiles by grabbing the left side of the mirror frame where the RC522 will be installed.

    Let me know please if you ran into any issues

  • @miguel-abap @sdetweil I am trying to run this module but here is what i get…has anyone else gotten this to work??

    Please help it will really help me a lot and it will be really cool if i get this to work


  • @richland007 Hey there, i couldn’t get it working, i stepped from the project, im going to try again!

  • If anyone in the comunity would like to give us a hand it would be GREAT!!

  • @miguel-abap OK so i made some progress than i got stuck again
    What i mean is that it seems like everything should be working fine but when i try to scan the tag the profiles do not change!!
    I do not know how to troubleshoot this meaning that:… is it something wrong with the configs of the MMM-ProfileSwitcher part or is it the fault of the MMM-RFID not sending what it is supposed to be sending to ProfileSwitcher??

    If you are stuck where i was earlier (please look at the screen shot on my messages above) i found the solution here and i got to write and read my tags just fine (that’s what makes me think that the MMM-RFID module is working)

    but i do not know for sure if MMM-RFID is doing its job and converting the tags decimal value and sending the right ASCII to MMM-ProfileSwitcher either.

    So first how is a working config of the MMM-ProfileSwitcher part supposed to look like in this case and how can we trigger it with the classes: names and than move on to MMM-RFID part and try to figure out what and how is it sending to MMM-ProfileSwitcher if anything at all.

    I do not see any errors but yet again i do not know where to look in details in a console when the mirror loads up or when we scan a tag


  • @richland007 open the developers console, either by

    npm start dev

    when you start the mirror

    or ctrl-shift-i

    when then mirror is running

    then select the console tab

    these tools send notifications from one module to another…
    so you should see those messages in the console

    you can also filter the messages by the name of the file so
    put rfid in the filter field to see only messages sent from the rfid module

  • @sdetweil @miguel-abap Ok so i see that the modules are receiving data from MMM-RFID on the console under npm start dev when i scan the rfid tag. RFID_DATA and RFID_UID… do not know why 2 different ones


    But what kind of data?? Where can i see if they are receiving Denis or Eva or just the decimal value stored on the tag etc etc??

    Hers is my config.js entry for the MMM-RFID module and the MMM-ProfileSwitcher and also all my modules have the appropriate classes entry assigned according to our names for whatever module belonging to each one of us

            module: 'MMM-RFID',
            config: {
                events: {
                    Eva: [ // data on rfid tag as decimal block will be used as identifier [0691180970000000]
                            CURRENT_PROFILE: "Eva" // i.e. "CURRENT_PROFILE" is used for notification identifier and "Eva" for notification payload
                    Denis: [ // data on rfid tag as decimal block will be used as identifier [0681011101051150]
                            CURRENT_PROFILE: "Denis" // i.e. "CURRENT_PROFILE" is used for notification identifier and "Denis" for notification payload
            module: 'MMM-ProfileSwitcher',
            config: { // See 'Configuration options' for more information.
               includeEveryoneToDefault: true,
               alwaysShowLeave: true,
               ignoreModules: ["alert", "updatenotification"],
               enterMessages: {
                    "Denis Eva": "What's up %profile%?", // We both have this message
               leaveMessages: false,
               defaultTime: 120000,
               timers: {
                        "Eva": {
                         time: 60 * 1000

    so on each of our MM modules we have classes: for “default everyone” and “Denis” or “Eva”

    what am i doing wrong ??


Log in to reply