• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

How to Change MMM-DWD-WarnWeather Module for Switzerland

Scheduled Pinned Locked Moved Development
13 Posts 3 Posters 6.8k Views 3 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    Squirrel
    last edited by Jan 17, 2017, 10:04 PM

    @strawberry-3-141 thank you for your fast and competent answer.

    This is what i did now:

    
    ......
    
    request ( {
              url: url,
              method: 'GET'
    		  }, 
    
               function (error, response, body) {
    
    			var result = JSON.parse(body);
    			var warningData = [];
    			
    			for (var regionId in result['alarms']) {
    
                    			if (result['alarms'][regionId]['regions'][0]['name_de'] == region) {
    					var warnings = new Object();
    					warnings.start = result['alarms'][regionId]['valid_from'];
    					warningData.push(warnings.start);
    					warnings.end = result['alarms'][regionId]['valid_to'];
    					warningData.push(warnings.end);
    					warnings.regionName = result['alarms'][regionId]['regions'][0]['name_de'];
    					warningData.push(warnings.regionName);
    					warnings.level = result['alarms'][regionId]['priority']
    					warningData.push(warnings.level);
    					warnings.type = result['alarms'][regionId]['code']
    					warningData.push(warnings.type);
    					warnings.altitudeStart = undefined;
    					warningData.push(warnings.altitudeStart);
    					
    					if (warnings.type == 1){warnings.event = "Frost";}
    					else if (warnings.type == 2){warnings.event = "Gewitter";}
    					else if (warnings.type == 3){warnings.event = "Grossflächige Glätte";}
    					else if (warnings.type == 4){warnings.event = "Kräftiger Regen";}
    					else if (warnings.type == 5){warnings.event = "Schnee";}
    					else if (warnings.type == 6){warnings.event = "Sturm";}
    					else if (warnings.type == 7){warnings.event = "Hochwasser";}
    
    					warningData.push(warnings.event);
    
    					warnings.headline = result['alarms'][regionId]['de']['title'];
    					warningData.push(warnings.headline);
    					warnings.description = result['alarms'][regionId]['de']['paragraph'];
    					warningData.push(warnings.description);
    				}
    			}
    			self.sendSocketNotification('WARNINGS_DATA', {warnings: warningData, region: region});
    
    			console.log(warnings);
    			console.log(warningData)
    
    		});
    
              .......
    
    

    Now i got the following outputs:

    // With console.log(warnings);
    
    { start: '2017-01-16T21:00:00.000Z',
      end: '2017-01-19T00:00:00.000Z',
      regionName: 'Seeland/Bielersee',
      level: 1,
      type: 6,
      altitudeStart: undefined,
      event: 'Sturm',
      headline: 'Starke Windböen',
      description: 'eisige Bise. 21 Uhr bis Do 00 Uhr' }
    
    // With console.log (warningData)
    
    [ '2017-01-17T00:00:00.000Z',
      '2017-01-18T23:00:00.000Z',
      'Seeland/Bielersee',
      1,
      3,
      undefined,
      'Grossflächige Glätte',
      'Gefahr von grossflächiger Glätte',
      'durch Schneeglätte. Di 00 Uhr bis Mi 23 Uhr',
      '2017-01-16T21:00:00.000Z',
      '2017-01-19T00:00:00.000Z',
      'Seeland/Bielersee',
      1,
      6,
      undefined,
      'Sturm',
      'Starke Windböen',
      'eisige Bise. 21 Uhr bis Do 00 Uhr' ]
    

    My Problem now is that my Output is still looking different than his output. And when i get 2 warnings for the same Region the Output goes into the same Array… By the Way… Why i get only one Warning for the region with console.log(warnings);

    Here is the Output example of his module:

    [ { start: 1484586000000,
        end: 1484650800000,
        regionName: 'Kreis Harburg',
        .....
        state: 'Niedersachsen' 
      },
      { start: 1484586000000,
        end: 1484650800000,
        regionName: 'Kreis Harburg',
        .......
        state: 'Niedersachsen' 
        }
     ]
    
    S 1 Reply Last reply Jan 17, 2017, 10:47 PM Reply Quote 0
    • S Offline
      strawberry 3.141 Project Sponsor Module Developer @Squirrel
      last edited by Jan 17, 2017, 10:47 PM

      @Squirrel you are pushing every single propertie to the array instead of the whole object

      if (result['alarms'][regionId]['regions'][0]['name_de'] == region) {
        var warnings = {};
        warnings.start = result['alarms'][regionId]['valid_from'];
        warnings.end = result['alarms'][regionId]['valid_to'];
        warnings.regionName = result['alarms'][regionId]['regions'][0]['name_de'];
        warnings.level = result['alarms'][regionId]['priority']
        warnings.type = result['alarms'][regionId]['code']
        warnings.altitudeStart = undefined;
      					
        if (warnings.type == 1){warnings.event = "Frost";}
        else if (warnings.type == 2){warnings.event = "Gewitter";}
        else if (warnings.type == 3){warnings.event = "Grossflächige Glätte";}
        else if (warnings.type == 4){warnings.event = "Kräftiger Regen";}
        else if (warnings.type == 5){warnings.event = "Schnee";}
        else if (warnings.type == 6){warnings.event = "Sturm";}
        else if (warnings.type == 7){warnings.event = "Hochwasser";}
      
        warnings.headline = result['alarms'][regionId]['de']['title'];
        warnings.description = result['alarms'][regionId]['de']['paragraph'];
        warningData.push(warnings);
      }
      

      try this instead

      Please create a github issue if you need help, so I can keep track

      1 Reply Last reply Reply Quote 0
      • S Offline
        Squirrel
        last edited by Jan 18, 2017, 10:37 AM

        Thanks again for fast Answer! Now everything is working. Im so happy! :)

        I have just one last Question. I tried to run both modules at the same time. This is giving me problems. The Icons are too much big and i cant see something else…

        I changed all the names of the module files and folders and i have no idea where i can find this fault. I think nobody gonna us this two modules at the same time but i want to upload my module for other users and if somebody is using both of them i dont want to destroy @LukeCodewalker s module… ;)

        1 Reply Last reply Reply Quote 0
        • S Offline
          Squirrel
          last edited by Jan 18, 2017, 4:28 PM

          I uploaded my Project MMM-WetteralarmCH now! If somebody can help me with the problem of using both modules (MMM-WetteralarmCH and. MMM-DWD-WarnWeather) at the same time i gonna update my Project again.

          Thanks to everybody for helping me!

          1 Reply Last reply Reply Quote 0
          • L Offline
            LukeCodewalker Module Developer
            last edited by Jan 25, 2017, 7:04 AM

            Sorry for being absent so long. Busy times in the moment :) but I’m glad to see that you’ve got it working. :thumbsup:

            1 Reply Last reply Reply Quote 0
            • S Offline
              Squirrel
              last edited by Jan 25, 2017, 1:06 PM

              @LukeCodewalker thanks! But I still need a Solution to don’t Crash your Module while both modules are running at the same time… Let me know when you have more time to talk about that topic 😉

              1 Reply Last reply Reply Quote 0
              • 1
              • 2
              • 2 / 2
              2 / 2
              • First post
                12/13
                Last post
              Enjoying MagicMirror? Please consider a donation!
              MagicMirror created by Michael Teeuw.
              Forum managed by Sam, technical setup by Karsten.
              This forum is using NodeBB as its core | Contributors
              Contact | Privacy Policy