MagicMirror² v2.11.0 is available! For more information about this release, check out this topic.
READ THE CHANGELOG BEFORE UPDATING!

PIR-Sensor - put your mirror to sleep if not used



  • Hi,

    i had big problems by switching off my screen with the PIR or another module with camera. The problem was not the module itself it is a firmware problem of the PI. I could see the same problem outside of MagicMirror as well by trying different things.

    Reported also here:
    https://github.com/raspberrypi/linux/issues/487

    The symptom is that after a while of switching on and off the screen it remains off.

    Dmesg reports the problem:

    Nov  1 08:22:00 MagicMirror kernel: [86411.138649] raspberrypi-firmware soc:firmware: Request 0x00048003 returned status 0x80000001
    Nov  1 08:22:00 MagicMirror kernel: [86411.138665] bcm2708_fb soc:fb: Failed to allocate GPU framebuffer (-22)
    Nov  1 08:22:00 MagicMirror kernel: [86411.138670] detected fb_set_par error, error code: -22
    Nov  1 08:22:00 MagicMirror kernel: [86411.139138] raspberrypi-firmware soc:firmware: Request 0x00048003 returned status 0x80000001
    Nov  1 08:22:00 MagicMirror kernel: [86411.139148] bcm2708_fb soc:fb: Failed to allocate GPU framebuffer (-22)
    Nov  1 08:22:00 MagicMirror kernel: [86411.139152] detected fb_set_par error, error code: -22
    Nov  1 08:22:00 MagicMirror kernel: [86411.140642] raspberrypi-firmware soc:firmware: Request 0x00048003 returned status 0x80000001
    Nov  1 08:22:00 MagicMirror kernel: [86411.140654] bcm2708_fb soc:fb: Failed to allocate GPU framebuffer (-22)
    Nov  1 08:22:00 MagicMirror kernel: [86411.140659] detected fb_set_par error, error code: -22
    Nov  1 08:22:00 MagicMirror kernel: [86411.140777] raspberrypi-firmware soc:firmware: Request 0x00048003 returned status 0x80000001
    Nov  1 08:22:00 MagicMirror kernel: [86411.140785] bcm2708_fb soc:fb: Failed to allocate GPU framebuffer (-22)
    Nov  1 08:22:00 MagicMirror kernel: [86411.140789] detected fb_set_par error, error code: -22
    Nov  1 08:22:00 MagicMirror kernel: [86411.140856] raspberrypi-firmware soc:firmware: Request 0x00048003 returned status 0x80000001
    Nov  1 08:22:00 MagicMirror kernel: [86411.140863] bcm2708_fb soc:fb: Failed to allocate GPU framebuffer (-22)
    Nov  1 08:22:00 MagicMirror kernel: [86411.140868] bcm2708_fb_pan_display(0,0) returns=-22
    Nov  1 08:22:00 MagicMirror systemd[1]: Started Getty on tty6.
    Nov  1 08:22:00 MagicMirror kernel: [86411.256398] raspberrypi-firmware soc:firmware: Request 0x00048003 returned status 0x80000001
    Nov  1 08:22:00 MagicMirror kernel: [86411.256413] bcm2708_fb soc:fb: Failed to allocate GPU framebuffer (-22)
    Nov  1 08:22:00 MagicMirror kernel: [86411.256418] detected fb_set_par error, error code: -22
    Nov  1 08:22:00 MagicMirror kernel: [86411.256758] raspberrypi-firmware soc:firmware: Request 0x00048003 returned status 0x80000001
    Nov  1 08:22:00 MagicMirror kernel: [86411.256770] bcm2708_fb soc:fb: Failed to allocate GPU framebuffer (-22)
    Nov  1 08:22:00 MagicMirror kernel: [86411.256775] bcm2708_fb_pan_display(0,0) returns=-22
    Nov  1 08:22:00 MagicMirror kernel: [86411.296428] raspberrypi-firmware soc:firmware: Request 0x00040002 returned status 0x80000001
    Nov  1 08:22:00 MagicMirror kernel: [86411.296455] bcm2708_fb soc:fb: bcm2708_fb_blank(0) failed: -22
    

    Switching off the screen with

    /opt/vc/bin/tvservice -o

    and on with

    /opt/vc/bin/tvservice --preferred && sudo chvt 6 && sudo chat 7

    does not work reliable! The git issue tells you more about.

    The workaround is a not yet described solution inside the config.txt

    https://github.com/raspberrypi/documentation/pull/245/files

    the option “hdmi_blanking=1” is your friend in this case! 😃

    Now i’m switching off the screen with

    vcgencmd display_power 0

    and on with

    vcgencmd display_power 1

    And it is working now like a charm! Did started to use it one day before this report and it is still working without any issue 🙂

    Honestly speaking i don’t use any MM module for switching off anymore. But maybe my discovered solution will help any other and might be a way to change the module as well.

    If you have trouble with on/off as well please check the output of dmesg. If you have the frambuffer problem you can fix it.

    My personal solution is to have the PIR state at FHEM and from FHEM i’m using a script to switch the screen. But that’s a special case and for the most people here the usage of a MM Module will be the better way.

    regards
    Dirk



  • @paviro said in PIR-Sensor - put your mirror to sleep if not used:

    MMM-PIR-Sensor will monitor a connected PIR-sensor and putt your mirror to sleep if no one uses it either by disabling HDMI output or by turning of a relay.

    Developer note

    If you are a developer and want to pause your module while no one uses it (if it is processor intense), you can listen to the USER_PRESENCE broadcast. It will return true or false as its payload.

    will vga / dvi monitor work with this module?



  • This post is deleted!


  • i have bought a sensor.
    This is not a troubleshooting post. I want only know how to connect it.
    Please add this to the description.
    Three wires from the sensor and to which raspi port?



  • @fox pop the plastic dome off and you’ll see the labeling. I believe the middle pin is the digital output and the ground and 5V power are on the outside.



  • @Them-Russians said in PIR-Sensor - put your mirror to sleep if not used:

    @fox pop the plastic dome off and you’ll see the labeling. I believe the middle pin is the digital output and the ground and 5V power are on the outside.

    The sensor is labeled. But on which pin on the raspi? Have i missed something in the module how-to?



  • @fox You define the pin in the config.js file.

    Make sure you sue the GPIO pin number, and not the generic pin number.

    For instance, in the pin diagram the pin 1 down from the top left is GPIO pin 2, but regular pin 3. In the config file, you would define it a SensorPIN = 2.



  • @Them-Russians said in PIR-Sensor - put your mirror to sleep if not used:

    @fox You define the pin in the config.js file.

    Make sure you sue the GPIO pin number, and not the generic pin number.

    For instance, in the pin diagram the pin 1 down from the top left is GPIO pin 2, but regular pin 3. In the config file, you would define it a SensorPIN = 2.

    Thank you very much. I understood.
    Does someone control this with a timeout? Or when switches the script the HDMI Port off? Perhaps some want x minutes to be shown?

    Edit. I am a noob. I just have to adjust the delay knob on the PIR-Sensor PCB 🙂



  • Love this Module, thanks.

    I’m a noob and looking for some assistance to add a delay to turn off the display. Ideally the display would turn off 30 seconds after the last detected movement. Any help would be greatly appreciated.



  • I originally wasn’t going to use this module, but it seems pretty cool, so I’ll try. I, however, have no clue how to physically connect the raspberry pi to the PIR sensor without a breadboard. I understand that I must specify the GPIO pins I connect to in the config file, but that will only help me if I figure out how to connect everything (soldering?). Could someone help me? I’m completely new to motion detection. 😵