MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. tyho
    3. Best
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    T
    Offline
    • Profile
    • Following 0
    • Followers 1
    • Topics 2
    • Posts 57
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: My voice-controlled magic mirror (voice powered by Jasper)

      @zach @Mitchfarino @alexyak

      Yea the voice module is working very well!
      https://forum.magicmirror.builders/topic/425/voicecontrol-module

      I made a notification module that notify when i said something in the voicecontrol module. The notification module then runs the command.

      I have it working to turn off and on my monitor so far. The next thing i will try is to make a GPIO pin to switch on a led strip behind the mirror.

      The only exception in this voice module is that it doens’t work with dictornary text. Only preprogrammed words.
      So we can’t call things like: Show me a map of “cityname”. Cuz cityname can be anything.

      Maybe someone get the knowledge to expand the voice module to activate freetext. Like use Snowboy for “Show me the map of” and then use modules like annyang for the last word(s).

      posted in Show your Mirror
      T
      tyho
    • RE: MMM-MovieInfo

      @strawberry-3.141 This is awesome! i’ll install when i am home.

      posted in Entertainment
      T
      tyho
    • RE: Voice/motion control

      @KirAsh4 @sullit @Mitchfarino @MichMich
      i managed to make a github. But i still don’t get the pull push thing but that will come later.

      You can see what i have made so far here: https://github.com/ME-TYHO/MM2-Voice-Control-Module

      I hope some guys here can help make this module.

      posted in Requests
      T
      tyho
    • RE: Trafficmaps

      anyone who want to show a google staticmap on there mirror. Here is the code:

      0_1470659814707_screenshot.png

      /* global Module */
      
      /* Magic Mirror
       * Module: staticmap
       *
       */
        
      Module.register("staticmap",{
      	defaults: {
      		center: "new york",
      		zoom: 14,
      		mapwidth: 600,
      		mapheight: 500,
      		highway: "on",
      		arterial: "on",
      		local: "on"
      	},
      
      start: function(){
      	Log.info('Starting module: ' + this.name);
      },
      
      
      
      	getDom: function() {
      		var wrapper = document.createElement("div");
      		var img = document.createElement("img");
      		img.src = "https://maps.googleapis.com/maps/api/staticmap?center=" + this.config.center + 
      		"&zoom=" + this.config.zoom +
      		"&size=" + this.config.mapwidth + "x" + this.config.mapheight + 
      		"&maptype=roadmap" +
      		"&style=feature:road.highway|visibility:" + this.config.highway +			  
      		"&style=feature:road.arterial|visibility:" + this.config.arterial +	
      		"&style=feature:road.local|visibility:" + this.config.local + 
      		"&style=feature:road|invert_lightness:true|saturation:-100|weight:1|lightness:1" +
      		"&style=feature:administrative|invert_lightness:true|saturation:-100|weight:1|lightness:1|visibility:on" + 
      		"&style=feature:poi|invert_lightness:true|weight:1|saturation:-100|lightness:1|visibility:on" +
      		"&style=feature:transit|invert_lightness:true|saturation:-100|lightness:1|weight:1|visibility:on" +
      		"&style=feature:landscape|invert_lightness:true|weight:1|saturation:-100|lightness:1|visibility:on" +
      		"&style=feature:water|invert_lightness:true|weight:1|saturation:-100|lightness:1|visibility:on" +
      		"&style=feature:road|element:labels.text.fill|lightness:100" +
      		"&style=feature:road|element:labels.text.stroke|lightness:-100";
      		img.width = this.config.mapwidth;
      		img.height = this.config.mapheight;
      		wrapper.appendChild(img);
      		return wrapper;
      	}
      });
      
      posted in Development
      T
      tyho
    • RE: PIR-Sensor - put your mirror to sleep if not used

      @sameershah23 maybe power off and on your hdmi signal and let your monitor/tv go to sleep mode when no signal.

      The command will be:
      OFF:
      /opt/vc/bin/tvservice --off
      ON:
      /opt/vc/bin/tvservice --preferred && sudo chvt 6 && sudo chvt 7

      You can easily execute commands in node.js

      posted in System
      T
      tyho
    • RE: VoiceControl module

      @Pierre @simonsays
      First of all sorry for the long waiting…
      I guess u already have run the voice control module with the speech files (pmdl) from snopwboy and put this in your root.
      Here is my config part for the VoiceControl module:

      {
                  module: 'voicecontrol',
                  config: {
                      models: [
                          {
                              keyword: "gotosleep",   // keyword 
                              file: "gotosleep.pmdl", // trained model file name
                              message: "go_to_sleep"   // notification message that's broadcast in the MagicMirror app
                          },
      					{
                              keyword: "wake up",   // keyword 
                              file: "Wake_up.pmdl", // trained model file name
                              message: "wake_up"   // notification message that's broadcast in the MagicMirror app
                          },
                      ]
                  }
              },
      		{
              	module: 'notification',
              	position: 'bottom_right',    // This can be any of the regions.
          	},
      

      Because the voicecontrol module send a notafication to all other modules i wrote a separate module to show text messages for what is happening:
      notification.js

      /* global Module */
      
      /* Magic Mirror
       * Module: notification
       */
      var awake = 1;
      Module.register("notification",{
      
      	// Default module config.
      	defaults: {
      		text: "",
      		animationSpeed: 500,
      	},
      	start: function() { 
              this.sendSocketNotification("CONNECT", {});
          },
      
      	notificationReceived: function(notification, callback) {
      		var self = this;
      				if (notification === "go_to_sleep" && awake === 1){
                  		this.config.text = "going to sleep...";
      					this.updateDom(this.config.animationSpeed);
      					setTimeout(function(){
      						self.sendSocketNotification('go_to_sleep', {});
      						self.config.text = "";
      						self.updateDom(self.config.animationSpeed);
      					}, 1000);
      					awake = 0;
      					callback(awake);
              		}
      				if (notification === "wake_up" && awake === 0){
      					this.sendSocketNotification('wake_up', {});
                  		this.config.text = "waking up...";
      					this.updateDom(this.config.animationSpeed);
      					setTimeout(function(){
      						self.config.text = "";
      						self.updateDom(self.config.animationSpeed);
      					}, 5000);
      					awake = 1;
      					callback(awake);
              		}
          },
      	socketNotificationReceived: function(notification) {
         if (notification === "autosleep") {
      					awake = 0;
              		}
         	},
      	// Override dom generator.
      	getDom: function() {
      		var wrapper = document.createElement("div");
      		wrapper.innerHTML = this.config.text;
      		return wrapper;
      	}
      });
      

      In my node helper i put the exec code to turn on and off my monitor.
      node_helper.js

      'use strict';
      const NodeHelper = require('node_helper');
      const exec = require('child_process').exec;
      var timer;
      //function initialize() {
      //}
      //(function(){
      //	initialize();
      //			autosleep();
      //})();
      
      
      module.exports = NodeHelper.create({
        start: function() {
      		this.started = false;
        }, 
       
        socketNotificationReceived: function(notification) {
      	if (notification === "CONNECT") {
      			clearTimeout(timer);
      			this.autosleep();
      	}
          if (notification === 'go_to_sleep') {
                  exec("/opt/vc/bin/tvservice -o", null);
      			clearTimeout(timer);
      	}
      	if (notification === 'wake_up') {
                  exec("/opt/vc/bin/tvservice -p", null);
      			exec("/bin/fbset -depth 8 && /bin/fbset -depth 16 ", null);
            		exec("/usr/bin/xrefresh",null);
      			clearTimeout(timer);
      			this.autosleep();
      	}
        },
        autosleep: function(){
      	  var self = this;
      	  timer=setTimeout(function(){
      				exec("/opt/vc/bin/tvservice -o", null);
      			    self.sendSocketNotification("autosleep", {});
      			},  10*60*1000);
        }
      });
      

      I also put conditions in it so it can only wake up when it’s asleep. There is also a autosleep function thats now on 10 minutes.

      posted in Utilities
      T
      tyho
    • RE: Voice/motion control

      Yea i have finaly installed node-pocketsphinx. It needs a lot of dependeties. I start find out now how get a voice command out of it. Are u using node-pocketsphinx as well? Or are u using it standalone? Or maybe the pocketsphinx.js?
      I like to hear if you get something working.

      posted in Requests
      T
      tyho
    • RE: Voice/motion control

      Ok, I find out that https://syl22-00.github.io/pocketsphinx.js/ is the best bet.

      I have run pocketsphinx before and it’s really fast. So i have no doubt the js port is also good.

      But with my lack of skill i don’t know how to create a module. Who can?

      @michmich and @KirAsh4 you already seen this one?

      posted in Requests
      T
      tyho
    • RE: Voice/motion control

      @ronny3050 i guess you can better try pocketsphinx.js

      posted in Requests
      T
      tyho
    • RE: Voice/motion control

      wow looking good! is there an ability to turn on and off the monitor?
      Is this free speech (dictionary) or only pre-programmed words?

      posted in Requests
      T
      tyho
    • 1 / 1