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

    Posts

    Recent Best Controversial
    • RE: Google calendar refresh rate

      The calendar module has a config setting fetchInterval. Please see calendar documentation for details.

      posted in Troubleshooting
      P
      pinsdorf
    • RE: Anfänger hat Fragen

      Du kannst zum Lernen auch erstmal ganz ohne Spiegel arbeiten, d.h. nur mit Raspberry und angeschlossenem Monitor. Wenn du feststellst, dass gut zurecht kommst, machst Du dich an den Spiegel und die handwerklichen Arbeiten.

      Hier im Forum findest du eine Reihe sehr guter Schritt für Schritt Anleitungen. Richtig programmieren musst du nicht unbedingt, sondern eher Konfigurationsdateien anpassen und Linux-Befehle (nach Anleitung) ausführen.

      Ich würde ebenfalls sagen, nimm es als sportliche Herausforderung … :)

      posted in General Discussion
      P
      pinsdorf
    • RE: API requests stop firing after a couple hours for custom module

      First thing I’d try is logging HTTP request and response into a file to collect some more details to reason on. Don’t forget to log timestamps and all headers.

      Having said that, I think @NateDee’s explanation makes a lot of sense to me.

      posted in Troubleshooting
      P
      pinsdorf
    • RE: Reverse Lookup MMM-FRITZ-Box-Callmonitor - help needed

      I’ve had a look at the node-web-scraper in the Git you reference above.

      Line 7 of server.js binds the web scraping functionality to a HTTP Get endpoint http://localhost/scrape . It uses the Express framework to do so, see var app = require('express') and then app.get(...). You find a nice introduction to Express on the project’s website.

      app.get('/scrape', function(req, res){
      ...
        request(url, function(error, response, html){
        ...
        })
      })
      

      You may want to extract the essential functionality and then put it into the module. This essential functionality is in the request call in lines 11-33. Maybe make a method getNameByLookup(caller) in node_helper.js of the MMM-Fritz-Box-Callmonitor. This should do the request to the online phone book page, use cheerio for scraping, and extract the relevant information.

      Once you have this method, call it inside getName(caller)as described in my previous post. Because you are taking the request out of the callback of app.get you get rid of this hosting on localhost. The express hosting is great for testing scraping functionality, but not so beneficial for a MM module.

      I think you’ve solved the tricky part already, i.e. finding the correct data source on the web and scraping the relevant information. Moving this into the module should be comparably easy.

      You may want to fork the Git of MMM-Fritz-Box-Callmonitor, make a new branch (e.g. reverseLookup) and work there. This also allows you to channel back your change into the original module by sending a pull request (PR) to the module author. I’m happy to help if you tell me where your Git repo is.

      posted in Development
      P
      pinsdorf
    • RE: Reverse Lookup MMM-FRITZ-Box-Callmonitor - help needed

      I like this idea! @paviro, the developer of MMM-FR´TZ-Box-Callmonitor is certainly the better person to explain, but the idea intrigues me and I had a look at the module’s code on GitHub.

      The relevant code for name resolution is in node_helper.js, line 150:

      var callInfo = {
          "time": moment(call.Date[0], "DD.MM.YY HH:mm"), 
          "caller": self.getName(call.Caller[0])
      };
      
      if (call.Name[0])
      {
          callInfo.caller = call.Name[0];
      }
      

      When going through the list of callers, the modle calls getName(caller) which is responsible for resolving the caller. This method does in essence this (node_helper.js, line 33):

      if (number_formatted in this.AddressBook) {
          return this.AddressBook[number_formatted];
      } else {
          //Not in AdressBook return original number
          return number;
      }
      

      So it basically checks if the number is in the preloaded address book and if not it returns the original number.

      I would put your reverse lookup here. In case the reverse lookup fails simply return the original number as is.

      Try to condense the essence of the reverse lookup into a single method (potentially located in its own module), so that it does not require calling the localhost address in browser. Once this runs, I’d cache all numbers that were successfully resolved so that you don’t have to do the lookup again and again for the same number.

      Sorry, it is hard to tell more as I know too little about your reverse lookup code.

      posted in Development
      P
      pinsdorf
    • RE: [MMM-GameOfLife] A Game of Life simulation for your MagicMirror

      Cool, nice idea :)

      posted in Entertainment
      P
      pinsdorf
    • RE: Deutsche Anleitung MagicMirror auf RaspberryPi 3

      Ich kann nur emfehlen, sich Backups der laufenden config.js zu machen. Details siehe oben.

      In der Regel fehlt nur eine Klammer oder ein Komma. Probiere mal folgendes Kommando npm run config:check. Es checkt deine config.js und zeigt Dir Syntaxfehler in der Datei. Du musst dafür im Verzeichnis ~/MagicMirror stehen.

      posted in General Discussion
      P
      pinsdorf
    • RE: Deutsche Anleitung MagicMirror auf RaspberryPi 3

      Oops, ihr wollt den Browser beenden. Mein Kommentar bezieht sich auf die Shell, sorry.

      posted in General Discussion
      P
      pinsdorf
    • RE: [MMM-MyRadio] Web Radio Player

      Nice module, indeed. Just an idea: Raspberry Pi 3 has Bluetooth. Would be cool to connect BT speakers and play the radio.

      We could also use it for remote audio notification". Say, the mirror is linked to a BT speaker in the next room and it plays a sound when certain notification is received, e.g. new mail …

      Anybody tried this?

      posted in Entertainment
      P
      pinsdorf
    • RE: Deutsche Anleitung MagicMirror auf RaspberryPi 3

      @35110 Strg+C bricht den aktuellen Prozess ab.

      Praktisch ist auch Strg+Z. Das pausiert den Prozess. Anschließend kannst Du ihn mit bg in den Hintergrund verbannen und im gleichen Putty-Fenster etwas anderes machen. Mit fg holt man Hintergrundprozesse wieder in den Vordergrund.

      posted in General Discussion
      P
      pinsdorf
    • RE: New to MM

      Regarding Mexican holidays: there are free calendars available, e.g. here https://www.calendarlabs.com/ical-calendar/holidays/mexico-holidays-60/. I don’t know the exact URL to configure MM’s calendar module, but I’d start with the download link’s URL on this page.

      posted in Troubleshooting
      P
      pinsdorf
    • RE: New to MM

      @jorgeg73 said in New to MM:

      5 verbose stack Error: ENOENT: no such file or directory, open '/home/pi/package.json’

      I’m wondering, why node is expecting the file package.json in the home directory /home/piand not in /home/pi/MagicMirror?!

      Are you running npm start from within the MagicMirror directory, i.e. did you do cd ~/MagicMirror first?

      posted in Troubleshooting
      P
      pinsdorf
    • RE: Deutsche Anleitung MagicMirror auf RaspberryPi 3

      Ich würde im ersten Schritt sogar auf die Verbindung via Putty verzichten und stattdessen Tastatur und Maus direkt an den Pi anschließen. In diesem Fall ist DISPLAY=:0 nicht nötig.

      Wenn auf dem Pi direkt alles läuft, würde ich probieren MM ohne Tastatur und Maus via Putty zu starten. Dort wird das DISPLAY Setting wieder gebraucht, weil sonst die Putty Sitzung als Default Screen verwendet wird, was weder geht noch das Ziel ist, denn MM soll ja auf dem HDMI-Monitor erscheinen.

      posted in General Discussion
      P
      pinsdorf
    • RE: Deutsche Anleitung MagicMirror auf RaspberryPi 3

      Na, das klappt doch super! Wenn wir hier fertig sind, muss man nur noch deine Berichte zusammenfassen und hat eine prima Anleitung.

      Der Befehl lautet cp config.js.sample config.js. Das kopiert einfach die Datei config.js.sample in eine neue Datei namens config.js. Danach sollte MM korrekt starten.

      Als nächstes möchtest du vmtl.ein paar Module konfigurieren und hinzufügen. Dazu musst Du stets der jeweiligen Anleitung im README.md des jeweiligen Moduls folgen. Im Wesentlichen ist das aber immer dasselbe:

      • Gehe ins modules Verzeichnis (cd ~/MagicMirror/modules)
      • Klone das Git Repository des Moduls (git clone https://github.com/UserName/ModulName.git)
      • Wechsle in das neu entstandene Verzeichnis (cd ModulName)
      • Installiere abhängige Pakete (npm install)
      • Editiere die Datei config.js um das Modul einzuhängen und zu konfigurieren (nano ~/MagicMirror/config/config.js).

      Achte beim letzten Schritt peinlich auf “Hygiene” in der Datei, d.h.

      • rücke korrekt ein,
      • achte auf Kommas in Listen,
      • achte darauf, dass Zeichenketten (=Texte) in Anführungsstriche eingeschlossen sind,
      • andere Datentypen wie Zahlen oder true/false werden ohne Anführungsstriche geschrieben,
      • Dezimalzahlen verwenden - wie im Englischen üblich - einen Punkt als Komma ,
      • schließe Klammern korrekt,
      • ändere immer nur eine Sache und probiere diese aus, bevor du weitermachst.

      Es hilft sehr, funktionierende Versionen der config.js zu “sichern”, z.B. mit cp config.js config.js.1. Wenn Du das nach jeder gelungenen größeren Änderung machst und die Zahl im Dateinamen hochzählst (also config.js.2, config.js.3, usw.), dann kannst du immer auf einen früheren Stand der config.js zurückkehren. Dafür die kaputte config.js löschen (rm config.js) und ersetzen (cp config.js.1 config.js).

      Wenn man von Windows kommt, dann ist die Bedienung des Editors nano etwas gewöhnungsbedürftig. Es mag helfen, sich vorab die wichtigsten Befehle anzulesen. Eine gute deutschsprachige Anleitung findet man unter https://wiki.ubuntuusers.de/Nano/

      Erst wenn Du einigermaßen zufrieden bist, würde ich mich mit Autostart und dem Starten via pm2 anfangen.

      posted in General Discussion
      P
      pinsdorf
    • RE: Magic Mirror fire hazard.

      The CPU temperature is an easy start, but I don’t think that it gets you very far to assess potential fire hazard. Reason is that this value does not tell you anything about the temperature of the surrounding air. Bigger cases might be able to cope with the CPU’s heat while the air in smaller cases may heat up more/quicker.

      Instead, I’d attach a DHT22 sensor and run the mirror for a couple of days (while I’m around). This sensor logs temperature an humidity, is pretty cheap, easy to connect, and well covered by the maker community w.r.t. libraries and documentation. You should place the sensor inside the case at the top, because warm air moves up as we all know.

      There are a couple of modules showing the temperature from a DHT22 sensor on the mirror. This is nice, but gives you just a current value. Thus, it might be beneficial to log the data, visualize it in a chart and look at trends, max values over the day, time to cool down after shutdown, etc1.

      Please have a look here for tutorial to achieve logging and visualizing DHT22 sensor data using Thingspeak:

      • https://www.raspberrypi-spy.co.uk/2015/06/basic-temperature-logging-to-the-internet-with-raspberry-pi/
      • https://www.hackster.io/adamgarbo/raspberry-pi-2-iot-thingspeak-dht22-sensor-b208f4

      Even simpler, you could periodically write temperature values to a CSV file on the RaspPi’s file system, copy this file manually to a PC, and visualize it in Excel. There are many tutorials for this. The following one seems to be focussed on the bare minimum without too may bells and whistles:
      https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/overview

      Have fun!

      posted in General Discussion
      P
      pinsdorf
    • RE: MMM-PublicTransportHafas – Public transport information for all stations known to Deutsche Bahn

      Thanks, @raywo Works like a charm. Well done also w.r.t documentation, the convenience script for retrieving stationID, and customization! Awesome work.

      posted in Transport
      P
      pinsdorf
    • RE: Deutsche Anleitung MagicMirror auf RaspberryPi 3

      Ich finde die Idee einer deutschen Anleitung gut, jedoch wird (und soll!) die englische immer Priorität haben. Das bedeutet, jemand müsste sich bereiterklären, Änderungen der englischen Anleitung in der deutschen nachzuziehen, denn bekanntlich ist eine falsche Anleitung schlechter als gar keine.

      Zu dem konkreten Problem von @35110: ich habe auch den Eindruck, dass Du alles richtig gemacht hast. Ein paar Fragen/Anregungen:

      • Startet der Pi denn bei angeschlossenem Monitor in eine grafische Oberfläche?
      • Wenn man mit Putty auf den Pi geht muss man i.d.R. die grafische Ausgabe umleiten mit DISPLAY=:0 npm start.
      • Ich habe nicht so gute Erfahrung gemacht mit dem Install-Skript. Im Wesentlichen installiert das Node.js, klont das MM Repository (git clone https://github.com/MichMich/MagicMirror.git) und installiert die abhängigen Pakete mit npm install. Das kann man auch manuell machen.
      • Autostart mit PM2 würde ich ganz zum Schluss konfigurieren/verwenden, wenn Du sicher bist, dass alles funktioniert. Ansonsten baust Du Dir eine Komplexität mehr ein und das Debuggen wird schwieriger.

      Ciao

      posted in General Discussion
      P
      pinsdorf
    • RE: Valentine's Day on your MagicMirror

      Thanks. I agree with you on the module naming. However, the algorithm is still the original for snow flakes. This may justify the name?!

      At least in the code I tried to be very diligent about naming schema: “flakes” are things that move on the screen, while “snow”, “hearts” or “bubbles” are themed items. See code comment in MMM-Snow.js.

      posted in Fun & Games
      P
      pinsdorf
    • Valentine's Day on your MagicMirror

      Want to show something special for Valentine’s Day on your MagicMirror?

      The MMM-Snow module by @MichMich now supports themes. The love theme floods your mirror with ascending hearts.

      alt text

      If you have MMM-Snow module installed already then just add the line for the theme setting like below.

      {
          module: 'MMM-Snow',
          position: 'fullscreen_above',
          config: {
              flakeCount: 100,
              theme: "love"
          }
      },
      

      Besides the love theme the module features themes winter (original snow flakes) and water (ascending bubbles). Maybe you have ideas for other themes? See also module’s documentation for details on how to add new ones.

      posted in Fun & Games
      P
      pinsdorf
    • MMM-WeeklySchedule

      Hi there, I’ve made a module MMM-WeeklySchedule to show weekly recurring schedules, such as the kids’ school classes, student’s timetable, teacher’s teaching schedule, your gym training classes, or recurring housekeeping tasks. It is made for static information with fine to change manually if necessary.

      The request for such module was triggered by @AxLed over at the Modules/Request category. As newbie in this forum I figured that here is the right place to announce new modules.

      It is my first mirror module. Your feedback is most welcome.

      Below is a screenshot for a pupil’s timetable:
      alt text

      posted in Productivity
      P
      pinsdorf
    • 1 / 1