Infinitime-Weather

From PINE64
Revision as of 04:52, 12 August 2023 by Infintile (talk | contribs) (Add article to PineTime category, separate ITD and Gadgetbridge and add links, and remove outdated gadgetbridge issue.)
Jump to navigation Jump to search

Infinitime features a weather subsystem which stores weather data on the watch in a timeline which can be queried by apps or watchfaces. It can store many different types of data (see here) and each entry includes a timestamp and an expiry time. When entries expire they are removed from the timeline automatically.

Sending weather data to the watch

Weather data must be sent to the watch via a companion app. Currently, ITD and Gadgetbridge have this functionality implemented.

ITD

ITD is the easiest option as the feature simply needs enabling in the config file with a location specified. It uses data from MET.no and provides one hour of data at a time.

Gadgetbridge

Gadgetbridge is slightly more difficult to set up as it requires a separate app to fetch the weather data. Details are available on the Gadgetbridge wiki.

Displaying weather data

Currently there are 2 ways to display weather data on the watch, a debug app which is disabled by default, and the PineTimeStyle watchface.

The easiest way to enable the debug app is to change the entry for the navigation app in DisplayApp.cpp to load the weather debug app instead:

    case Apps::Navigation:
      //currentScreen = std::make_unique<Screens::Navigation>(this, systemTask->nimble().navigation());
      currentScreen = std::make_unique<Screens::Weather>(this, systemTask->nimble().weather());
      break;