How can we help?


New Parser for Australia

Pinned Featured

Comments

24 comments

  • Avatar
    Peterko76

    Hi,

     

    I need help with setting up. I signed up and created api key, but I don't know how to create willyweather.py file ? Can you please tell me how to ..? Thank you very much. 

    0
    Comment actions Permalink
  • Avatar
    Richard Mann (Edited )

    You need to search for how to download files from GitHub. This is not something myself or the RainMachine community can support.

    I would only suggest using this parser (or any community code) if you are an advanced RainMachine user or a programmer.

    0
    Comment actions Permalink
  • Avatar
    Mark

    I am using this and it works great for me. Thanks!

    0
    Comment actions Permalink
  • Avatar
    Richard Mann

    All, I have added a major update to the code, now including the percentage probability of rain. This should make forecasting based on the data more accurate.

    I have also added support for weather icons, in case this is the only parser you use.

    All users should update their installations.

    Cheers!

    0
    Comment actions Permalink
  • Avatar
    Steven

    Is it just me or has this stopped working since the last firmware update?

    0
    Comment actions Permalink
  • Avatar
    Richard Mann (Edited )

    Yes, its not working since the last firmware update.

    Lots of errors in the logs, but the parser reports as successful.

    I think they have introduced a bug...

    Looks like the log contains the correct values from the parser but is now unable to import them. The logs show that the values from the parser are being incorrectly rejected as being ABOVE the limits of the system when they are clearly lower.

    Values for precipitation and the icons are working, but temp, min/max temp and wind are not being imported.

    This needs to be corrected by the Rainmachine developers.

    2019-06-22 09:25:59,507 - ERROR - rmLimits:47 - TEMPERATURE value 12.7 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,343 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,345 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,349 - ERROR - rmLimits:47 - TEMPERATURE value 14.1 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,351 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,354 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,357 - ERROR - rmLimits:47 - TEMPERATURE value 14.9 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,359 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,361 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,365 - ERROR - rmLimits:47 - TEMPERATURE value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,367 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,369 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,373 - ERROR - rmLimits:47 - TEMPERATURE value 14.5 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,375 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,377 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,381 - ERROR - rmLimits:47 - TEMPERATURE value 13.3 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,383 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,385 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,389 - ERROR - rmLimits:47 - TEMPERATURE value 12.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,391 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,393 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,397 - ERROR - rmLimits:47 - TEMPERATURE value 10.9 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,399 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,401 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,405 - ERROR - rmLimits:47 - TEMPERATURE value 10.3 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,407 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,410 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,413 - ERROR - rmLimits:47 - TEMPERATURE value 10.2 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,415 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,417 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,421 - ERROR - rmLimits:47 - TEMPERATURE value 10.2 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,424 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,426 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,430 - ERROR - rmLimits:47 - TEMPERATURE value 10.2 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,435 - ERROR - rmLimits:47 - MINTEMP value 6.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,438 - ERROR - rmLimits:47 - MAXTEMP value 15.0 more than limits maximum of 60, invalidated
    2019-06-22 09:26:00,441 - ERROR - rmLimits:47 - WIND value 4.4 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,445 - ERROR - rmLimits:47 - WIND value 4.5 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,449 - ERROR - rmLimits:47 - WIND value 4.5 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,452 - ERROR - rmLimits:47 - WIND value 4.4 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,456 - ERROR - rmLimits:47 - WIND value 4.3 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,459 - ERROR - rmLimits:47 - WIND value 4.3 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,463 - ERROR - rmLimits:47 - WIND value 4.4 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,467 - ERROR - rmLimits:47 - WIND value 4.4 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,470 - ERROR - rmLimits:47 - WIND value 4.5 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,474 - ERROR - rmLimits:47 - WIND value 4.6 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,477 - ERROR - rmLimits:47 - WIND value 4.9 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,481 - ERROR - rmLimits:47 - WIND value 5.2 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,484 - ERROR - rmLimits:47 - WIND value 5.7 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,488 - ERROR - rmLimits:47 - WIND value 5.9 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,491 - ERROR - rmLimits:47 - WIND value 5.8 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,495 - ERROR - rmLimits:47 - WIND value 5.4 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,499 - ERROR - rmLimits:47 - WIND value 5.0 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,502 - ERROR - rmLimits:47 - WIND value 4.6 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,506 - ERROR - rmLimits:47 - WIND value 4.5 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,509 - ERROR - rmLimits:47 - WIND value 4.4 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,513 - ERROR - rmLimits:47 - WIND value 4.5 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,516 - ERROR - rmLimits:47 - WIND value 4.6 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,520 - ERROR - rmLimits:47 - WIND value 4.9 more than limits maximum of 55.55, invalidated
    2019-06-22 09:26:00,524 - ERROR - rmLimits:47 - WIND value 5.1 more than limits maximum of 55.55, invalidated
    0
    Comment actions Permalink
  • Avatar
    Richard Mann

    I have reported this issue in the "Issues Reporting" section:

    https://support.rainmachine.com/hc/en-us/community/posts/360032826974-Custom-parser-broken-with-the-latest-firmware-update

     

    0
    Comment actions Permalink
  • Avatar
    Richard Mann

    This issue has been fixed and the latest code is on Github.

    Apologies to all affected.

    1
    Comment actions Permalink
  • Avatar
    Steven

    Legend. Thank you.

    1
    Comment actions Permalink
  • Avatar
    Alex

    Awesome work with this parser Richard :-)

    1
    Comment actions Permalink
  • Avatar
    Edwin

    Hi Richard,

    I am trying to use your parser but the Station ID doesn't seem to want to store in the device. Once save is clicked the station ID is cleared.

    I note that someone else had a similar problem here:

    https://github.com/safepay/rainmachine-willyweather/issues/1?_pjax=%23js-repo-pjax-container

    Trying to save the station ID through the app didn't work for me. Any idea of what might be wrong and how to fix it?

    Thanks,

    Ed

    0
    Comment actions Permalink
  • Avatar
    Richard Mann (Edited )

    Yes it can be a problem. Its not the parser, its the querky RM system. I have no control over how RM saves variable data. 

    My solution is to use the Defaults option which prepopulates data. Once there is data, you can usually override it with the correct settings.
    You may need to do this a few times but it will get there in the end.

    The other day I was fiddling with the system and accidentally removed my api key and it took me a few goes to gey it back in.

    0
    Comment actions Permalink
  • Avatar
    Nick (Edited )

    Hi Richard,

    Thank you for all the hard work you have done, this is really amazing. I just thought I would mention a little hiccup that caught me out that might be worth incorporating into the docs. RainMachine limit request to one every 5min. If you try to refresh more often than this (by clicking "refresh now", you don't see anything in the interface but you do get this message in the logs;

    DEBUG - rmParserManager:138 -      * Ignored because retry delay 300 (sec) was not reached

    This bit me because the first time I ran it, I forgot to tick the "stationLookUp" option so the script ran without a stationID and kept failing with the message;

    ERROR - rmParser:133 - HTTP Error 400: Bad Request

    For the next 5min it was unable to retrieve the station list due to the silent timeout. I ended up just retrieving the stationID by hand;

    https://api.willyweather.com.au/v2/{api-key}/search.json?lat=-35.28&lng=149.13&units=distance:km

    Anyway, thanks again,

    0
    Comment actions Permalink
  • Avatar
    Richard Mann (Edited )

    Thanks Nick, I was not aware of that.

    I have updated the README accordingly.

    I have also added a section to the README on how to obtain a Station ID from the source code of the WillyWeather website, which is a bit easier than manually calling the API

    Cheers.

    0
    Comment actions Permalink
  • Avatar
    Jon Waland

    @ Richard - i see that you have a change to the parser - 

    Looks like parserHistorical=true means to store current observational data.
    We use this for the measured rain amount.

    Should I download/update?

     

    0
    Comment actions Permalink
  • Avatar
    Richard Mann

    Yes.

    The change  has made no observable difference to the weather prediction.

    But this might help with the observational component which only captures rainfall.

    It's hard to test because it just won't rain....

     

    For any RainMachine developers.... I set the timestamp to be the start of the day and keep sending the same time and the total rain for the day. This should mean that the last timestamp  for the day should contain the rainfall total for the day.

    If there is a better  way to do this let me know because,as I stated above, this is hard to test.

    0
    Comment actions Permalink
  • Avatar
    Collin McIlveen

    Hi, I'm trying to run Richard's parser for Willyweather on a Mini 8 with firmware 4.0.999 but I can't get the .py file to load into the Mini 8. I get a message download failed for willyweather.py and the log file says this

    <type 'int'=""><type 'str'="">2020-04-08 12:19:07,430 - ERROR - rmParserManager:419 -   * Error installing/loading parser user-willyweather.py from file '/rainmachine-app/RMParserFramework/parsers/user-willyweather.py'
    2020-04-08 12:19:07,470 - ERROR - rmParserManager:420 - invalid syntax (user-willyweather.py, line 7)
    Traceback (most recent call last):
      File "./RMParserFramework/rmParserManager.py", line 382, in installParser
      File "/rainmachine-app/RMParserFramework/parsers/user-willyweather.py", line 7

    I don't know anything about Python so can anyone help please? Has anyone got this to work on a Mini 8? I'm trying to install it using Unbuntu 19.1 Desktop and Firefox

     

    0
    Comment actions Permalink
  • Avatar
    Richard Mann

    Hi Collin,

    Sounds like the download from GitHub is not in the correct format. Line 7 is a comment line, not code.

    Confirm you are using the raw format.

    0
    Comment actions Permalink
  • Avatar
    Collin McIlveen

    Hi Richard, I'm confused about the raw format comment. I right clicked on the link and saved as willyweather.py as I would normally do for and download. If I left click, the file "opens" in a new window and I can see a raw button which if I click it opens the .py file in Firefox. I can save it from there as a .py file, but is that correct??

    0
    Comment actions Permalink
  • Avatar
    Richard Mann

    Yes that sounds correct.

    It is a common mistake people make when downloading files from GitHub in a format other than RAW. These files then fail to execute or behave properly.

    Hence this is the most likely cause of the problem.

    0
    Comment actions Permalink
  • Avatar
    Collin McIlveen

    So working from your response that Line 7 is a comment line, I opened willyweather.py in Notepad+ then removed all the comment lines at the top and saved it as a txt file out of curiosity. Also booting in and out of Linux is a bit tedious. I was surprised when RM loaded the .txt file in win10 and I was then able to configure the rest of the parser as per your help file. RM says success and there is a graph of Precipitation Forecast in RM from the parser. Tomorrow, I'll edit the .py file and remove the comments and see if it loads in Ubuntu. I'll let you know the result, maybe there is something different either about the firmware or the Mini 8.

    0
    Comment actions Permalink
  • Avatar
    Collin McIlveen

    I rebooted into Ubuntu and successfully loaded your parser as a.py but with all the comment lines at the beginning removed and it works perfectly. Many thanks for your patience and help and I guess we'll just add this to our knowledge base for future reference and put it down to another of life's mysteries. 😊

    Regards Collin

    0
    Comment actions Permalink
  • Avatar
    digger004

    Hi - thanks for the great work.  Just tried to create an API and I get hit with a Internal Server 500 error when I try to confirm at registration.  Has anyone else had an issue? I have sent a twitter message to WW.

    cheers, Paul 

    0
    Comment actions Permalink
  • Avatar
    Michael Collins (Edited )

    Paul, yes I have same issue and logged it with Willy weather support a year ago.... still not working for me. I have reached out to their support again. If you manage to figure it out, let me know!

    Edit:  WillyWeather support got back to me and fixed the problem over a phone call.  Hope you got it sorted also.

    0
    Comment actions Permalink

Please sign in to leave a comment.