Trouble syncing Weather

Posted on
  • Hi All - First - I'm a casual user, not a developer and only have HTML experience there (sub par at best at that!). I gave up on my FitBit once Google purchased them, and the main watches all just seemed like smartphone companions.

    I also want to note before my question that my background is suited for writing guides & resources. Happy to help in that way since I won't be developing for the watch.

    Issue: I've got most things going, but cannot figure out the weather. I've got Weather (v0.26) and Openweathermap weather provider (v0.04).

    • My Location is set in that app using GPS
    • I have gadgetbridge installed & synced. I THINK I selected the right options, but this may be where the issue is
    • I have an Openweathermap API put into the OWProvider app.
    • The weather still doesn't sync to my clock widgets. When I open the Weather app, it gives the same message that gadgetbridge needs to be set to send the weather.

    Any thoughts or advice?

  • Hi!

    I guess you already looked around for tips on https://gadgetbridge.org ?

    Unfortunately I don't have too much experience with this myself.

  • Heh, was just about to note this.

    I did check the wiki, troubleshooting page, and tried my luck on Youtube.

  • Couple tips I've ran into for OWMWeather:

    OWMweather defaults to disabled, so you may need to go to settings on the watch and enable it.

    Also make sure "allow internet access" is enabled in the device specific settings (gear icon on the tile for the device in gadgetbridge)

  • Hey, thanks. Both of those are correctly set. When I try to hit force reset, it says "no http method found.

    Pic : Weather app


    1 Attachment

    • 17112160178492519386908507549389.jpg
  • Couple other things to double check:
    Do you have the BangleJs version of Gadgetbridge? (Nevermind, if you had the Internet setting then yeah you do)
    Do you have the Android Integration app installed?

  • Yes and Yes. Other things seem to work well. I've gotten messages, music controls, navigation updates. Just not the weather.

  • I switched back to using OWMweather yesterday and it isnt working for me either. I'll try to figure this out in the next day or two and see if it's the same problem you're having.

  • I just installed the android app and owmweather on a factory reset bangle and forcing a refresh in the OWM weather settings creates the expected output:

    {"t":"http","url":"https://api.openweathermap.org/data/2.5/weather?lat=51.50&lon=0.12&exclude=hourly,daily&appid=apikeygoeshere","id":"72500645030"}
    

    Can you check in the IDE if there are errors when you try to manually refresh in the settings? The "http method not found" error hints to a problem with or in the android app. It should be available on the watch independent of GadgetBridge settings. Maybe your boot code somehow got corrupted, in that case going to "Settings->Utils->Rewrite Settings" could help.

  • My issue turned out to be that mylocation.json somehow had a lat but no lon. So I just had to resave it.

  • I'm quite green, so there's a solid possibility I messed up. I reinstalled gadgetbridge and factory reset my watch (I only had it for a few days, and perhaps missed when initially setting it up whether or not the proper image displayed).

    Then reloaded the apps and entered the information. The HTTP error displays.

    I'm not sure if I did what you suggested correctly. When I connected in the IDE and tried to manually refresh OWMweather this came up:

    Uncaught Error: Can't read property 'toFixed' of undefined
     at line 42 col 118 in owmweather
    ...2) + "&lon=" + location.lon.toFixed(2) + "&exclude=hourly,da...
                                  ^
    in function "pull" called from line 58 col 12 in owmweather.settings.js
              });
               ^
    in function "b" called from line 2 col 44
    ...if("function"==typeof b)b(p);else if("object"==typeof b)if("...
                                  ^
    in function "select" called from line 1 col 78
    ...b,{x:c.x,y:c.y+f-a.y-b*d.h}))
                                  ^
    in function "p" called from line 1 col 17
    e.handled||p(a,e)
                    ^
    in function called from system
    

    I went into Debug in Gadgetbridge and Set Weather, and the clockface started displaying weather, but it wasn't the weather in my area - it didn't make much sense, 59F and snowing. It also didn't change anything in Weather or OWMWeather.

  • Ah, now you also don't have a location set. We managed to end up with the same problem. Go into the app loader and search for My Location and click the save icon to open the interface. Then pick a location on the map and save. (I can try to write better instructions later...)

    (You can ignore the set weather and gadgetbridge weather if you use OWMweather. )

  • Since you both had this problem,

    • could there have been some instruction somewhere, e.g. in an apps README to help you avoid this?
    • Or can you think of something else that would have helped?
    • Or is there a bug to fix somewhere?

    Edit: I guess a pop-up on the watch if lon or lat info is missing is one route for mitigating this.

  • Yeah, it'd be helpful to add a quick check if (!location || !location.lat || !location.lon) then give a message about mylocation needing to be set, and some detail in the readme about if you get the message, do xyz to solve it. Otherwise it just silently fails on the watch, until you look in the IDE.

    The missing Bangle.http issue is a bit beyond me though. Maybe check on firmware version?

    (Side note: has anyone considered having gps or gadgetbridge update mylocation once in a while? Or does that exist already?
    OpenWeatherMap does have an API to look up location name from lat/lon, so that could also fill in name too if needed.)

    {Update re mylocation: I found this thread. Searched GitHub for mylocation and didn't find anything that looked like auto-updates yet.}

  • I, unfortunately, didn't resolve my issue with OWMweather. I did successfully set up Weather with Quickweather, so have the correct weather for now.

    • @thinkpoop: I did use MyLocation previously and updated my location using the watch GPS and the app loader multiple times each (including after reset settings & factory reset), but still got the OWMweather error. I might have run that test before properly setting it.
    • @Ganblejs: One thing that I wasn't 100% clear on was whether OWMweather replaces Weather or if it simply provides it with info necessary to pull weather. Tried multiple configurations but just couldn't get the API to work.
    • I also wasn't sure if OWMweather requires the One Call plan on OWM or the basic free API. That said, I tried both and still got the HTTP error message.

    I hadn't previously made much of the Gadgetbridge support sites/images, which helped with the successful Weather pairing.

  • Interesting, OWMWeather checks if the location data file exists, but not if the location data itself is valid. So the question is, where does the broken mylocation.json come from? At a glance there is no way that could happen in the mylocation app code. To me it seems as if it always either sets both lat and long or nothing. Maybe the web interface needs additional checks before writing the file.

  • One thing that I wasn't 100% clear on was whether OWMweather replaces Weather or if it simply provides it with info necessary to pull weather.

    It is neither. OWMWeather pulls weather and writes the same file that Weather uses. You can use it without Weather installed. OWMWeather writes the file and other apps that use weather as written by the Weather app can use it. Weather does use it too and the apps should not conflict.

  • I had just done a lot of reinstalling, so however I lost longitude, it could have been a rare situation.

    Once in the past I had managed to save without picking a location. I think I entered a location in the search, saw it zoom in and didn't think to also put a pin.

  • For future reference: I accidentally recreated the Bangle.http issue today while reinstalling things. The fix in my case was to re-reinstall the Android Integration app.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Trouble syncing Weather

Posted by Avatar for sqrtltrtl7 @sqrtltrtl7

Actions