Ausgabeformat von Zahlen

Forum Forum Schnelle Frage Ausgabeformat von Zahlen

  • Dieses Thema hat 22 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 1 Monat von maxnomo.
Ansicht von 22 Antwort-Themen
  • Autor
    Beiträge
    • #2691
      maxnomo
      Teilnehmer

      Hallo, bin am verzweifeln. Ich möchte Zahlen FIX mit ZWEI  Nachkommastellen angeben.

      mit ………………. states.sensor.energy_quarterhour_pfx0_a_minus.attributes[„last_period“] | float / 250 ) | round(2) }}‘

      bekomme ich zwar die richtigen Zahlen angezeigt, aber wenn der Zufall will, auch mal nur 1 Nachkommastelle.

      Wie fixiere ich diese Stellenzahl ?

       

    • #2697
      Osorkon
      Teilnehmer

      Versuchsmal mit:

      {{ "%.2f" | format(state_attr('sensor.energy_quarterhour_pfx0_a_minus', 'last_period') /250 | float | round(2)) }}

       

      Du willst ja nicht nur auf 2 Stellen Runden, sondern auch die 2 letzen stellen anzeigen, auch wen die letze eine 0 ist.

    • #2711
      maxnomo
      Teilnehmer

      @Osorkon: habs probiert, leider „Nicht verfügbar“ als Wertanzeige…

      Hat noch jemand ne andere Idee ?

    • #2712
      Osorkon
      Teilnehmer

      leider „Nicht verfügbar“ als Wertanzeige…

      Also bei mir fusioniert es?! Sicher, dass Du kein Syntax Fehler drin hast?

      CFDB3E13-7AA9-4C99-B2AC-62D2E3679980

    • #2716
      maxnomo
      Teilnehmer

      Hallo,

       

      das ist mein komplette Eingabe:

      # Anzeige Quartals-Stunde Energie
      # ———————————————-
      powerfx0_qh_a_min:
      friendly_name_template: „PV-Produktion_q“
      # ALT:   value_template: ‚{{ (states.sensor.energy_quarterhour_pfx0_a_minus.attributes[„last_period“] | float / 250 ) | round(2) }}‘
      value_template: >
      {{ „%.2f“ | format(state_attr(’sensor.energy_quarterhour_pfx0_a_minus‘, ‚last_period‘) /250 | float | round(2)) }}
      unit_of_measurement: ‚kWh‘
      icon_template: mdi:counter
      #

       

      Wo ist der  Fehler ?!?!?

       

       

    • #2717
      Osorkon
      Teilnehmer

      Wo ist der  Fehler ?!?!?

      Es wäre einfacher, wenn Du es als Code formatieren würdest. 😉

    • #2721
      maxnomo
      Teilnehmer

      versteh dich nicht. Was heisst das ?

      Grüsse

       

    • #2723
      Osorkon
      Teilnehmer

      Wo ist der  Fehler ?!?!?

      Du hast eine Unmenge an syntax Fehler drin.

      • Anführungszeichen unten anstatt oben
      • falsche Hochkomma’s

      So sollt der code für einen template Sensor ausschauen (sensor.yaml)

      - platform: template
        sensors:
          powerfx0_qh_a_min:
            friendly_name: PV-Produktion_q
            value_template: >-
              {{ "%.2f" | format(state_attr('sensor.energy_quarterhour_pfx0_a_minus', 'last_period') / 250 | float | round(2)) }}
            icon_template: mdi:counter
            unit_of_measurement: kWh

      oder wenn direkt in der configuration.yaml, dann so

      sensor:
        - platform: template
          sensors:
            powerfx0_qh_a_min:
              friendly_name: PV-Produktion_q
              value_template: >-
                {{ "%.2f" | format(state_attr('sensor.energy_quarterhour_pfx0_a_minus', 'last_period') / 250 | float | round(2)) }}
              icon_template: mdi:counter
              unit_of_measurement: kWh

       

    • #2724
      maxnomo
      Teilnehmer
      <code class="language-markup-templating">#   Anzeige Quartals-Stunde Energie 
      # ----------------------------------------------
            powerfx0_qh_a_min:
              friendly_name_template: "PV-Produktion_q"
              value_template: >
                   {{ "%.2f" | format(state_attr('sensor.energy_quarterhour_pfx0_a_minus', 'last_period') /250 | float | round(2)) }}
              unit_of_measurement: 'kWh'
              icon_template: mdi:counter
      #

      So, hab nun versucht mittels CODE das Copy Paste zu machen..

      Im vorigen COPY-Paste waren die Hochkommas zu Tief-Kommas geworden etc.

      Auch naochmals as Screenshot s.u.

      Anhänge:
    • #2726
      Osorkon
      Teilnehmer

      Auch naochmals as Screenshot s.u.

      Ist das ein Screenshot aus der configuration.yaml oder der Sensor.yaml?

      In beiden Fällen fehlt im Code einiges, wen Du mein Code zum Vergleich nimmst?

       

      Es ist ja nicht so, dass es nur reine Theorie wäre.

      Habe den Sensor bei mir nachgebaut, lediglich Deine Entität durch einer meiner Entitäten ausgetauscht. Und es funktioniert?!

       

    • #2727
      maxnomo
      Teilnehmer

      Hi,

      der Screenshot war aus Configuration.YAML

      Da oben noch einige Sensoren stehen, ist sensors:  nicht kopiert worden. Ich seh ausser dem kleinen Unterschied, dass in der Zeile value_template nach dem > ein – kommt und der anderen Einrückung keinen Unterschied.

      Hab aber deinen Vorschlag ausprobiert und es ändert sich aber nichts.

      Dass dieses YAML es sehr genau nimmt, hab ich ja kapiert, ich seh aber wirklich keinen Unterschied. ich sende mal die ganze YAML als Anhang.

      Und irgend ein gscheites Turorial im Netz über diese Syntax find ich nicht…

      Danke für deine Geduld.

       

      Anhänge:
    • #2729
      Osorkon
      Teilnehmer

      Hab aber deinen Vorschlag ausprobiert und es ändert sich aber nichts.

      Was änderst sich den nicht?. Bekommst Du nach „Konfiguration Prüfen“ eine Fehlermeldung?

      Hast du nach Änderungen im Code Neuladen der template-Entitäten ausgeführt?

       

      Ob der Template Teil funktioniert, kannst du auch im Bereich Entwicklungswerkzeuge -> Template, einfach testen.

      Dort einfach den Teil {{ ….. }} eingeben.

      siehst dann ob ein Wert ausgegeben wird, oder ein Fehler.

       

      • Diese Antwort wurde geändert vor 1 Monat, 1 Woche von Osorkon.
    • #2731
      maxnomo
      Teilnehmer

      Hab das obere Beispiel im Template-Editor (vielen Dank für den Tip, kannte ich noch nicht) getestet mit foldendem Ergebnis:

      {{ "%.2f" | format(5 | float |round(2)) }} --> 5
      {{ 5 | float |round(2) }} --> 5

      in beiden Fällen keine Nachkommastellen…

       

      • Diese Antwort wurde geändert vor 1 Monat, 1 Woche von maxnomo.
    • #2733
      maxnomo
      Teilnehmer

      hab inzwischen auch die PHYTON Doc hierzu gefunden: https://docs.python.org/3/library/functions.html#round

      Die rounden immer nur mit dem Ziel Nachkommastellen abzuschneiden, aber nie FIXE Nachkommastellen zu haben…

       

    • #2734
      Osorkon
      Teilnehmer

      n beiden Fällen keine Nachkommastellen…

      Ich weiss wirklich nicht, was ich falsch mache?! 🤷‍♂️

      Bildschirmfoto-2021-05-08-um-12.17.08

    • #2737
      maxnomo
      Teilnehmer
      <code class="language-markup-templating">
      version: core-2021.4.6
      installation_type: Home Assistant OS
      dev: false
      hassio: true
      docker: true
      virtualenv: false
      python_version: 3.8.7
      os_name: Linux
      os_version: 5.4.83-v8
      arch: aarch64
      timezone: Europe/Berlin
      
      
      GitHub API: ok
      Github API Calls Remaining: 5000
      Installed Version: 1.12.3
      Stage: running
      Available Repositories: 776
      Installed Repositories: 6
      
      
      logged_in: false
      can_reach_cert_server: ok
      can_reach_cloud_auth: ok
      can_reach_cloud: ok
      
      
      host_os: Home Assistant OS 5.13
      update_channel: stable
      supervisor_version: supervisor-2021.04.3
      docker_version: 19.03.15
      disk_total: 13.9 GB
      disk_used: 3.6 GB
      healthy: true
      supported: true
      board: rpi3-64
      supervisor_api: ok
      version_api: ok
      installed_addons: Check Home Assistant configuration (3.7.1), File editor (5.3.0), SSH & Web Terminal (8.2.1), Terminal & SSH (9.1.1), Duck DNS (1.12.5)
      
      
      dashboards: 1
      resources: 0
      views: 2
      mode: storage

       

    • #2738
      maxnomo
      Teilnehmer

      das ist meine Systemconfig über Einstellungen -> Info

      Unterscheidet die sich von Deiner ?

    • #2739
      Osorkon
      Teilnehmer

      Unterscheidet die sich von Deiner ?

      Ein wenig.

      System Health
      
      version: core-2021.5.0
      installation_type: Home Assistant OS
      dev: false
      hassio: true
      docker: true
      virtualenv: false
      python_version: 3.8.9
      os_name: Linux
      os_version: 5.4.83-v8
      arch: aarch64
      timezone: Europe/Berlin
      
      
      GitHub API: ok
      Github API Calls Remaining: 5000
      Installed Version: 1.12.3
      Stage: running
      Available Repositories: 777
      Installed Repositories: 20
      
      
      logged_in: true
      subscription_expiration: 17. Mai 2021, 2:00
      relayer_connected: true
      remote_enabled: true
      remote_connected: true
      alexa_enabled: false
      google_enabled: false
      can_reach_cert_server: ok
      can_reach_cloud_auth: ok
      can_reach_cloud: ok
      
      
      host_os: Home Assistant OS 5.13
      update_channel: stable
      supervisor_version: supervisor-2021.04.3
      docker_version: 19.03.15
      disk_total: 228.5 GB
      disk_used: 15.9 GB
      healthy: true
      supported: true
      board: rpi4-64
      supervisor_api: ok
      version_api: ok
      installed_addons: Samba share (9.3.1), Terminal & SSH (9.1.1), Mosquitto broker (5.1.1), Grafana (6.3.3), deCONZ (6.8.0), Log Viewer (0.11.0), Visual Studio Code (3.3.1), Check Home Assistant configuration (3.7.1), MariaDB (2.3.0), Nginx Proxy Manager (0.11.0), Node-RED (9.0.1)
      
      
      dashboards: 5
      resources: 14
      views: 28
      mode: storage
      
      
      		
      	
    • #2792
      maxnomo
      Teilnehmer

      Habe auf

      –> Version core-2021.   5.1

      Supervisor Version supervisor-2021.   04.3

      Betriebssystem Home Assistant OS   5.13

       

      upgedatet aber kein Erfolg mit den FIXEN Nachkommastellen.

      Der Round- bzw Formatierungsbefehl kann nur abschneiden, aber aus 5 nicht 5,00 machen.

      Schade. Auch in der Python Doku find ich nichts..

      Dann lebe ich eben damit…

       

    • #2793
      Osorkon
      Teilnehmer

      Der Round- bzw Formatierungsbefehl kann nur abschneiden, aber aus 5 nicht 5,00 machen.

      Anscheinend kann er das nur bei Dir nicht?!

      Schon eine seltsame Geschichte. 🤷‍♂️

    • #2794
      Osorkon
      Teilnehmer

      Das ist wirklich verrückt.

      Hast Du im template editor nur diese eine Zeile

      {{ "%.2f" | format(5 | float |round(2)) }}

      Ist das Ergebnis = 5

      Hast DU dagegen noch weiter Zeilen im template editor oder einen String

      Ahhhh: {{ "%.2f" | format(5 | float |round(2)) }}

      Ist das Ergebnis = 5.00

      5 wird als Zahl ausgegeben

      und 5.00 als string

      Sieht also so aus, dass man bei einer Zahl nicht die Nachkommastellen mit nullen auffüllen kann.



      @maxnomo
      Nehme alles zurück und behaupte das Gegenteil. 😀😜

       

    • #2795
      Osorkon
      Teilnehmer

      Wenn es Dich nicht stört, dass der Wert als String ausgegeben wird.

      Kannst Du z.B. die kWh am ende anhängen.

      {{ "%.2f" | format(5)  }} kWh

      Bildschirmfoto-2021-05-10-um-19.05.27

    • #2803
      maxnomo
      Teilnehmer

      Hallo,

      der Core wurde heute auf 5.2 upgedated und Problem ist immer noch dasselbe…

      Dann leb ich damit…

Ansicht von 22 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.