Description:
This module monitores multiple configurable GPIO pins for state changes; if one of the pins changes to the configured state the notifcations which are specified will be send.
I wrote this module to send “USER_PRESENCE” notifications based on PIR Sensors.
Download:
MMM-GPIO-Notifications
[card:Tom-Hirschberger/MMM-GPIO-Notifications]
Example:
I recently added an example on how to connect a HC-SR501 PIR sensor to GPIO4 and send a SCREEN_ON notification to the MMM-Screen-Powersave-Notification module.
Version 0.2.4
- fixed another issue in the stop function which de-registers all pins during shutdown
Version 0.2.3
- fixed a bug which caused the stop function of node_helper.js to throw an error
Version 0.2.2
- As the new version of the opengpio library contains the GPIO information of most of the Raspberry devices now, the module tries to use the information of the library in a first mannwe. Only if no information is available for the used model the information generated during installation in gpioinfo.json is used.
- added exception handling. Now console messages are printed instead of killing the whole application if a pin is already used or no information about the chip and lane to use are available.
- the module releases all registered pins during shutdown now.
Version 0.2.1
- Now not only GPIOs which are named “GPIOX” (where X is the number of the GPIO) in the output of
gpioinfo
can be used but also named GPIOs. - added more output to log to show if a GPIO could be registered or not.
Version 0.2.0
- changed the “under the hood” library from onoff to opengpio to make it possible to use GPIO with kernels >= 6.6
- totally rewrite of the GPIO handling
- totally rewrite of the installation process
- the required library gets installed with apt
- the required toolset gets installed with apt
- a python script automatically creates a configuration file with your GPIO info inside. The file will be used by the module to determine which GPIO chipset and GPIO line needs to be used for a specific GPIO number
- removed the test scripts in the example folder and added some new one to either monitor GPIO ports or test a rotary encoder
BREAKING CHANGES
- dropped “gpio_debounce” option as the new library does not support debounce (at the moment). Please use delays as an alternative.
Version 0.1.0
- it is possible to use rotary encoders with this module now
- added a hint about how to use the module in a container setup to the readme
Version 0.0.9
- it is possible to set different delays for high and low state now
- the default value of
gpio_debounce
is now set to0
- the old syntax using
gpio_state
andnotifications
options is deprecated now. Usenotifications_low
andnotifications_high
instead. - add examples and a own section about the difference between
gpio_debounce
and the optionsdelay
,delay_low
anddelay_high
to the README
Version 0.0.8
- It is possible to send notifications for both states of a watched pin now
Version 0.0.7
- Changed the way the necessary re-compile is handled during the installation (electron-rebuild problem). Removed the magicmirror-rebuild dependency and changed back to offical @electron/rebuild. Instead of installing electron-rebuild in the module directory it will be installed to the main MagicMirror project now and will be called from there.
Version 0.0.6
- changed the way electron-rebuild is called in the post-installation step to avoid problems if the electron version of the mirror changes
Version 0.0.3
- it is now possible to send different notifications based on profiles
Version 0.0.2
- introduced an delay option which can be used to suppress notifications if they happen to quick after another (PIR-Sensor without option to configure a hold time)
Version 0.0.1
- A first version of the module which montiores different GPIO pins and sends notifications based on the events