• 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.

save some information from a xml or json to a txt file

Scheduled Pinned Locked Moved Requests
25 Posts 5 Posters 16.2k Views 5 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.
  • L Offline
    LukeCodewalker Module Developer @Squirrel
    last edited by Jan 4, 2017, 8:01 AM

    @Squirrel
    i did some reverse engineering of the dwd-website and found this json file.
    i had a short look at your link and did not found something similar there. do you know if theres an app for ios where the data is shown? maybe i can help you then.

    1 Reply Last reply Reply Quote 0
    • L Offline
      LukeCodewalker Module Developer @Squirrel
      last edited by Jan 4, 2017, 8:45 AM

      @Squirrel
      maybe this link helps you:
      https://s3-eu-central-1.amazonaws.com/app-prod-static-fra.meteoswiss-app.ch/v1/warnings_with_outlook_with_naturalhazards_de.json

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

        @LukeCodewalker Thx for the answer. I will try it out. At the moment i can`t find my City. But maybe only because there is no warning at the moment? Otherwise on the alarm.meteocentrale.ch is still a warning for snow on the streets…?

        What about wetteralarm.ch/? This is a app for iPhone and Android! Maybe it can work with this site?

        L 1 Reply Last reply Jan 4, 2017, 3:04 PM Reply Quote 0
        • L Offline
          LukeCodewalker Module Developer @Squirrel
          last edited by Jan 4, 2017, 3:04 PM

          @Squirrel
          I can’t download this app in germany, so I can’t have a look at the data it uses.

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

            Ok. Shit happens. Maybe you can tell me with which program/method u read the code of a app? The I can do it alone…

            L 1 Reply Last reply Jan 4, 2017, 7:48 PM Reply Quote 0
            • L Offline
              LukeCodewalker Module Developer @Squirrel
              last edited by Jan 4, 2017, 7:48 PM

              @Squirrel
              I use mitmproxy for viewing the http-requests of the apps.

              1 Reply Last reply Reply Quote 1
              • S Offline
                Squirrel
                last edited by Jan 6, 2017, 6:52 AM

                Thx! After some little problems to install all the things to use mitmproxy it works now and i found some good json files. The only problem i have is that there is one json for region where i can`t choose a city. There are different json files for every city! Maybe i gonna make a module with regions for everybody but use the city json for my self!

                1 Reply Last reply Reply Quote 0
                • S Offline
                  Squirrel
                  last edited by Jan 6, 2017, 8:31 AM

                  Hmm since i changed some things in node_helper.js my MagicMirror is no more working and i get the following ERROR:

                  npm ERR! Linux 4.4.34-v7+
                  npm ERR! argv “/usr/local/bin/node” “/usr/local/bin/npm” “start”
                  npm ERR! node v0.12.6
                  npm ERR! npm v2.11.2
                  npm ERR! code ELIFECYCLE
                  npm ERR! magicmirror@2.0.0 start: electron js/electron.js
                  npm ERR! Exit status 1
                  npm ERR!
                  npm ERR! Failed at the magicmirror@2.0.0 start script ‘electron js/electron.js’.
                  npm ERR! This is most likely a problem with the magicmirror package,
                  npm ERR! not with npm itself.
                  npm ERR! Tell the author that this fails on your system:
                  npm ERR! electron js/electron.js
                  npm ERR! You can get their info via:
                  npm ERR! npm owner ls magicmirror
                  npm ERR! There is likely additional logging output above.

                  npm ERR! Please include the following file with any support request:
                  npm ERR! /home/pi/MagicMirror/npm-debug.log

                  This is what i did in config.js:

                  module: 'MMM-DWD-WarnWeather',
                  position: 'bottom_right',
                  header: 'Wetterwarnungen',
                  config: {
                      region: 'Seeland/Bielersee',					// Kreis Lörrach
                      changeColor: true,
                      interval: 10 * 60 * 1000, // every 10 minutes
                      loadingText: 'Warnungen werden geladen...',
                      noWarningText: 'Keine Warnungen'
                  }
                  

                  },

                  And here what i did in node_helper.js :

                  getWarningData: function (region) {
                  	var self = this;
                  
                  	var timestamp = Date.now().toString();
                  	var url = 'http://my.wetter.ch/v6/alarms/meteo/with-regions.json' + timestamp;			// http://www.dwd.de/DWD/warnungen/warnapp_landkreise/json/warnings.json?jsonp=loadWarnings
                  
                  
                  
                  	request({
                  		url: url,
                  		method: 'GET'
                  	}, function (error, response, body) {
                  
                  		var result = JSON.parse(body.substr(24).slice(0, -2));
                  		var warningData = [];
                  		for (var regionId in result['warnings']) {
                  			if (result['warnings'][regionId][0]['name_de'] == region) {			// name_de = regionName 
                  				var warnings = [];
                  				for (var warning in result['warnings'][regionId]) {
                  					warnings.push(result['warnings'][regionId][warning]);
                  				}
                  				if (warnings.length > 0) {
                  					warningData = warnings;
                  				}
                  			}
                  		}
                  		self.sendSocketNotification('WARNINGS_DATA', {warnings: warningData, region: region});
                  
                  	});
                  

                  I changed the link and i changed regionName to name_de… Any idea? Hope this is gonna be my last Question ;)

                  L 1 Reply Last reply Jan 6, 2017, 8:51 AM Reply Quote 0
                  • L Offline
                    LukeCodewalker Module Developer @Squirrel
                    last edited by Jan 6, 2017, 8:51 AM

                    @Squirrel
                    So first of all i would suggest you to open a new topic in the development area of this forum.
                    Second, it looks like you have not much experience http-requests and data-structures =D but that’s no problem =) it’s a good point to start for you now =)
                    To help you i need the request which you have monitored with mitmproxy.
                    To do that, open the request in mitmproxy and press E to export it. Then choose curl command as output-format and choose a file where you save this command.
                    With this command i can explain you how to go on. So please post the content of this file in the new topic which you will create now =)

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      morozgrafix Moderator @gismo2006
                      last edited by Jan 7, 2017, 1:10 AM

                      @gismo2006 I know this thread is solved and a few months old. There is also another one liner solution with use of jq JSON parser from command line. Here is an example that would get result that you need (or at least get you close to it)

                      curl -s "http://api.openweathermap.org/data/2.5/weather?id=2934486&lang=de&units=metric&mode=json&appid=YOUR_OWM_API_KEY" | jq -r '"Today is " + .weather[].description + " and " + (.main["temp"]|tostring) + " degrees."' > filename.txt
                      

                      would result in Today is überwiegend bewölkt and -6.12 degrees. put into filename.txt

                      1 Reply Last reply Reply Quote 1
                      • 1
                      • 2
                      • 3
                      • 2 / 3
                      2 / 3
                      • First post
                        20/25
                        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