Sensor eintrag passt im Editor aber Studio code Server meckert

abend

warum meckert Studio Code Server rum ? im Editor passt alles

danke

Da der Studio Code Server den Kontext besser versteht und der File Editor nur die YAML Formatierung checkt.

Und die Einrückung stimmen, aber entity_id hat da nichts zu suchen.

guten morgen

.........aber entity_id hat da nichts zu suchen.

das heisst ?

was mir aufgefallen ist (der sonso ist ja nicht von mir )

Außerdem habe ich mir einen Helper definiert, der mir von 14 bis 23 Uhr die Werte des nächsten Tages (dann allerdings in grau zum Unterscheiden) anzeigt. Ab 24 Uhr sind dann das die aktuellen Werte - die Werte für den nächsten Tag sind noch nicht da und daher wird die Karte erst wieder um 14 Uhr (mit den dann neuen und verfügbaren Werten) angezeigt.

was passiert aber zwischen 23.00 und 24.00 Uhr ?

So könnte der Sensor aussehen. Zwischen 23 und 24 passiert nichts, weil die Zeit nicht definiert ist. Müsste dann entsprechend erweitert werden.

Sensor bis genau 23:00 Uhr

template:
  - sensor:
      - name: Display card between 14 and midnight
        state: >
          {% set ct = now().hour + now().minute/60 + now().second/3600 %}
          {{ 14 <= ct <= 23 }}

Sensor bis kleiner 24:00 Uhr

template:
  - sensor:
      - name: Display card between 14 and midnight
        state: >
          {% set ct = now().hour + now().minute/60 + now().second/3600 %}
          {{ 14 <= ct < 24 }}
1 „Gefällt mir“

gnau so hab ich es gemacht aber warum hat er nur bis 23 Uhr gemacht , ob das gewollt war ?

Kann ich dir nicht sagen, was der Hintergedanke war. Für was nutzt du den Sensor? Kannst ja einfach beide Varianten testen, die 24 sollte eigentlich so funktionieren und dann verschenkst du keine Zeit. :slight_smile:

das diese Karte aus und eingeblendet wird

type: conditional
conditions:
  - entity: sensor.display_card
    state: "True"
card:
  type: custom:apexcharts-card
  graph_span: 24h
  header:
    title: Energie Preis MORGEN
    show: true
    show_states: false
  span:
    start: day
    offset: +1day
  series:
    - entity: sensor.epex_spot_data_net_price
      type: column
      extend_to: end
      unit: ct/kWh
      float_precision: 3
      yaxis_id: preis
      group_by:
        func: avg
        duration: 1h
      color: grey
      show:
        in_header: before_now
        extremas: true
      data_generator: |
        return entity.attributes.data.map((entry) => {
          return [new Date(entry.start_time), entry.price_ct_per_kwh];
        });
  yaxis:
    - id: preis
      decimals: 0
      apex_config:
        title:
          text: ct/kWh
        tickAmount: 5
  apex_config:
    legend:
      show: false
    tooltip:
      x:
        show: true
        format: HH:00 - HH:59

Ja das sollte dann funktionieren. Zuerst muss du aber den Sensor umbenennen!

type: conditional
conditions:
  - entity: sensor.display_card
    state: "True"

Dein Sensor heißt aber display_card_between_14_and_midnight. Dann funktioniert die Card natürlich nicht. Ich würden den Sensor Name auf Display Card anpassen.

template:
  - sensor:
      - name: Display Card
        state: >
          {% set ct = now().hour + now().minute/60 + now().second/3600 %}
          {{ 14 <= ct < 24 }}

Die Preise die dann angezeigt werden, werden jede Minute aktualisiert, ist das wirklich notwendig? oder reicht auch halbstündlich oder stündlich? Wie oft werden die Preise von epey bereitgestellt?

1 „Gefällt mir“

hast Recht weil Awattar hat ja alle Stunden neue Preise die aber ab 14 Uhr für den nächsten Tag bereit gestellt werden

aber funktioniert hab das so in der Karte eingestellt

1 „Gefällt mir“

Dann kann man den Sensor schon einmal vereinfachen, so dass nur jede Stunde gecheckt wird.

template:
  - sensor:
      - name: Display Card
        state: >
          {{ now().hour >= 14 and now().hour < 24 }}

Teste das mal mit deiner Card zusammen.

1 „Gefällt mir“