Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Datenpukte Skalieren

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Datenpukte Skalieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Cybersurver last edited by

      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ß

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Cybersurver last edited by 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 3 Replies Last reply Reply Quote 0
        • C
          Cybersurver @mickym last edited by

          @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 Reply Last reply Reply Quote 0
          • C
            Cybersurver @mickym last edited by

            @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 Reply Last reply Reply Quote 0
            • C
              Cybersurver @mickym last edited by

              @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.

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Cybersurver last edited by

                @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 1 Reply Last reply Reply Quote 0
                • C
                  Cybersurver @mickym last edited by

                  @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 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  917
                  Online

                  31.9k
                  Users

                  80.3k
                  Topics

                  1.3m
                  Posts

                  2
                  7
                  660
                  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