Why are my labels not updating in GlanceView?

Hello,

I am a newbie with the Connect IQ SDK and currently trying to implement my first GlanceView into my App.

I currently have the following code:

using Toybox.WatchUi as Ui;
using Toybox.Graphics as Gfx;
using Toybox.Application as App;
using Toybox.Lang as Lang;

(:glance)
class garmin_wetterstationGlanceView extends Ui.GlanceView {
  var myTimer;
  var windSpeedLabel, tempLabel, windDirLabel;

  function initialize() {
    GlanceView.initialize();
    myTimer = new Timer.Timer();
    myTimer.start(method(:makeRequestGlance), 10000, true);

    makeRequestGlance();
  }
  function onUpdate(dc) {
    if (windDirLabel == null || tempLabel == null || windDirLabel == null) {
      windDirLabel = new WatchUi.Text({
        :text => "N/A",
        :color => Graphics.COLOR_WHITE,
        :font => Graphics.FONT_XTINY,
        :locX => 120,
        :locY => 0,
      });
      tempLabel = new WatchUi.Text({
        :text => "N/A °C",
        :color => Graphics.COLOR_WHITE,
        :font => Graphics.FONT_XTINY,
        :locX => 10,
        :locY => 40,
      });
      windSpeedLabel = new WatchUi.Text({
        :text => "N/A km/h",
        :color => Graphics.COLOR_WHITE,
        :font => Graphics.FONT_XTINY,
        :locX => 120,
        :locY => 40,
      });
    }
    tempLabel.draw(dc);
    windSpeedLabel.draw(dc);
    windDirLabel.draw(dc);
    dc.setColor(Gfx.COLOR_WHITE, Gfx.COLOR_BLACK);
    dc.drawRectangle(0, 0, dc.getWidth(), dc.getHeight());
  }
  function onHide() {}
  public function onReceiveGlance(
    responseCode as Lang.Number,
    data as Lang.Dictionary<Lang.String, Lang.Object?> or Lang.String or Null
  ) as Void {
    if (responseCode == 200) {
      var degree = "°C";

      var dataObj = data["data"];

      var outdoor = dataObj["outdoor"];
      var rainfall = dataObj["rainfall"];
      var wind = dataObj["wind"];
      var oTemp = outdoor["temperature"]["value"] + degree;
      var windSpeed = wind["wind_gust"]["value"] + " km/h";
      var windDirectionRaw = wind["wind_direction"]["value"].toNumber();
      var windDirection = "N/A";
      var directionArray = ["N", "NO", "O", "SO", "S", "SW", "W", "NW"];
      windDirection =
        directionArray[Math.round((windDirectionRaw * 8) / 360).toNumber()];

      windDirLabel = new WatchUi.Text({
        :text => windDirection,
        :color => Graphics.COLOR_WHITE,
        :font => Graphics.FONT_XTINY,
        :locX => 120,
        :locY => 0,
      });
      tempLabel = new WatchUi.Text({
        :text => oTemp,
        :color => Graphics.COLOR_WHITE,
        :font => Graphics.FONT_XTINY,
        :locX => 10,
        :locY => 40,
      });
      windSpeedLabel = new WatchUi.Text({
        :text => windSpeed,
        :color => Graphics.COLOR_WHITE,
        :font => Graphics.FONT_XTINY,
        :locX => 120,
        :locY => 40,
      });
      System.print(oTemp);
    } else {
      System.print("Error " + responseCode);
    }
  }
  function makeRequestGlance() as Void {
    if (System.getDeviceSettings().phoneConnected) {
      var url = Application.Properties.getValue("url"); // set the url
      //System.println(url);
      var params = {
        // set the parameters
        "application_key" => Application.Properties.getValue("appkey"),
        "api_key" => Application.Properties.getValue("apikey"),
        "mac" => Application.Properties.getValue("stationMAC"),
        "call_back" => "all",
        "temp_unitid" => 1,
        "wind_speed_unitid" => 7,
        "rainfall_unitid" => 12,
      };

      var options = {
        // set the options
        :method => Communications.HTTP_REQUEST_METHOD_GET, // set HTTP method
        :headers => {
          // set headers
        },
        // set response type
        :responseType => Communications.HTTP_RESPONSE_CONTENT_TYPE_JSON,
      };
      //System.println(options);
      // onReceive() method
      // Make the Communications.makeWebRequest() call
      Communications.makeWebRequest(
        url,
        params,
        options,
        method(:onReceiveGlance)
      );
    } else {
      onReceiveGlance(-1, "ERR");
    }
  }
}

However, the data in my Glance isn't updated despite my HTTP request running properly (verified using System.println).

Did I do something wrong and if yes, what?

Best Regards

Aaron Eisele