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.

    Switching the Magic Mirror display on/off

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    10 Posts 3 Posters 1.4k Views 3 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.
    • K Offline
      Klinge
      last edited by

      I want to automate my MMMs via Home Assistant.

      To do this, I installed the MMM-Home-Assistant module on my MM. The MMM is now also recognised as a device in Home Assistant (HA).

      There is a control element called ‘Magic Mirror Bathroom’. I can use the button to switch the monitor display on and off.

      But now I have the following problem.

      When I press the button while the MM is running, the button first moves from right to left (i.e. from on to off) and the display is switched off. Just as it should be. But after about 2 seconds, the button moves back from left to right (from off to on). However, the display remains switched off.

      If I want to turn the display back on, I have to press the button, which is now on the right (i.e. on), again so that it moves back to the left (off). Then, within the 2 seconds that the button is on the left (off), I have to press it again so that the button moves back to the right (on). Then the display turns back on.

      Ultimately, I want to connect my MMM to a motion sensor so that the MMM monitor only runs when someone is in the room.

      It would be really great if one of you could help me.

      Thank you in advance.

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

        @Klinge which MMM-HomeAssistant module are you using?
        there are 3

        in the MMM-HomeAssistant module folder, do

        git remote -v
        

        so we can see which one you are using

        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 @Klinge
          last edited by

          @Klinge at least this one
          https://github.com/ambarusa/MMM-HomeAssistant

          provides config options for the on/off commands

                  monitorOnCommand: 'xrandr -d :0 --output HDMI-1 --auto --rotate right',
                  monitorOffCommand: 'xrandr -d :0 --output HDMI-1 --off',
          

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • H Offline
            Hilt
            last edited by Hilt

            What you’re describing in Home Assistant sounds like a switch, not a button. They have different behaviours. This is important for what follows.

            Initially I had our mirror turning on/off on a schedule using crontab. But when I rebuilt it recently, I too wanted some Home Assistant integration to make this a little more intelligent ( turn on/off with the alarm system for e.g. )

            I went a different route and installed an SSH integration in Home Assistant ( there are enough modules on the long suffering Pi 3B+ ! )

            Using this integration, any SSH command can be turned into button like so :

            Screenshot (1).png

            If you’re using a Pi, you can use the following in the configuration options of the integration :

            Screenshot (2).png

            The actual code for your ease of use :

            - command: sudo shutdown -h now
              name: Turn off
              key: turn_off
            - command: sudo reboot
              name: Restart
              key: restart
            - command: vcgencmd display_power 0
              name: Turn Screen Off
              key: turn_offf
            - command: vcgencmd display_power 1
              name: Turn Screen On
              key: turn_on
            

            That vcgencmd display_power command should work on pretty much an HDMI monitor

            This results in a bunch of buttons that you can use in your Home Assistant automations

            Screenshot (3).png

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

              @Hilt vcgencmd no longer works on Bullseye (last release) or Bookworm (this release) of PI os

              @Hilt said in Switching the Magic Mirror display on/off:

              vcgencmd

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              H 1 Reply Last reply Reply Quote 0
              • H Offline
                Hilt @sdetweil
                last edited by Hilt

                @sdetweil

                Thanks for the heads up Sam.

                I’m currently running Bullseye with kernel 6.1.21-v7+ and it still works in this revision. Admittedly I didn’t try with Bookworm as when I originally tried it ( Bookworm ) at launch, the VNC server had gone away on account of Wayland and alternatives were…interesting back then ( didn’t do too much research at the time to be fair ). So for this rebuild I just stuck with Bullseye.

                2 quick questions for my own edification :

                1. For Bookworm. Could the commands I listed for vcgencmd simply be replaced with wlr-randr --output HDMI-A-1 --on and wlr-randr --output HDMI-A-1 --off ( assuming HDMI port 1 ) for the same result ?

                2. Another option according the the almighty but not always correct ChatGPT is to switch to X11 and then vcgencmd would work as expected ?

                I have a spare Pi I could test on. I won’t however have time to tinker in the next few weeks. Curse having to adult !!

                Really appreciate your input

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

                  @Hilt said in Switching the Magic Mirror display on/off:

                  Another option according the the almighty but not always correct ChatGPT is to switch to X11 and then vcgencmd would work as expected ?

                  no, this is incorrect, as vcgencmd is no more , altho I see it on my bookworm system , it is not supposed to support display anymore…

                  as for point 1,
                  when running wayland you can use the wlr-randr command
                  when running x11 you can use the xrandr command

                  I don’t know the specifics of what each command needs.

                  all linux commands come with help built in

                  wlr-randr --help

                  many provide more detailed info in the man page
                  man wlr-randr
                  I see the man page for vcgencmd is there too

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  H 1 Reply Last reply Reply Quote 0
                  • K Offline
                    Klinge
                    last edited by

                    First of all, thank you for your tips.

                    So, I use the module from ambarusa

                    origin  https://github.com/ambarusa/MMM-HomeAssistant/ (fetch)
                    origin  https://github.com/ambarusa/MMM-HomeAssistant/ (push)
                    

                    And use the following config

                                       module: “MMM-HomeAssistant”,
                                       config: {
                                            mqttServer: “mqtt://192.168.100.xx”,
                                            mqttPort: 1883,
                                            username: “mqttxxxx”,
                                            password: “xxxxx”,
                                            deviceName: “MagicMirror xxxx”,
                                            autodiscoveryTopic: “homeassistant”,
                                            monitorControl: true,
                                            brightnessControl: true,
                                            moduleControl: true,
                                            monitorStatusCommand: “xrandr --query | awk \”/Screen/ {print ($8 > 320) ? ‘true’ : ‘false’}\“”,
                                            monitorOnCommand: “wlr-randr --output HDMI-A-1 --on --transform 90”,
                                            monitorOffCommand: “wlr-randr --output HDMI-A-1 --off”,
                    //                      monitorOnCommand: “xrandr -d :0 --output HDMI-1 --auto --rotate right”,
                    //                      monitorOffCommand: “xrandr -d :0 --output HDMI-1 --off”,
                                            pm2ProcessName: “mm”,
                                        }
                    

                    As you can see, I use wlr-randr for on/off and rotate the monitor 90 degrees when switching it on.

                    1 Reply Last reply Reply Quote 0
                    • K Offline
                      Klinge
                      last edited by

                      I think you’re right in calling it a switch. You can see it clearly in the screenshot at the arrow.

                      Zwischenablage01s.jpg

                      1 Reply Last reply Reply Quote 0
                      • H Offline
                        Hilt @sdetweil
                        last edited by

                        @sdetweil

                        Many thanks for the input. I’ll have a tinker when I find a gap and explore the commands and their respective soft switches. Just so that I’m future proof !

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