Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. dynamische Textgröße möglich?

    NEWS

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    dynamische Textgröße möglich?

    This topic has been deleted. Only users with topic management privileges can see it.
    • U
      Ulli 0 last edited by Ulli 0

      Hallo zusammen,

      ich lasse mir in einem Textfeld die aktuelle Wettervorhersage darstellen.

      Die kann sehr kurz wie

      "Heiter, Höchsttemperatur 10°C"

      bis sehr lang

      "Regen. Früh örtlich starker Regenfall möglich. Tiefsttemperatur 7C. Wind aus WSW mit 15 bis 30 km/h und böig. Regenrisiko 90 %. Niederschlag ca. 6 mm. Schneeakkumulation 100cm"

      sein.

      Gibt es eine Möglichkeit, die Textgröße so einzustellen, dass der vorgegebene Rahmen des Widgets immer mit der größt möglichen Schriftgröße ausgefüllt wird?
      Bisher behelfe ich mir mit einem HTML Widget (welches ich irgendwo mal aufgeschnappt habe) und folgendem Wert. Damit werden aber nur zwei Fälle berücksichtigt: bei Textlänge < 100 ist die Schriftgröße 24px, bei größer 100 ist die Schriftgröße 13px. Geht das nicht auch irgendwie fließend?

      {wert:weatherunderground.0.forecastPeriod.0p.state;wert.length <100 ? "<div style='font-size: 24px'>"+wert+"</div>" :: "<div style='font-size: 13px'>"+wert+"</div>"}
      

      [
        {
          "tpl": "tplHtml",
          "data": {
            "bindings": [],
            "title": "{weatherunderground.0.forecastPeriod.0p.state;wert.length <13 ? \"<div style='font-size: 24px'>\"+wert+\"</div>\" :: \"<div style='font-size: 10px'>\"+wert+\"</div>\"}",
            "html": "{wert:weatherunderground.0.forecastPeriod.0p.state;wert.length <100 ? \"<div style='font-size: 24px'>\"+wert+\"</div>\" :: \"<div style='font-size: 13px'>\"+wert+\"</div>\"}",
            "refreshInterval": null,
            "g_common": true,
            "g_css_font_text": true
          },
          "style": {
            "bindings": [],
            "left": "13px",
            "top": "147px",
            "width": "194.994px",
            "height": "112.977px",
            "color": "rgba(39,37,37,1)",
            "text-align": "inherit"
          },
          "widgetSet": "basic",
          "_id": "i000001"
        }
      ]
      

      liv-in-sky 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Ulli 0 last edited by

        @ulli-0

        grob und schnell zusammengestellt:

        {wert:0_userdata.0.CONTROL-OWN.AAATEST.TestZahl2;wert <=30 ? "24px": wert >=100 ? "13px" : String(Math.round((-0.16*wert)+28.7))+"px" }
        

        kleiner gleich 30 ist der wert 24
        größer gleich 100 ist der wert 13
        dazwischen ist eine lineare funktion

        U 1 Reply Last reply Reply Quote 0
        • U
          Ulli 0 @liv-in-sky last edited by Ulli 0

          @liv-in-sky

          Vielen lieben Dank!

          Bei mir ging es mit deinem Code leider nicht. Dein Code auf mein Objekt angepasst sollte ja dann so aussehen oder?

          {wert:weatherunderground.0.forecastPeriod.0p.state;wert <=30 ? "24px": wert >=100 ? "13px" : String(Math.round((-0.16*wert)+28.7))+"px" }
          

          Im Ergebnis steht bei mir dann "NaNPx":
          2024-02-10 13_43_47-Clipboard.png

          Ohne wirklich zu wissen, was ich da tue, habe ich deinen Berechnungsteil String(Math.round((-0.16*wert)+28.7)) in meine ursprüngliche Formel eingepflanzt. So scheint es zu funktionieren - aber vllt. kannst du da nochmal drüber schauen?! 🙂

          {wert:weatherunderground.0.forecastPeriod.0p.state;wert <100 ? "<div style='font-size: 17px'>"+wert+"</div>" :: "<div style='font-size: String(Math.round((-0.16*wert)+28.7))px'>"+wert+"</div>"}
          
          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          858
          Online

          32.1k
          Users

          80.8k
          Topics

          1.3m
          Posts

          2
          3
          237
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo