Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Datenpukte Skalieren

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    481

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    396

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    980

Datenpukte Skalieren

Geplant Angeheftet Gesperrt Verschoben Visualisierung
7 Beiträge 2 Kommentatoren 841 Aufrufe 3 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • C Offline
    C Offline
    Cybersurver
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen.

    So langsam verzweifel ich...
    Seit Taggen google und suche ich nach einer vernünftigen Möglichkeit ein E/A-Feld zum Datenpunkt zu skalieren (umzurechnen).

    Hört sich recht einfach an, aus der Eingabe 1,0 den Wert 60000 zu übergeben, aber trotzdem nur 1,0 anzuzeigen, scheint aber mit VIS nicht so ohne zu sein.

    Scheinbar geht soetwas über Alias-Datenpunkte
    oder bearbeitung des RAW
    oder über Script
    oder über HTML (mein favorit)
    oder 2 Felder und das input ist versteckt/durchsichtig

    was wäre euere best-practice hierfür?
    Bitte die Ausführung etwas beschreiben.

    Danke und Gruß

    mickymM 1 Antwort Letzte Antwort
    0
    • C Cybersurver

      Hallo zusammen.

      So langsam verzweifel ich...
      Seit Taggen google und suche ich nach einer vernünftigen Möglichkeit ein E/A-Feld zum Datenpunkt zu skalieren (umzurechnen).

      Hört sich recht einfach an, aus der Eingabe 1,0 den Wert 60000 zu übergeben, aber trotzdem nur 1,0 anzuzeigen, scheint aber mit VIS nicht so ohne zu sein.

      Scheinbar geht soetwas über Alias-Datenpunkte
      oder bearbeitung des RAW
      oder über Script
      oder über HTML (mein favorit)
      oder 2 Felder und das input ist versteckt/durchsichtig

      was wäre euere best-practice hierfür?
      Bitte die Ausführung etwas beschreiben.

      Danke und Gruß

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      @cybersurver Na Du ja nicht beschrieben, wie die Eingabe aussehen soll - also zum Beispiel zwischen 0 und 1.

      Wenn die Anzeige max. 1 sein soll - dann ist der Wert aus Gründen der Sichtbarkeit doch irrelevant. Dann kannst doch einfach über Alias oder Skript diesen Wert mit 60000 multiplizieren und das wars dann. Wahrscheinlich habe ich das nicht verstanden?

      Über einen Alias geht das auch easy:

      {
        "type": "state",
        "common": {
          "name": "skalierung",
          "role": "state",
          "type": "number",
          "read": true,
          "write": true,
          "alias": {
            "id": "0_userdata.0.skalierung",
            "read": "val/60000",
            "write": "val*60000"
          }
        },
        "_id": "alias.0.Skalierung.skalierung",
        "native": {},
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1630921833869,
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      

      In dem Aliaspunkt sind die Werte von 0-1 also aus der VIS. Im eigentlichen Datenpunkt - hier exemplarisch unter userdata die Werte zwischen 0 und 60000. Je nachdem was man verändert, ändert sich im Counterpart der Wert.

      21d1a336-f250-4bdd-91c0-6c49160246f7-image.png

      Man kann auch direkt über die Bindings Rechenoperationen durchführen:

      6251669a-e82f-4f2a-a913-c3aedf2c7ab0-image.png

      ergibt dann in der Anzeige:

      b81a83de-6bc7-4fca-a3fb-972812aa4e9d-image.png

      Für die Eingabe ist halt das Problem, dass das Widget selbst die Skalierung können muss und das hängt vom Widget ab, aber mit einem Datenpunkt geht das meines Erachtens.

      In Kombination mit einem Slider ist dann mit dem Alias folgendes möglich:

      d2791470-e719-4279-92e5-630246bd95db-image.png

      56774b82-a336-408b-b659-83c2fcf6949a-image.png

      während im userdata der Wert linear skaliert steht.

      31333994-486e-4013-a548-f859bfd3cc65-image.png

      In dem Fall ändert sich der angezeigte Wert und der Slider auch automatisch, wenn man unter Userdata den Quellwert entsprechend verändert.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      C 3 Antworten Letzte Antwort
      0
      • mickymM mickym

        @cybersurver Na Du ja nicht beschrieben, wie die Eingabe aussehen soll - also zum Beispiel zwischen 0 und 1.

        Wenn die Anzeige max. 1 sein soll - dann ist der Wert aus Gründen der Sichtbarkeit doch irrelevant. Dann kannst doch einfach über Alias oder Skript diesen Wert mit 60000 multiplizieren und das wars dann. Wahrscheinlich habe ich das nicht verstanden?

        Über einen Alias geht das auch easy:

        {
          "type": "state",
          "common": {
            "name": "skalierung",
            "role": "state",
            "type": "number",
            "read": true,
            "write": true,
            "alias": {
              "id": "0_userdata.0.skalierung",
              "read": "val/60000",
              "write": "val*60000"
            }
          },
          "_id": "alias.0.Skalierung.skalierung",
          "native": {},
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1630921833869,
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          }
        }
        

        In dem Aliaspunkt sind die Werte von 0-1 also aus der VIS. Im eigentlichen Datenpunkt - hier exemplarisch unter userdata die Werte zwischen 0 und 60000. Je nachdem was man verändert, ändert sich im Counterpart der Wert.

        21d1a336-f250-4bdd-91c0-6c49160246f7-image.png

        Man kann auch direkt über die Bindings Rechenoperationen durchführen:

        6251669a-e82f-4f2a-a913-c3aedf2c7ab0-image.png

        ergibt dann in der Anzeige:

        b81a83de-6bc7-4fca-a3fb-972812aa4e9d-image.png

        Für die Eingabe ist halt das Problem, dass das Widget selbst die Skalierung können muss und das hängt vom Widget ab, aber mit einem Datenpunkt geht das meines Erachtens.

        In Kombination mit einem Slider ist dann mit dem Alias folgendes möglich:

        d2791470-e719-4279-92e5-630246bd95db-image.png

        56774b82-a336-408b-b659-83c2fcf6949a-image.png

        während im userdata der Wert linear skaliert steht.

        31333994-486e-4013-a548-f859bfd3cc65-image.png

        In dem Fall ändert sich der angezeigte Wert und der Slider auch automatisch, wenn man unter Userdata den Quellwert entsprechend verändert.

        C Offline
        C Offline
        Cybersurver
        schrieb am zuletzt editiert von
        #3

        @mickym
        Danke für deine Antwort.

        Die Eingabe wäre komfortabelsten mit einer NKS von 0.0 bis 99.9
        Dieser wert muss dann mit 60000 (Millisekunden) multipliziert werden, so das dann Minuten raus kommen.
        Umgekehrt kommt z.B. ein Wert von 120000 vom
        Datenpunkt und dann sollte 2.0 (oder 2,0) im Feld stehen.

        1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @cybersurver Na Du ja nicht beschrieben, wie die Eingabe aussehen soll - also zum Beispiel zwischen 0 und 1.

          Wenn die Anzeige max. 1 sein soll - dann ist der Wert aus Gründen der Sichtbarkeit doch irrelevant. Dann kannst doch einfach über Alias oder Skript diesen Wert mit 60000 multiplizieren und das wars dann. Wahrscheinlich habe ich das nicht verstanden?

          Über einen Alias geht das auch easy:

          {
            "type": "state",
            "common": {
              "name": "skalierung",
              "role": "state",
              "type": "number",
              "read": true,
              "write": true,
              "alias": {
                "id": "0_userdata.0.skalierung",
                "read": "val/60000",
                "write": "val*60000"
              }
            },
            "_id": "alias.0.Skalierung.skalierung",
            "native": {},
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1630921833869,
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            }
          }
          

          In dem Aliaspunkt sind die Werte von 0-1 also aus der VIS. Im eigentlichen Datenpunkt - hier exemplarisch unter userdata die Werte zwischen 0 und 60000. Je nachdem was man verändert, ändert sich im Counterpart der Wert.

          21d1a336-f250-4bdd-91c0-6c49160246f7-image.png

          Man kann auch direkt über die Bindings Rechenoperationen durchführen:

          6251669a-e82f-4f2a-a913-c3aedf2c7ab0-image.png

          ergibt dann in der Anzeige:

          b81a83de-6bc7-4fca-a3fb-972812aa4e9d-image.png

          Für die Eingabe ist halt das Problem, dass das Widget selbst die Skalierung können muss und das hängt vom Widget ab, aber mit einem Datenpunkt geht das meines Erachtens.

          In Kombination mit einem Slider ist dann mit dem Alias folgendes möglich:

          d2791470-e719-4279-92e5-630246bd95db-image.png

          56774b82-a336-408b-b659-83c2fcf6949a-image.png

          während im userdata der Wert linear skaliert steht.

          31333994-486e-4013-a548-f859bfd3cc65-image.png

          In dem Fall ändert sich der angezeigte Wert und der Slider auch automatisch, wenn man unter Userdata den Quellwert entsprechend verändert.

          C Offline
          C Offline
          Cybersurver
          schrieb am zuletzt editiert von
          #4

          @mickym
          Danke für deine Antwort.

          Die Eingabe wäre komfortabelsten mit einer NKS von 0.0 bis 99.9
          Dieser wert muss dann mit 60000 (Millisekunden) multipliziert werden, so das dann Minuten raus kommen.
          Umgekehrt kommt z.B. ein Wert von 120000 vom
          Datenpunkt und dann sollte 2.0 (oder 2,0) im Feld stehen.

          1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @cybersurver Na Du ja nicht beschrieben, wie die Eingabe aussehen soll - also zum Beispiel zwischen 0 und 1.

            Wenn die Anzeige max. 1 sein soll - dann ist der Wert aus Gründen der Sichtbarkeit doch irrelevant. Dann kannst doch einfach über Alias oder Skript diesen Wert mit 60000 multiplizieren und das wars dann. Wahrscheinlich habe ich das nicht verstanden?

            Über einen Alias geht das auch easy:

            {
              "type": "state",
              "common": {
                "name": "skalierung",
                "role": "state",
                "type": "number",
                "read": true,
                "write": true,
                "alias": {
                  "id": "0_userdata.0.skalierung",
                  "read": "val/60000",
                  "write": "val*60000"
                }
              },
              "_id": "alias.0.Skalierung.skalierung",
              "native": {},
              "from": "system.adapter.admin.0",
              "user": "system.user.admin",
              "ts": 1630921833869,
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              }
            }
            

            In dem Aliaspunkt sind die Werte von 0-1 also aus der VIS. Im eigentlichen Datenpunkt - hier exemplarisch unter userdata die Werte zwischen 0 und 60000. Je nachdem was man verändert, ändert sich im Counterpart der Wert.

            21d1a336-f250-4bdd-91c0-6c49160246f7-image.png

            Man kann auch direkt über die Bindings Rechenoperationen durchführen:

            6251669a-e82f-4f2a-a913-c3aedf2c7ab0-image.png

            ergibt dann in der Anzeige:

            b81a83de-6bc7-4fca-a3fb-972812aa4e9d-image.png

            Für die Eingabe ist halt das Problem, dass das Widget selbst die Skalierung können muss und das hängt vom Widget ab, aber mit einem Datenpunkt geht das meines Erachtens.

            In Kombination mit einem Slider ist dann mit dem Alias folgendes möglich:

            d2791470-e719-4279-92e5-630246bd95db-image.png

            56774b82-a336-408b-b659-83c2fcf6949a-image.png

            während im userdata der Wert linear skaliert steht.

            31333994-486e-4013-a548-f859bfd3cc65-image.png

            In dem Fall ändert sich der angezeigte Wert und der Slider auch automatisch, wenn man unter Userdata den Quellwert entsprechend verändert.

            C Offline
            C Offline
            Cybersurver
            schrieb am zuletzt editiert von
            #5

            @mickym
            Danke für deine Antwort.

            Die Eingabe wäre komfortabelsten mit einer NKS von 0.0 bis 99.9
            Dieser wert muss dann mit 60000 (Millisekunden) multipliziert werden, so das dann Minuten raus kommen.
            Umgekehrt kommt z.B. ein Wert von 120000 vom
            Datenpunkt und dann sollte 2.0 (oder 2,0) im Feld stehen.

            mickymM 1 Antwort Letzte Antwort
            0
            • C Cybersurver

              @mickym
              Danke für deine Antwort.

              Die Eingabe wäre komfortabelsten mit einer NKS von 0.0 bis 99.9
              Dieser wert muss dann mit 60000 (Millisekunden) multipliziert werden, so das dann Minuten raus kommen.
              Umgekehrt kommt z.B. ein Wert von 120000 vom
              Datenpunkt und dann sollte 2.0 (oder 2,0) im Feld stehen.

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #6

              @cybersurver Nun die Formel passen doch bereits bei der Alias Definition. Welchen Wert Du über VIS in den Alias schreibst ist doch Dir über lassen. Die Multiplikation bzw. Division durch 60000 gibt immer den Minutenwert im Alias und umgekehrt.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              C 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @cybersurver Nun die Formel passen doch bereits bei der Alias Definition. Welchen Wert Du über VIS in den Alias schreibst ist doch Dir über lassen. Die Multiplikation bzw. Division durch 60000 gibt immer den Minutenwert im Alias und umgekehrt.

                C Offline
                C Offline
                Cybersurver
                schrieb am zuletzt editiert von
                #7

                @mickym

                Nun hab mich ich ganz vergessen mich bei Dir zu bedanken!
                Ich habe es über den Adapter „Alias-Manager“ umgesetzt, welcher aber scheinbar nichts anderes im RAW macht, als Du in deiner
                ersten Antwort gezeigt hast.
                Somit läuft und nochmals Danke!

                1 Antwort Letzte Antwort
                0

                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                Registrieren Anmelden
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                346

                Online

                32.8k

                Benutzer

                82.8k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe