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

    tintkovich

    @tintkovich

    1
    Reputation
    113
    Profile views
    4
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    tintkovich Unfollow Follow

    Best posts made by tintkovich

    • RE: MMM-Snow - Yet another Snow Module

      @jasondreher I saw it, but I need Home Assistant, right?
      I prefere to integrate currentweather with mmm-snow just like compliments module:

      config: {
      	compliments: {
      		day_sunny: [
      			"Today is a sunny day",
      			"It's a beautiful day"
      		],
      		snow: [
      			"Snowball battle!"
      		],
      		rain: [
      			"Don't forget your umbrella"
      		]
      	}
      }
      

      Is it possible?

      posted in Fun & Games
      T
      tintkovich

    Latest posts made by tintkovich

    • RE: MMM-Snow - Yet another Snow Module

      @jasondreher I saw it, but I need Home Assistant, right?
      I prefere to integrate currentweather with mmm-snow just like compliments module:

      config: {
      	compliments: {
      		day_sunny: [
      			"Today is a sunny day",
      			"It's a beautiful day"
      		],
      		snow: [
      			"Snowball battle!"
      		],
      		rain: [
      			"Don't forget your umbrella"
      		]
      	}
      }
      

      Is it possible?

      posted in Fun & Games
      T
      tintkovich
    • RE: MMM-Snow - Yet another Snow Module

      Hi guys!
      Did somebody integrat mmm-snow with currentweather module, and can tell me how may I do it? ;)

      posted in Fun & Games
      T
      tintkovich
    • RE: Compliments issue

      @sdetweil Hi, Compliments doesn’t work…

      Yes, I did put it thru js parser.

      /* global Log, Module, moment */
      
      /* Magic Mirror
       * Module: Compliments
       *
       * By Michael Teeuw http://michaelteeuw.nl
       * MIT Licensed.
       */
      Module.register("compliments", {
      
      	// Module config defaults.
      	defaults: {
      			compliments: {
      		anytime: [
      			"Hey there sexy!"
      		],
      		morning: [
      			"Good morning, handsome!",
      			"Enjoy your day!",
      			"How was your sleep?"
      		],
      		afternoon: [
      			"Hello, beauty!",
      			"You look sexy!",
      			"Looking good today!"
      		],
      		evening: [
      			"Wow, you look hot!",
      			"You look nice!",
      			"Hi, sexy!"
      		]
      	}
      },
      		updateInterval: 30000,
      		remoteFile: null,
      		fadeSpeed: 4000,
      		morningStartTime: 3,
      		morningEndTime: 12,
      		afternoonStartTime: 12,
      		afternoonEndTime: 17
      	},
      
      	// Set currentweather from module
      	currentWeatherType: "",
      
      	// Define required scripts.
      	getScripts: function() {
      		return ["moment.js"];
      	},
      
      	// Define start sequence.
      	start: function() {
      		Log.info("Starting module: " + this.name);
      
      		this.lastComplimentIndex = -1;
      
      		var self = this;
      		if (this.config.remoteFile !== null) {
      			this.complimentFile(function(response) {
      				self.config.compliments = JSON.parse(response);
      				self.updateDom();
      			});
      		}
      
      		// Schedule update timer.
      		setInterval(function() {
      			self.updateDom(self.config.fadeSpeed);
      		}, this.config.updateInterval);
      	},
      
      	/* randomIndex(compliments)
      	 * Generate a random index for a list of compliments.
      	 *
      	 * argument compliments Array<String> - Array with compliments.
      	 *
      	 * return Number - Random index.
      	 */
      	randomIndex: function(compliments) {
      		if (compliments.length === 1) {
      			return 0;
      		}
      
      		var generate = function() {
      			return Math.floor(Math.random() * compliments.length);
      		};
      
      		var complimentIndex = generate();
      
      		while (complimentIndex === this.lastComplimentIndex) {
      			complimentIndex = generate();
      		}
      
      		this.lastComplimentIndex = complimentIndex;
      
      		return complimentIndex;
      	},
      
      	/* complimentArray()
      	 * Retrieve an array of compliments for the time of the day.
      	 *
      	 * return compliments Array<String> - Array with compliments for the time of the day.
      	 */
      	complimentArray: function() {
      		var hour = moment().hour();
      		var compliments;
      
      		if (hour >= this.config.morningStartTime && hour < this.config.morningEndTime && this.config.compliments.hasOwnProperty("morning")) {
      			compliments = this.config.compliments.morning.slice(0);
      		} else if (hour >= this.config.afternoonStartTime && hour < this.config.afternoonEndTime && this.config.compliments.hasOwnProperty("afternoon")) {
      			compliments = this.config.compliments.afternoon.slice(0);
      		} else if(this.config.compliments.hasOwnProperty("evening")) {
      			compliments = this.config.compliments.evening.slice(0);
      		}
      
      		if (typeof compliments === "undefined") {
      			compliments = new Array();
      		}
      
      		if (this.currentWeatherType in this.config.compliments) {
      			compliments.push.apply(compliments, this.config.compliments[this.currentWeatherType]);
      		}
      
      		compliments.push.apply(compliments, this.config.compliments.anytime);
      
      		return compliments;
      	},
      
      	/* complimentFile(callback)
      	 * Retrieve a file from the local filesystem
      	 */
      	complimentFile: function(callback) {
      		var xobj = new XMLHttpRequest(),
      			isRemote = this.config.remoteFile.indexOf("http://") === 0 || this.config.remoteFile.indexOf("https://") === 0,
      			path = isRemote ? this.config.remoteFile : this.file(this.config.remoteFile);
      		xobj.overrideMimeType("application/json");
      		xobj.open("GET", path, true);
      		xobj.onreadystatechange = function() {
      			if (xobj.readyState === 4 && xobj.status === 200) {
      				callback(xobj.responseText);
      			}
      		};
      		xobj.send(null);
      	},
      
      	/* complimentArray()
      	 * Retrieve a random compliment.
      	 *
      	 * return compliment string - A compliment.
      	 */
      	randomCompliment: function() {
      		var compliments = this.complimentArray();
      		var index = this.randomIndex(compliments);
      
      		return compliments[index];
      	},
      
          // Override dom generator.
          getDom: function () {
              var complimentText = this.randomCompliment();
      
              var compliment = document.createTextNode(complimentText);
              var wrapper = document.createElement("div");
              wrapper.className = this.config.classes ? this.config.classes : "thin xlarge bright pre-line";
              wrapper.appendChild(compliment);
      
              return wrapper;
          },
      
          // From data currentweather set weather type
          setCurrentWeatherType: function (data) {
              var weatherIconTable = {
                  "01d": "day_sunny",
                  "02d": "day_cloudy",
                  "03d": "cloudy",
                  "04d": "cloudy_windy",
                  "09d": "showers",
                  "10d": "rain",
                  "11d": "thunderstorm",
                  "13d": "snow",
                  "50d": "fog",
                  "01n": "night_clear",
                  "02n": "night_cloudy",
                  "03n": "night_cloudy",
                  "04n": "night_cloudy",
                  "09n": "night_showers",
                  "10n": "night_rain",
                  "11n": "night_thunderstorm",
                  "13n": "night_snow",
                  "50n": "night_alt_cloudy_windy"
              };
              this.currentWeatherType = weatherIconTable[data.weather[0].icon];
          },
      
          // Override notification handler.
          notificationReceived: function (notification, payload, sender) {
              if (notification === "CURRENTWEATHER_DATA") {
                  this.setCurrentWeatherType(payload.data);
              }
          },
      
      });
      
      posted in Troubleshooting
      T
      tintkovich
    • Compliments issue

      Hi guys!
      I edited compliments.js file in /modules/default/compliments cataloge. After that my mirror has stopped displaying this module. I restored the original version and made the modifications to the config.js file.

      It still doesn’t work :/ what can I do?

      posted in Troubleshooting
      T
      tintkovich