Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Skripten / Logik
  4. JavaScript
  5. Formel als inputstring

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    943

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Formel als inputstring

Geplant Angeheftet Gesperrt Verschoben JavaScript
7 Beiträge 4 Kommentatoren 207 Aufrufe 2 Watching
  • Ä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.
  • Ben1983B Offline
    Ben1983B Offline
    Ben1983
    schrieb am zuletzt editiert von
    #1

    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?

    paul53P OliverIOO T 3 Antworten Letzte Antwort
    0
    • Ben1983B Ben1983

      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?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @ben1983 sagte: eine Idee?

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

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      1
      • Ben1983B Ben1983

        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?

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #3

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

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        Ben1983B 1 Antwort Letzte Antwort
        0
        • Ben1983B Ben1983

          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?

          T Offline
          T Offline
          ticaki
          schrieb am zuletzt editiert von ticaki
          #4

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

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          1 Antwort Letzte Antwort
          0
          • OliverIOO OliverIO

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

            Ben1983B Offline
            Ben1983B Offline
            Ben1983
            schrieb am zuletzt editiert von
            #5

            @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

            OliverIOO 1 Antwort Letzte Antwort
            0
            • Ben1983B Ben1983

              @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

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #6

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

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              1 Antwort Letzte Antwort
              1
              • Ben1983B Offline
                Ben1983B Offline
                Ben1983
                schrieb am zuletzt editiert von
                #7

                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 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                516

                Online

                32.6k

                Benutzer

                82.2k

                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