Wie rechne ich 2500 Minuten in Stunden und Restminuten um?

Sorry @HeikoBauer mein Fehler, das mit dem - Sensor habe ich schon gemacht. Das Zitat ist leider nicht der allerletzte Stand gewesen. Ich habe in meiner configuration.yaml vier Sensoren und nur vor dem ersten steht - sensor.

Hier der letzte Stand:

# PowerFox - zum Auslesen des Stromzählers für das Energieboard
template:
  - sensor:
      - name: "Strom-EG-aktuell"
        unit_of_measurement: "W"
        device_class: "power"
        state_class: "measurement"
        state: >
            {{ state_attr('sensor.poweropti', 'Watt') }}
      - name: "Strom-EG-Bezug"
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        state: >
            {{ state_attr('sensor.poweropti', 'A_Plus') }}

# Sensoren für die OZON und UV Karte #
      - name: "get hours UV Skin type 1 safe exposure time"
        unique_id: a8cbe757-8307-466e-a1d7-b582f4d0dceb
        icon: mdi:clock
        state: >
          {%- set given_hours = sensor.skin_type_1_safe_exposure_time -%}
          {%- set hours = (given_hours / 60) | int -%}
          {%- set minutes = ((given_hours % 60) ) | int %}
          {{ '%02d:%02d' | format(hours, minutes) }}

      - name: "Dobson-Umrechnung in mg-m3"
        unique_id: n7cbe863b582f4d0dceb
        icon: mdi:calculator-variant-outline
        state: >
          {% set dobson_value = sensor.current_ozone_level %}
          {% set conversion_factor = 2.6867e16 %}  {# Konversionsfaktor von DU zu µg/m³ #}
          {% set ug_per_m3 = dobson_value * conversion_factor %}
          Die Umrechnung von {{ dobson_value }} Dobson nach µg/m³ beträgt {{ ug_per_m3 }} µg/m³.

Ob mit oder ohne

- sensor:

Das ist egal.

Aaaaaber:

{%-

nicht.

Mach das Minus mal weg.

Hallo @anon90710413 ,
ich habe alle %- und -% korrigiert, HA komplett neu gestartet, leider keine Änderung. Immer noch “Nicht verfügbar”

Ich würde es so versuchen
{% set given_hours = states('sensor.skin_type_1_safe_exposure_time') %}
Beim zweiten Seonsor dann nach dem gleichen Schema.

Hallo @sirector beim ersten Versuch sieht das dann so aus. Der rote Bereich setzt sich in der Datei auch noch weiter nach unter fort.

Kannst du die auskommentierte Zeile mal bitte löschen?

Ich habe die alten Zeilen aus beiden Sensoren gelöscht, die neue angepasst und eingesetzt. Damit war die Fehlermeldung in der configuration.yaml weg. Das ganze sieht jetzt so aus:

# Sensoren für die OZON und UV Karte #
      - name: "get hours UV Skin type 1 safe exposure time"
        unique_id: a8cbe757-8307-466e-a1d7-b582f4d0dceb
        icon: mdi:clock
        state: >
          {% set given_hours = states('sensor.skin_type_1_safe_exposure_time') %}
          {% set hours = (given_hours / 60) | int %}
          {% set minutes = ((given_hours % 60) ) | int %}
          {{ '%02d:%02d' | format(hours, minutes) }}

      - name: "Dobson-Umrechnung in mg-m3"
        unique_id: n7cbe863b582f4d0dceb
        icon: mdi:calculator-variant-outline
        state: >
          {% set dobson_value = states('sensor.current_ozone_level') %}
          {% set conversion_factor = 2.6867e16 %}  {# Konversionsfaktor von DU zu µg/m³ #}
          {% set ug_per_m3 = dobson_value * conversion_factor %}
          Die Umrechnung von {{ dobson_value }} Dobson nach µg/m³ beträgt {{ ug_per_m3 }} µg/m³.

HA komplett neu gestartet, aber beide Entitäten geben auf dem Dashboard immer noch "Nicht verfügbar” aus.
Ich habe sicherheitshalber nochmal die für die Umrechnung liefernden Entitäten geprüft. Es sind auf jeden Fall die richtigen und aktuell kommen dort auch Werte rein.

Am Rande noch die Frage, wieso macht eine auskommentierte Zeile solche Probleme? Einen solchen Effekt kannte ich ja noch gar nicht.

Such mal nach den entities.

Bei mir hießen teilweise die template Sensoren.

sensor.usw

oder aber auch

sensor.template_usw

Warum, wieso, weshalb konnte ich nicht ermitteln. :frowning:

Ich bin dazu übergegangen ALLE template Sensoren mit

sensor.template_usw

zu benennen.

Somit hat man auch eine logische Trennung.

Zum Kernthema zurück, wahrscheinlich hast Du in Deinem Dashboard die flasche Entität.

Code ist aus meiner Sicht i.O…

Weil HA den Code darunter als falsch eingerückt erkennt. Keine Ahnung warum das so ist.

Hast du mal unter Entwicklerwerkzeuge - Zustände z. B. nach sensor.get_hours gesucht?

Ich habe mal alles zusammengestellt, was nach meiner Meinung Einfluss haben könnte

Zunächst mein Test Dashboard:

Das sind alle reinkommenden Entitäten:

  • sensor.current_ozone_level
  • sensor.current_uv_index
  • sensor.current_uv_level
  • sensor.max_uv_index
  • binary_sensor.protection_window
  • sensor.skin_type_1_safe_exposure_time
  • sensor.skin_type_2_safe_exposure_time
  • sensor.skin_type_3_safe_exposure_time
  • sensor.skin_type_4_safe_exposure_time
  • sensor.skin_type_5_safe_exposure_time
  • sensor.skin_type_6_safe_exposure_time

Die habe ich jetzt direkt aus der Integration “OpenUV” abgegriffen

Das ist der Code aus der ersten Anzeige auf dem Dashbord:

type: entity
entity: sensor.get_hours_uv_skin_type_1_safe_exposure_time

das, der aus dem zweiten Sensor

type: entity
entity: sensor.dobson_umrechnung_in_mg_m3

Ich finde da keinen Fehler. Ich war ja auch schon auf dem Trip, dass eine Entität ggf. falsch war.

@anon90710413 die Überlegung mit der eindeutigen Bezeichnung finde ich gut, aber das sollte doch eigentlich keinen Einfluss haben. Oder ist da HA etwas zickig?

Naja, wenn die Entität

sensor.template_get_hours_uv_skin_type_1_safe_exposure_time

heißt, Du aber im Dashboard

sensor.get_hours_uv_skin_type_1_safe_exposure_time

stehen hast, funktioniert das dann nicht.

Such mal unter Zustande in den Entwicklerwerkzeugen nach

get_hours

Wenn ich nach

get_hours

suche, wird mir

sensor.get_hours_uv_skin_type_1_safe_exposure_time

angezeigt

eine Entität mit dem Name:

sensor.template_get_hours_uv_skin_type_1_safe_exposure_time

kann ich nirgendwo finden

Da ist

friendly_name:

in dem Sensor. Das ist aber in Deinem template Sensor nicht drin. Das ist also nicht Dein oben geposteter Sensor.

Welchen Wert hat

sensor.skin_type_1_safe_exposure_time

?

EDITH: Setz auch mal die

unique_id:

in Gänsefüsschen.

Wieso benennst Du die ID so? Um sie nicht wiederzufinden? :smiley:

Benennungsvorschlag:

      - unique_id: netzwerkschrank_usv_verbrauch_gestern
        unit_of_measurement: "kWh"
        device_class: energy
        state: >
          {{ state_attr('sensor.power_netzwerkschrank_usv_daily','last_period') }}

Ich mache das so und benenne das dann nachher über die GUI. Dafür ist die ID ja da…

Keep it simple :wink:

Hast du das mal unter Entwicklerwerkzeuge - Template getestet?

{% set given_hours = states('sensor.skin_type_1_safe_exposure_time') %}
{% set hours = (given_hours / 60) | int %}
{% set minutes = ((given_hours % 60) ) | int %}
{{ '%02d:%02d' | format(hours, minutes) }}

Den Code habe ich nochmal im TEMPLET Bereich reinkopiert. Da wird mir aber immer noch nichts auf der rechten Seite angezeigt. Ich dachte das, das nicht so ausschlaggebend ist, da ich ja schon mal auf diesem Umstand hingewiesen

Da damals keine Bemerkung zu diesem Umstand kam, bin ich davon ausgegangen das da nicht immer ein Ergebnis ausgegeben wird, sondern das es wichtiger ist das keine Fehler im Code angemeckert werden.

Wenn du in einer ruhigen Stunden

Wie rechne ich 2500 Minuten in Stunden und Restminuten um?

und

Gibt es eine Möglichkeit HA “SI” Einheiten beizubringen

Durchstöberst, wirst du feststellen, dass ich mit meinen beiden Sensoren mit NULL Wissen gestartet bin. Dank der tollen Unterstützung aus der Community bin ich heute mit diesen bei Sensoren schon viel weiter als ich mir je erhofft habe. Aber leider noch nicht am Ziel.

Danke für die Hinweise mit der

unique_id:

die werde ich auf jeden Fall umsetzen. Ich hätte sowieso noch mal gefragt, was es mit der unique_id so auf sich hat und warum die so kryptisch ist. Muss ich eigentlich, wenn ich mehrere gleiche Sensoren nutzen will, für jeden eine unterschiedlich unique_id machen?

Der Sensor

sensor.skin_type_1_safe_exposure_time

hat den Wert “Minuten” der min. bis zu 5 Stellen sein kann

:crayon:by HarryP: Zusammenführung Doppelpost.

Ja, die unique_id muss unterschiedlich bzw. einmalig für jeden angelegten Sensor sein.

Sie wird benötigt, um die Sensoren über die GUI verwaltbar zu machen. Ohne unique_id kann man z.B. über die GUI nicht umbenennen oder das Icon ändern.

Ich vermute, dass die kryptische ID erzeugt wird, wenn man den Sensor über die GUI erstellt. Ich pflege das bei mir alles direkt über die yaml-Dateien, daher benenne ich mir die selbst.

Bei mir funktioniert Dein Sensor, ich habe keine Idee mehr, woran es hakt.

@anon90710413 , ich habe gerade nochmal mein TEMPLATE komplett gelehrt und die Sensoren exklusiv Eingesetz:

# Sensoren für die OZON und UV Karte #
      - name: "get hours UV Skin type 1 safe exposure time"
        unique_id: UV_Sonnenzeit_Level_1
        icon: mdi:clock
        state: >
          {% set given_hours = states('sensor.skin_type_1_safe_exposure_time') %}
          {% set hours = (given_hours / 60) | int %}
          {% set minutes = ((given_hours % 60) ) | int %}
          {{ '%02d:%02d' | format(hours, minutes) }}

      - name: "Dobson-Umrechnung in mg-m3"
        unique_id: OZON_Umrechnung_Dob_nach_mg_m3
        icon: mdi:calculator-variant-outline
        state: >
          {% set dobson_value = states('sensor.current_ozone_level') %}
          {% set conversion_factor = 2.6867e16 %}  {# Konversionsfaktor von DU zu µg/m³ #}
          {% set ug_per_m3 = dobson_value * conversion_factor %}
          Die Umrechnung von {{ dobson_value }} Dobson nach µg/m³ beträgt {{ ug_per_m3 }} µg/m³.

Jetzt hab e ich eine Fehlermeldung bekommen, die vielleicht weiter helfen kann.

TypeError: unsupported operand type(s) for /: ‘str’ and ‘int’

Versuche das mal so:

# Sensoren für die OZON und UV Karte #
      - name: "get hours UV Skin type 1 safe exposure time"
        unique_id: UV_Sonnenzeit_Level_1
        icon: mdi:clock
        state: >
          {% set given_hours = states('sensor.skin_type_1_safe_exposure_time') | float(0) %}
          {% set hours = (given_hours / 60) | int %}
          {% set minutes = ((given_hours % 60) ) | int %}
          {{ '%02d:%02d' | format(hours, minutes) }}

      - name: "Dobson-Umrechnung in mg-m3"
        unique_id: OZON_Umrechnung_Dob_nach_mg_m3
        icon: mdi:calculator-variant-outline
        state: >
          {% set dobson_value = states('sensor.current_ozone_level') | float(0) %}
          {% set conversion_factor = 2.6867e16 %}  {# Konversionsfaktor von DU zu µg/m³ #}
          {% set ug_per_m3 = dobson_value * conversion_factor %}
          Die Umrechnung von {{ dobson_value }} Dobson nach µg/m³ beträgt {{ ug_per_m3 }} µg/m³.

Ich würde es auch mit float(0) oder int versuchen

1 „Gefällt mir“

Das Ziel ist erreicht!! Es kommen Daten im Dashboard an !!

Bei dem Dobson Werten brauche ich nur nach die Formatierung. Die Ausgabe hab ich entsprechen reduziert.

          {{ ug_per_m3 }} µg/m³.

Dank euch alle die bei diesem Projekt Support gegeben haben!