• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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.1k 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.
  • I Offline
    istepgueu @morozgrafix
    last edited by Feb 2, 2017, 7:52 PM

    @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
    • I Offline
      istepgueu
      last edited by Feb 2, 2017, 10:08 PM

      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 ;)

      S 1 Reply Last reply Feb 2, 2017, 10:14 PM Reply Quote 0
      • S Offline
        strawberry 3.141 Project Sponsor Module Developer @istepgueu
        last edited by Feb 2, 2017, 10:14 PM

        @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

        I 1 Reply Last reply Feb 2, 2017, 11:01 PM Reply Quote 1
        • I Offline
          istepgueu @strawberry 3.141
          last edited by Feb 2, 2017, 11:01 PM

          @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;
          	}
          
          
          
          });
          
          
          S 1 Reply Last reply Feb 2, 2017, 11:08 PM Reply Quote 0
          • S Offline
            strawberry 3.141 Project Sponsor Module Developer @istepgueu
            last edited by strawberry 3.141 Feb 2, 2017, 11:10 PM Feb 2, 2017, 11:08 PM

            @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

            I 1 Reply Last reply Feb 3, 2017, 9:20 AM Reply Quote 3
            • I Offline
              istepgueu @strawberry 3.141
              last edited by Feb 3, 2017, 9:20 AM

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

              1 Reply Last reply Reply Quote 0
              • J Offline
                jasondreher
                last edited by May 22, 2017, 1:43 PM

                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
                • 2 / 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