Difference between revisions of "Infinitime-Weather"

From PINE64
Jump to navigation Jump to search
(Removed redirect to User:Kieranc/Infinitime-Weather)
Tag: Removed redirect
Line 11: Line 11:
Currently there are 2 ways to display weather data on the watch, a debug app  which is disabled by default, and the PineTimeStyle watchface.
Currently there are 2 ways to display weather data on the watch, a debug app  which is disabled by default, and the PineTimeStyle watchface.


TODO: Add details for enabling debug app
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:
 
<pre>
    case Apps::Navigation:
      //currentScreen = std::make_unique<Screens::Navigation>(this, systemTask->nimble().navigation());
      currentScreen = std::make_unique<Screens::Weather>(this, systemTask->nimble().weather());
      break;</pre>

Revision as of 20:32, 19 May 2023

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 Gadgetbridge and ITD have this functionality implemented. ITD is the easiest option as the feature simply needs enabling in the config file with a location specified. It uses MET.no data and provides one hour of data at a time. 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. There is currently (May 2023) a bug in the Pinetime implementation within Gadgetbridge which sets the expiry time to 5 minutes instead of the desired 6 hours, it should be resolved in the next available Gadgetbridge release.

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;