Aktuelle Stunde in REST-Sensor implementieren

Wie kann ich eine feste Zahl (hier die Stunde 9) durch die Stundenvariable (%H) ersetzen. Einstellige Zahl darf auch nicht mit einer Null beginnen.

Damit kann der aktuelle dynamisch Strompreis von Tibber abgerufen werden.

rest:
  - resource: "https://tibber.com/de/api/lookup/price-overview?postalCode=21339"
    sensor:
      - name: "tibber_price_incl_VAT2"
        value_template: "{{ value_json.energy.todayHours.9.priceIncludingVat }}"
        state_class: "measurement"
        unit_of_measurement: "€/kWh"
        json_attributes_path: "$.energy.todayHours[9]"
        json_attributes:
          - "hour"
          - "date"

Kapier ich nicht. '%H' spuckt doch gerade führende Nullen aus, wenn die Zeit vor 10 ist.

Das ist ja sein Problem.
%H sagt “09” er braucht aber “9”.

1 „Gefällt mir“

Ja, wenn ich “09” einsetze, funktioniert es nicht. Bei einstelligen Zahlen “9” funktioniert es.

Daher weiß ich nicht, ob ich “%H” noch vorher die führende Null entfernen muss. Und was muss dann anstatt der Zahl dort stehen. Bzw. kann ich in eine Automation stündlich die Zahl hochcounten und abfragen?

Fehlermeldung:
Invalid config for ‘rest’ at configuration.yaml, line 110: invalid template (TemplateSyntaxError: expected token ‘end of print statement’, got ‘integer’) for dictionary value ‘rest->0->sensor->0->value_template’, got ‘{{ value_json.energy.todayHours.07.priceIncludingVat }}’

Ich hab die Frage genau andersrum verstanden. Wenn ich den Sensor erstelle, erhalte ich:

Unter:
https://tibber.com/de/api/lookup/price-overview?postalCode=69123
erhält man alle Strompreise (24 Stück) für den heutigen Tag.
Ich möchte daraus den aktuellen für diese Stunde mir rausholen. Dazu muss die Stunde angegeben werden. (<10 einstellig).

Aua, ich hatte Tomaten auf den Augen, das ist ja hartkodiert. Ok, also beim state kann ich dir helfen:

value_template: "{{ value_json.energy.todayHours[now().hour].priceIncludingVat }}"

Mit der Verwendung von json_attributes_path kenn ich mich nicht aus, hab ich nie benutzt.

1 „Gefällt mir“

Wow, super!! Hat funktioniert.
Die gleiche Schreibweise habe ich unten auch verwendet und der Update zum Stundenwechsel hat automatisch geklappt.
Vielen, vielen Dank.

rest:
  - resource: "https://tibber.com/de/api/lookup/price-overview?postalCode=21339"
    sensor:
      - name: "tibber_price_incl_VAT2"
        unique_id: "tibber_price_incl_VAT2"
        value_template: "{{ value_json.energy.todayHours[now().hour].priceIncludingVat }}"
        state_class: "measurement"
        unit_of_measurement: "€/kWh"
        json_attributes_path: "$.energy.todayHours[now().hour]."
        json_attributes:
          - "hour"
          - "date"