HA Entity ohne entsprechende Einheit in Homey

Ich habe in HA eine Entity die mir die Restdruckzeit meines 3D-Druckers formatiert und Tage, Stunden, Minuten dranhängt. Leider bekomme ich in Homey nur die Zahlen ausgegeben ohne Zeiteinheit. Ich möchte mir das auf meinem Ulanzi anzeigen lassen aber ohne Zeiteinheit bringt das ja nix. Hat jemand einen Denkanstoß für mich?

Hier der Code in HA:

sensor:
  - platform: template
    sensors:
      x1c_verbleibende_zeit_formatiert:
        friendly_name: "Verbleibende Zeit Formatiert"
        value_template: >
          {% set minutes = states('sensor.x1c_verbleibende_zeit') | int %}
          {% set days = (minutes // 1440) %}
          {% set hours = (minutes % 1440) // 60 %}
          {% set mins = (minutes % 60) %}

          {% if days > 0 %}
            {{ days }} Tag{% if days > 1 %}e{% endif %}, {{ hours }} Stunde{% if hours != 1 %}n{% endif %}
          {% elif hours > 0 %}
            {{ hours }} Stunde{% if hours != 1 %}n{% endif %}, {{ mins }} Minute{% if mins != 1 %}n{% endif %}
          {% else %}
            {{ mins }} Minute{% if mins != 1 %}n{% endif %}
          {% endif %}

Dann gib uns doch bitte noch ein paar mehr Infos…z.B. wie du die Entity nach Homey bekommst.

Die Entity bekomme ich per Home Assistant Community Plugin nach Homey und importiere Sie dann als Sensor.

Habe es hinbekommen. Der Sensorwert in HA liefert Sekunden, welche in einem Flow mit Homey Script formatiert in eine Variable geschrieben werden.

Bspw. Sensorwert liefert: 3420
Ergebnis nach Script: Verbleibende Zeit: 57 Minuten

Bei einem Sensor-Gerät übernimmt die App die Einheit von HA. Die Capability wird anhand der Geräteklasse oder alternativ über die Einheut bestimmt. Ist nichts vorhanden, dann wird in Homey eine generische numerische Capability verwendet (ohne Einheit).

Für deine Entity würde ich folgendes vorschlagen:

  • Custom device verwenden
  • Dann im Repair-View die Entity hinzufügen.
  • Dabei die gewünschte Einheit und Bezeichnung angeben
  • In der Converter-Routine kannst du den HA-Wert auch per JavaScript in Minuten konvertieren

Damit hast du alles in deinem Gerät und brauchst kein HomeyScript oder Variablen mehr.

1 Like

Auch cool. Danke für den Tipp. Werde ich mir mal merken. Aktuell funktioniert es sehr gut und ich denke, ich bleibe dabei. Oder gibt es einen massiven Vorteil in deiner Lösung, abseits der Einfachheit?

Die gesamte Logik steckt dann in dem HA-Gerät bzw. den Eigenschaften der Capability. Du brauchst also weder Flow, HScript noch Variablen. Und du hast sogar FlowTrigger verfügbar, also (fast) so wie bei einem Sensor-Gerät.

1 Like