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

    Posts

    Recent Best Controversial
    • RE: Reverse Lookup MMM-FRITZ-Box-Callmonitor - help needed

      Hi pinsdorf,

      thanks for your reply, here are some answers to your questions:

      • putting the lookup in a own module.
        => Feel free, you just have to tell me, how i can grant write permissions to you (maybe via PN)
      • i closed my own pull request, as i didnt find any other option

      Maybe you can also help in fixing this issue: https://github.com/paviro/MMM-FRITZ-Box-Callmonitor/issues/30

      Regards

      AxLED

      posted in Development
      A
      AxLed
    • RE: Reverse Lookup MMM-FRITZ-Box-Callmonitor - help needed

      @pinsdorf
      i created a fork, i am not sure if i did everything right (i checked some readme before and keeped on that), details see: https://github.com/Ax-LED/MMM-FRITZ-Box-Callmonitor/pull/1/files

      There is also a working beta of the reverse lookup feature.

      I know the code is still quick n dirty.

      AxLED

      posted in Development
      A
      AxLed
    • RE: Reverse Lookup MMM-FRITZ-Box-Callmonitor - help needed

      I almost made it, for debugging i went this way (as i dont know any better so far):

      • Clientside: Browser with debugging feature
      • Serverside (like node_helper.js): console.log on every important location in the code

      My workaround (so far):
      I cloned the function getName to getName2 and use Reverselookup of phonenumbers only in getName2.
      I changed the call of getName to getName2 in following places:
      Line 80-98:

      //Incoming call
      		monitor.on("inbound", function(call) {
      			//If caller is not empty
      			if (call.caller != "") {
      				self.sendSocketNotification("call", self.getName2(call.caller));
      			};
      		});
      
      		//Call accepted
      		monitor.on("connected", function(call) {
      			self.sendSocketNotification("connected", self.getName2(call.caller));
      		});
      
      		//Caller disconnected
      		monitor.on("disconnected", function(call) {
      			//send clear command to interface
      			self.sendSocketNotification("disconnected", {"caller": self.getName2(call.caller), "duration": call.duration});
      		});
      console.log(this.name + " is waiting for incoming calls.");
      

      Reasons why i did this workaround: loadCallList
      This function is called initialy, when you start MM and everytime you get a call. I dont understand, why loadCallList goes through all calls from the fritzbox journal in the past (infinitely), no matter what configuration options of the module you choosed. This gives me an "Socket hang up" error on reverse lookup after 100 requests. Now you know why i did this workaround.

      Regards

      AxLED

      posted in Development
      A
      AxLed
    • RE: Reverse Lookup MMM-FRITZ-Box-Callmonitor - help needed

      Hi pinsdorf,
      all mentioned files are in the folder MMM-FRITZ-Box-Callmonitor but on debugging, i only can choose from the ones above (see my screenshot).

      I will follow your suggestion with git, if my code adaptation has passed the beta phase, as i still have some problems.

      posted in Development
      A
      AxLed
    • RE: Reverse Lookup MMM-FRITZ-Box-Callmonitor - help needed

      @pirnsdorf

      Thanks for the information, so i started one of my MM-Dev-Environments (Ubuntu 16.04) and run MM with npm start dev, unfortunatelly i can not mark node_helper.js, as i only see the MODULNAME.js and the MODULNAME.css.

      The part of code i want to debug is in node_helper.js, how can i do this?
      Screenshot:
      0_1519752147187_dev1.JPG

      AxLED

      posted in Development
      A
      AxLed
    • RE: Reverse Lookup MMM-FRITZ-Box-Callmonitor - help needed

      Hi,

      i tried to implement Reverse lookup, so i extended the package.json file about the needed depencies and did a npm install afterwards, which worked fine.

      Now i am struggeling in implementing aditional code in node_helper.js, as i dont know how to debug it. Some bugs are show in the console, as i start MM, but some not.

      Is there a way to test node_helper.js by itself?
      Or, how do you test new modules / module modifications?

      I am looking forward to get some tipps.

      Regards AxLED

      posted in Development
      A
      AxLed
    • RE: Reverse Lookup MMM-FRITZ-Box-Callmonitor - help needed

      @pinsdorf
      I am moving forward and getting closer to my target.
      With your tips i got rid of the Express framework (calling http://localhost/scrape to start web scraping). I also found a way two show the results in the console and addition writing a file (for my personal debugging).

      Right now i have to files:
      package.json

      {
        "name"         : "MMM-Alex2",
        "version"      : "0.0.1",
        "description"  : "Reverse Lookup Phonenumber.",
        "main"         : "server.js",
        "author"       : "Alex",
        "repository"   : {
          "type" : "git",
          "url"  : "https://github.com/"
        },
        "dependencies" : {
          "request"    : "latest",
          "cheerio"    : "latest"
        }
      }
      

      server.js

      var request = require('request');
      var cheerio = require('cheerio');
      var moment = require('moment');
      var fs      = require('fs');
      
      var callnr = '0049xxxx';
      var url = 'http://www.dasoertliche.de/?form_name=search_inv&ph=' + callnr;
      
      title = '';
      adresse = '';
      anrufer = 'kein Treffer auf Örtliche.de für '+ callnr;
      
      request(url, function (error, response, html) {
        if (!error) {
      	var $ = cheerio.load(html);
      	
      	$('.left').filter(function(){
              var data = $(this);
              
      		title = data.text().trim();
      		//adresse = data.children().children().text().trim();
      		adresse = data.children().eq(2).text().trim();
      		})
      		
      	$('.name ').filter(function(){
              var data = $(this);
              anrufer = data.text().trim();
      		})
      
          console.log('Anrufer: ' + anrufer);
      	console.log('Adresse: ' + adresse);
          //console.log('Title: ' + title);
      	console.log('Gesamt: ' + anrufer + ', ' + adresse + ' - '+ moment().format("DD.MM.YYYY HH:mm"));
          
      	//Daten fortschreiben
      	fs.appendFile('anrufe.txt', moment().format("DD.MM.YYYY HH:mm") + ' Gesamt: ' + anrufer + ', ' + adresse +'\n', function(err){
            console.log('File successfully written!');
          })
      	
        }
        else {
          console.log("We’ve encountered an error: " + error);
        }
      });
      
      

      If i put them in a folder (under MagicMirror/modules) an do a npm install in that folder, it will install the depencies.

      If in now run node server.js in MagicMirror/modules/FOLDERNAME i will get the result of a static phonenumber in the console and in a textfile in FOLDERNAME.

      My next step will be the implementation in MMM-Fritz-Box-Callmonitor, as you suggested.

      AxLED

      posted in Development
      A
      AxLed
    • Reverse Lookup MMM-FRITZ-Box-Callmonitor - help needed

      Hi,
      i am interested in extending MMM-FRITZ-Box-Callmonitor with a reverse lookup feature.

      I check following tutorial:
      https://scotch.io/tutorials/scraping-the-web-with-node-js
      The git can be found at: https://github.com/scotch-io/node-web-scraper

      I clone and installed it,
      0_1519333116204_fritz.JPG

      after this i modified it, so i can write parsed datas of http://www.dasoertliche.de/?form_name=search_inv&ph=[Phonenumber] in a output.json file.

      This is what my server_mod.js looks like:

      {
          "title": "1\n\nAutovermietung SIXT \n\n\t\t\t\t\n\t\t\t\t\tStreetsomething 1, 12345 City",
          "adresse": "Streetsomething 1, 12345 City",
          "anrufer": "Autovermietung SIXT"
      }
      

      Now i need some help, how to implement it into MMM-FRITZ-Box-Callmonitor, i have following problems:

      1. I still have a static phonenumber for reverse lookup in server_mod.js
      url = 'http://www.dasoertliche.de/?form_name=search_inv&ph=[phonennumber]';
      
      1. To create a output.json file i have to start node server_mod.js (in Module directory) and have to call http://localhost:8081/scrape in my browser.

      I think the first steps are made, maybe somebody can give me a hint how to move forward.

      AxLED

      posted in Development
      A
      AxLed
    • RE: Splash Screens/No Signal

      i had a similar issue, connecting RPI with HDMI vs. VGA had different behavior.
      To get my PIR working the way i want it, i had to use a HDMI->VGA Adapter and connected the display by VGA. Dont worry, VGA also supports FullHD Resolution.
      See alse: https://forum.magicmirror.builders/topic/6410/which-monitor-supports-standby-sleep-poweroff-wakeup-via-vga-hdmi-commands

      posted in Hardware
      A
      AxLed
    • RE: [MMM-Buttons] Connect multiple buttons to send configurable notifications

      @cruunnerr
      Thanks for the tips, you made my day, it works now.
      What i did: Changed the wiring from negativ (GND) to 3.3V (with resistor) as shown on picture of cruunnerr wiring diagram.

      No i try to get a rotary switch and got it working, as i need some WAF (Woman acceptance faktor) for my mirror.

      Regards

      AxLED

      posted in System
      A
      AxLed
    • 1 / 1