MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. tyho
    3. Posts
    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: 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: Trafficmaps

      @alexyak Thnx for the module! I will try it when i am home :)

      posted in Development
      T
      tyho
    • RE: MMM-MovieInfo

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

      posted in Entertainment
      T
      tyho
    • RE: Trafficmaps

      @alexyak that would be awesome. I guess there will be much interest for a module like this looking on the topic views ^^

      posted in Development
      T
      tyho
    • RE: Trafficmaps

      @alexyak What i tried to create is a map view from my home to my work. With on this map the trafficjam/delay. (google can do with the red orange green lines and bing with the triangles). With this map i can see in the morning when i wake up, if i have to leave earlier because of traffic jam. This where my first thoughts for the module. (but with my ms frontpage experience i can’t get this working ^^)

      As a second thought i had in mind to use your voice module (or facial recgnition module) to switch between my map and that of my girlfriend. So another map is loaded.

      In the google static map that i already created there is no option to add a traffic layer.

      In both google maps and bing maps there are style options to make the map black and white for better display. and for example the traffic jam could be red displayed.

      posted in Development
      T
      tyho
    • RE: Trafficmaps

      i found a example of bing maps: https://github.com/jwalgran/bing

      Anyone who can turn this into a module? I already tried but no succes :(

      posted in Development
      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
    • RE: Movie info module

      @strawberry-3.141 I’m looking out to it!

      posted in Requests
      T
      tyho
    • RE: Trafficmaps

      I am also trying the bing option seperately but also no result. I’ll keep trying. I am wondering why there arn’t any scripts on the web yet. I think this is for there experts among us ^^

      posted in Development
      T
      tyho
    • RE: Trafficmaps

      i am feeling close but also so far far away ^^ ghehe

      Module.register("trafficmaps",{
      	defaults: {
      	},
      
      	start: function(){
      		Log.info('Starting module: ' + this.name);
      	},
      
      	initMap: function(){
      		var map;
              map = new google.maps.Map(document.getElementById('map'), {
                center: {lat: -34.397, lng: 150.644},
                zoom: 8
              });
      	},
      
      
      	getDom: function() {
      		var wrapper = document.createElement("div");
      		var mapdiv = document.getElementById("map");	
      		wrapper.appendChild(mapdiv);
      		var maps = document.createElement('script');
      		maps.type = 'text/javascript'; maps.async = true; maps.defer = true;
      		maps.src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=" + this.initMap;
      		wrapper.appendChild(maps);
      		return wrapper;
      	}
      });
      

      This script hangs… and it prevents other modules loading…

      posted in Development
      T
      tyho
    • 1 / 1