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.

    Garage Door Detectors

    Scheduled Pinned Locked Moved Requests
    22 Posts 6 Posters 15.8k Views 6 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.
    • istepgueuI Offline
      istepgueu @morozgrafix
      last edited by

      @morozgrafix Ok I understand the principle. I will try to look at this but I do not have enough skills.

      On the way to create a module “MMM-doors-sensor”

      1 Reply Last reply Reply Quote 1
      • istepgueuI Offline
        istepgueu
        last edited by

        I have create a MMM-door-sensor ‘module’
        https://github.com/istepgueu/MMM-door-sensor

        The module receive SHOW_ALERT and HIDE_ALERT from MMM-Buttons but I do not know how to show such or such text (Toto/Tata) according to the received notification.

        Any help is welcome.
        Thank you very much ;)

        strawberry 3.141S 1 Reply Last reply Reply Quote 0
        • strawberry 3.141S Offline
          strawberry 3.141 Project Sponsor Module Developer @istepgueu
          last edited by

          @istepgueu you need a getDom function where you render your images.

          then in the notification received save the state in variables then call updateDom.

          in getDom you render the images based on the state

          Please create a github issue if you need help, so I can keep track

          istepgueuI 1 Reply Last reply Reply Quote 1
          • istepgueuI Offline
            istepgueu @strawberry 3.141
            last edited by

            @strawberry-3.141
            Thank you for the help !
            I understand the principle but not knowing javascript, I have a little trouble with the variables.

            This is my (not working) code :

            /* global Module */
            
            /* Magic Mirror
             * Module: MMM-door-sensor
             *
             * By iStepgueu http://www.twitter.com/istepgueu
             * MIT Licensed.
             */
            
            Module.register("MMM-door-sensor",{
            
            	// Default module config.
            	defaults: {
            		text: "Hello World!"
            	},
            
            
            	// Define start sequence.
            	start: function() {
            		Log.info("Starting module: " + this.name);
            
            	},
            
            
            
            	notificationReceived: function(notification, payload, sender) {
            		if (sender) {
            			Log.log(this.name + " received a module notification: " + notification + " from sender: " + sender.name);
            			if (notification === "REMOTE_ACTION") {
            				this.sendSocketNotification(notification, payload);	
            
            				var door_state = "close.png";			
            	
            				this.updateDom();				
            			
            			}
            		} else { 
            			if (notification === "DOM_OBJECTS_CREATED") {
            				this.sendSocketNotification("REQUEST_DEFAULT_SETTINGS");
            			
            				var door_state = "open.png";
            
            
            				this.updateDom();
            
            
            			}
            		}
            		
            		},
            
            
            		getDom: function() {
            
            		var wrapper = document.createElement("div");
            		return door_state;
            		wrapper.innerHTML = '<img src=" + door_state + " />';
            		return wrapper;
            	}
            
            
            
            });
            
            
            strawberry 3.141S 1 Reply Last reply Reply Quote 0
            • strawberry 3.141S Offline
              strawberry 3.141 Project Sponsor Module Developer @istepgueu
              last edited by strawberry 3.141

              @istepgueu

              Module.register("MMM-door-sensor",{
              
              	// Default module config.
              	defaults: {
              		text: "Hello World!"
              	},
              
              	// Define start sequence.
              	start: function() {
              		Log.info("Starting module: " + this.name);
              	},
              
              	notificationReceived: function(notification, payload, sender) {
              		if (sender) {
              			Log.log(this.name + " received a module notification: " + notification + " from sender: " + sender.name);
              			if (notification === "DOOR_STATE") {
              
              				this.door_state = payload;			
              	
              				this.updateDom();				
              			
              			}
              		} 
              		
              	},
              
              
              	getDom: function() {
              
              		var wrapper = document.createElement("div");
              if(this.door_state){
              		wrapper.innerHTML = '<img src=" + this.door_state + " />';
              } else {
              		wrapper.innerHTML = 'No door state present.';
              }
              		return wrapper;
              	}
              });
              

              config mmm-button

              {
                              pin: 24,
                              name: "power",
                              longPress: {
                                  title: "Power off",
                                  message: "Keep pressed for 3 seconds to shut down",
                                  imageFA: "power-off",
                                  notification: "DOOR_STATE",
                                  payload: "close.png"
                              },
                              shortPress: undefined
                          }
              

              you would therefore need a button released to send open.png

              Please create a github issue if you need help, so I can keep track

              istepgueuI 1 Reply Last reply Reply Quote 3
              • istepgueuI Offline
                istepgueu @strawberry 3.141
                last edited by

                @strawberry-3.141 Thank you !! It’s working :-)

                1 Reply Last reply Reply Quote 0
                • J Offline
                  jasondreher
                  last edited by

                  I like the MMM-door-sensor module, and I see that it uses notificationReceived to change the icon, but how do you send a notification to the module? I have tried this.sendNotification but I cannot seem to get it to work…

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