Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Formel als inputstring

    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

    Formel als inputstring

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

      Hallo, ich suche nach einer Möglichkeit, wie mir ein User eine Formel übergeben kann (meinem Adapter)
      Ich würde gerne eine frei definierbare Formel übergeben bekommen können, nicht vorgefertigte zur Auswahl stellen.
      Ich habe schon von „eval()“ gehört, aber das soll wohl da nicht so sicher sein, zum anderen würde ich gerne folgendes bezwecken:
      Ich habe intern quasi folgende Werte:
      Ergebnis => [100]
      AktuellerWert => [100]

      Dann soll eine formal übergeben werden können als bspw.

      „= E[0] + (A[0]/A[1])/2“
      

      Wie kann man dann den einzelnen Operanden die Werte zuweisen?

      Jemand eine Idee?

      paul53 OliverIO T 3 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Ben1983 last edited by

        @ben1983 sagte: eine Idee?

        Schau mal auf Function() constructor. Wird auch für die Alias-Konvertierung verwendet.

        1 Reply Last reply Reply Quote 1
        • OliverIO
          OliverIO @Ben1983 last edited by

          @ben1983

          ganz erschließt sich deine gewollte vorgehensweise noch nicht.
          du schreibst Aktueller Wert [100]
          in der Formel dann A[0] und A[1]
          wo kommen dann diese werte her?
          dann schreibst du was von ERgebnis und in der Formel dann E[0].
          hast du eine vorgegebene menge an input parameter, die man optional erfassen kann und die dann in entsprechende platzhalter in der beliebig eingebbaren formel einsetzen kann?
          Dein Beispiel ist nicht ganz ersichtlich.

          eval ist dann unsicher, wenn du beliebige Nutzer die du nicht kennst da dran lässt.
          wenn es bei dir zuhause ist, sind die nutzer mit bösen absichten nicht so zahlreich.
          aber ja, man kann da auch böse sachen eingeben.

          besser wäre es einen der vielen formelparsern zu nehmen:
          https://www.npmjs.com/search?q=formula parser
          da kannst mal durchschauen was deinen Anforderungen entspricht.

          Ben1983 1 Reply Last reply Reply Quote 0
          • T
            ticaki Developer @Ben1983 last edited by ticaki

            @ben1983

            Ich denke mal du suchst das hier: https://mathjs.org/docs/expressions/parsing.html

            @paul53
            Danke für den Link das hat mich schon die ganze zeit interessiert.

            1 Reply Last reply Reply Quote 0
            • Ben1983
              Ben1983 @OliverIO last edited by

              @oliverio ich möchte den User freie Formeln lassen. Das [100] und [0] sollte nur ein beliebiges Element eines Arrays darstellen.
              Aber das E sollte ein Platzhalter sein etc.
              Ich schaue mal auf den Link

              OliverIO 1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @Ben1983 last edited by

                @ben1983 sagte in Formel als inputstring:

                freie Formeln

                das hat bei solchen Dingen immer seine grenzen:

                • nur grundrechenarten
                • mathematische funktionen wie cos,sin,log,etc
                • komplexere funktionen wie integrale,etc.

                ein wenig muss man sich Gedanken machen was den frei bedeutet.
                Richtig frei wäre man mit einer kompletten Programmiersprache. aber das geht sicherlich zu weit. Aber auch dafür gäbe es eine Lösung (https://www.npmjs.com/package/isolated-vm bzw der vorgänger https://www.npmjs.com/package/@n8n/vm2 welcher auch vom javascript.adapter verwendet wird)

                1 Reply Last reply Reply Quote 1
                • Ben1983
                  Ben1983 last edited by

                  Je mehr ich darüber nachdenke um so mehr komme ich von dem Gedanken der wirklich frei vorgebbaren Formel ab.
                  Vielleicht ist das später wirklich nur nochmal als Adon zu sehen, aber in erster Linie erst einmal fest auswählbar mehr Formel in der Konfig besser.

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  460
                  Online

                  31.8k
                  Users

                  80.0k
                  Topics

                  1.3m
                  Posts

                  4
                  7
                  193
                  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