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. Blockly
  5. lookup Table?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

lookup Table?

Geplant Angeheftet Gesperrt Verschoben Blockly
34 Beiträge 6 Kommentatoren 2.6k Aufrufe 4 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.
  • paul53P paul53

    @bernd33-1 sagte: y = 4E-19x5 - 3E-14x4 + 1E-09x3 - 1E-05x2 + 0,0984x + 0,2186

    Die 4. und 5. Potenz kann man sicherlich vernachlässigen.

    B Offline
    B Offline
    bernd33-1
    schrieb am zuletzt editiert von bernd33-1
    #19

    @paul53 Gerade im unteren Bereich schmiegt sich die Funktion aber noch etwas besser an die Messwerte an, wenn ich die 4. und 5. dazu nehme.

    Ich werde es testen. Sollte der RasPi 4 überlastet werden, kann ich das ja wieder reduzieren ;-)

    1 Antwort Letzte Antwort
    0
    • mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #20

      Wie gesagt ich mag kein Blockly - das war nur mal ein Versuch. Wenn man das mit einer mathematischen Funktion abbilden kann, ist das natürlich sicher am Besten, aber das ging halt aus dem ursprünglichen Posting nicht hervor, sodass ich davon ausgegangen bin, dass die Schritte willkürlich sind.

      @Codierknecht
      Ja das mit dem i als Wert anstelle des Index ist blöd (aber war von blockly so vorgegeben, da dachte ich dass Blockly Fans daran gewöhnt sind)

      Ich wusste erst nicht, wie man in Blockly Schleifen abbricht - aber habs gefunden:

      93bb2592-e199-4d49-8d6d-751fd8eeef26-image.png

      Aber - hat sich ja inzwischen erledigt, da das ganze nun mathematisch gelöst wird.

      War wie gesagt nur mal ein kleiner Ausflug von mir in die Blockly Welt. ;)

      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.

      CodierknechtC 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        Wie gesagt ich mag kein Blockly - das war nur mal ein Versuch. Wenn man das mit einer mathematischen Funktion abbilden kann, ist das natürlich sicher am Besten, aber das ging halt aus dem ursprünglichen Posting nicht hervor, sodass ich davon ausgegangen bin, dass die Schritte willkürlich sind.

        @Codierknecht
        Ja das mit dem i als Wert anstelle des Index ist blöd (aber war von blockly so vorgegeben, da dachte ich dass Blockly Fans daran gewöhnt sind)

        Ich wusste erst nicht, wie man in Blockly Schleifen abbricht - aber habs gefunden:

        93bb2592-e199-4d49-8d6d-751fd8eeef26-image.png

        Aber - hat sich ja inzwischen erledigt, da das ganze nun mathematisch gelöst wird.

        War wie gesagt nur mal ein kleiner Ausflug von mir in die Blockly Welt. ;)

        CodierknechtC Online
        CodierknechtC Online
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von
        #21

        Mögen tu ich das auch nicht. Alleine die Eindeutschung ist mir ein Graus.
        Aber da ich JS nicht so runterschreibe wie andere Sprachen, ist das in der Regel der einfachste Weg.

        @mickym sagte in lookup Table?:

        das mit dem i als Wert anstelle des Index ist blöd (aber war von blockly so vorgegeben, da dachte ich dass Blockly Fans daran gewöhnt sind)

        Man assoziiert halt damit auf den ersten Blick eine Laufvariable ... funktionieren tut's ja trotzdem

        Aber - hat sich ja inzwischen erledigt, da das ganze nun mathematisch gelöst wird.

        Gut, denn in dem Blockly wird ja jetzt bereits beim ersten Treffer abgebrochen ;-)
        Könnte man umgehen indem man die Listen andersrum aufsetzt.

        Egal - wenn's mathematisch zu lösen ist: Um so besser.
        Ich würde die Berechnung in eine Funktion mit sprechendem Namen auslagern. Liest sich dann am besten.
        Und in der Funktion entsprechend dokumentieren WARUM das so berechnet wird. Das weiß sonst nach kurzer Zeit kein Mensch mehr ;-)

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        1 Antwort Letzte Antwort
        0
        • ArmilarA Armilar

          @bernd33-1

          Die erste Antwort ist ja - kann man. Mit dem Matheblock (E = exponential).

          09f96bac-b1e7-426c-8b41-6edf2a9a7375-image.png

          Etwa so. Habe mal den ersten Term (ungetestet) abgebildet.

          B Offline
          B Offline
          bernd33-1
          schrieb am zuletzt editiert von
          #22

          @armilar said in lookup Table?:

          @bernd33-1

          Die erste Antwort ist ja - kann man. Mit dem Matheblock (E = exponential).

          09f96bac-b1e7-426c-8b41-6edf2a9a7375-image.png

          Etwa so. Habe mal den ersten Term (ungetestet) abgebildet.

          Ähm...sorry... ich versuche das gerade zusammen zu klicken und sehe da ganz innen drin in deinem Beispiel:

          ..... WATT x e^5 .....

          In der Excelformel steht aber glaube ich nur:
          .... WATT ^5 ....

          oder? Wenn ja, wie kann ich in Blockly z.B. 3^6 formulieren? Ich such mir da einen Wolf.... hat jemand einen Tipp?

          B 1 Antwort Letzte Antwort
          0
          • B bernd33-1

            @armilar said in lookup Table?:

            @bernd33-1

            Die erste Antwort ist ja - kann man. Mit dem Matheblock (E = exponential).

            09f96bac-b1e7-426c-8b41-6edf2a9a7375-image.png

            Etwa so. Habe mal den ersten Term (ungetestet) abgebildet.

            Ähm...sorry... ich versuche das gerade zusammen zu klicken und sehe da ganz innen drin in deinem Beispiel:

            ..... WATT x e^5 .....

            In der Excelformel steht aber glaube ich nur:
            .... WATT ^5 ....

            oder? Wenn ja, wie kann ich in Blockly z.B. 3^6 formulieren? Ich such mir da einen Wolf.... hat jemand einen Tipp?

            B Offline
            B Offline
            bernd33-1
            schrieb am zuletzt editiert von
            #23

            @bernd33-1 ok... ich hab die Potenz gefunden... wie blind kann man sein :face_palm: :face_with_rolling_eyes:

            B 1 Antwort Letzte Antwort
            0
            • B bernd33-1

              @bernd33-1 ok... ich hab die Potenz gefunden... wie blind kann man sein :face_palm: :face_with_rolling_eyes:

              B Offline
              B Offline
              bernd33-1
              schrieb am zuletzt editiert von
              #24

              @bernd33-1 hmmm.... diese Formel hat ja Excel ausgegeben:

              eab45d74-19e7-405d-a962-75bb802fced5-image.png

              Dann ist dies doch das selbe oder?

              y = 4e-19x^5 - 3e-14x^4 +e-9x^3 -e-5x^2 + 0,0984x +0,2186

              Das sieht optisch aber mega komisch aus und wenn ich diese Gleichung in einen online Funktionsplotter eingebe, dann kommt Kurve raus, die auf der Y-Achse quasi senkrecht nach oben schießt.

              Schreibe ich das so um, dass es wenigstens optisch besser aussieht:

              y = 4e^(-19x^5)-3e^(-14x^4)+e^(-9x^3)-e^(-5x^2)+0.0984x+0.2186

              Dann kommt im Online Funktionsplotter https://www.mathe-fa.de/de auch nur Müll raus.

              Hat jemand einen Tipp, wo ich den Fehler mache?

              paul53P 1 Antwort Letzte Antwort
              0
              • B bernd33-1

                @bernd33-1 hmmm.... diese Formel hat ja Excel ausgegeben:

                eab45d74-19e7-405d-a962-75bb802fced5-image.png

                Dann ist dies doch das selbe oder?

                y = 4e-19x^5 - 3e-14x^4 +e-9x^3 -e-5x^2 + 0,0984x +0,2186

                Das sieht optisch aber mega komisch aus und wenn ich diese Gleichung in einen online Funktionsplotter eingebe, dann kommt Kurve raus, die auf der Y-Achse quasi senkrecht nach oben schießt.

                Schreibe ich das so um, dass es wenigstens optisch besser aussieht:

                y = 4e^(-19x^5)-3e^(-14x^4)+e^(-9x^3)-e^(-5x^2)+0.0984x+0.2186

                Dann kommt im Online Funktionsplotter https://www.mathe-fa.de/de auch nur Müll raus.

                Hat jemand einen Tipp, wo ich den Fehler mache?

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

                @bernd33-1
                Ich vermute, dass die Formel so aussehen muss:

                y = 0.2186 + 0.0984 * x - 10^-5 * x^2 + 10^-9 * x^3 - 3 * 10^-14 * x^4 + 4 * 10^-19 * x^5
                

                wobei mich mich die glatten Faktoren ab x² wundern.
                Allgemein sieht ein Näherungs-Polynom so aus:

                y = a + b * x + c * x^2 + d * x^3  ...
                

                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

                B 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @bernd33-1
                  Ich vermute, dass die Formel so aussehen muss:

                  y = 0.2186 + 0.0984 * x - 10^-5 * x^2 + 10^-9 * x^3 - 3 * 10^-14 * x^4 + 4 * 10^-19 * x^5
                  

                  wobei mich mich die glatten Faktoren ab x² wundern.
                  Allgemein sieht ein Näherungs-Polynom so aus:

                  y = a + b * x + c * x^2 + d * x^3  ...
                  
                  B Offline
                  B Offline
                  bernd33-1
                  schrieb am zuletzt editiert von
                  #26

                  @paul53 said in lookup Table?:

                  0.2186 + 0.0984 * x - 10^-5 * x^2 + 10^-9 * x^3 - 3 * 10^-14 * x^4 + 4 * 10^-19 * x^5

                  Ne, wenn ich das in den Funktionsplotter eingebe, dann sind die Y-Werte viel zu hoch.

                  Kann es sein, dass Excel da ein Problem hat???

                  Hier meine Zahlenwerte mal zum copy pasten. Vielleicht hat ja jemand Lust da ein Auge drauf zu werfen :face_with_rolling_eyes:

                  500 53
                  600 56
                  700 61
                  800 67
                  900 72
                  1000 78
                  2000 160
                  2250 167
                  2500 174
                  2600 177
                  2750 181
                  3000 185
                  3500 225
                  4000 231
                  5000 246
                  6000 263
                  7000 278
                  8000 294
                  9000 312
                  10000 334
                  11000 354
                  13000 381
                  14000 404
                  15000 429
                  16000 465
                  17000 497
                  18000 525
                  19000 558
                  20000 588
                  25000 739

                  1 Antwort Letzte Antwort
                  0
                  • B Offline
                    B Offline
                    bernd33-1
                    schrieb am zuletzt editiert von bernd33-1
                    #27

                    Ok, nachdem das mit Excel und Trendlinie nicht klappt, habe ich den Vorschlag von @mickym aufgegriffen und mach das nun mit einer Liste. Hier das Blockly:

                    aa936f89-7262-4d89-b283-9a1a6e4a6473-image.png

                    Klappt ganz gut :+1: :blush:

                    Der Stromzähler sagt, wieviel Strom gerade aus dem Netz bezogen wird. Zu diesem Wert addiere ich dazu, wieviel Strom der Sun 1000 bereits einspeist. Damit weis ich den "neuen" Gesamtverbrauch und kann den SUN 1000 entsprechend einstellen. PERFEKT!
                    Ich hab noch eine Begrenzung eingebaut, da ich nicht möchte, dass der Sun 1000 mehr als 700W (DAC-Wert 24000) einspeist.

                    Vielen lieben Dank an alle für die Unterstützung!

                    Grüße, Bernd

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • B bernd33-1

                      Ok, nachdem das mit Excel und Trendlinie nicht klappt, habe ich den Vorschlag von @mickym aufgegriffen und mach das nun mit einer Liste. Hier das Blockly:

                      aa936f89-7262-4d89-b283-9a1a6e4a6473-image.png

                      Klappt ganz gut :+1: :blush:

                      Der Stromzähler sagt, wieviel Strom gerade aus dem Netz bezogen wird. Zu diesem Wert addiere ich dazu, wieviel Strom der Sun 1000 bereits einspeist. Damit weis ich den "neuen" Gesamtverbrauch und kann den SUN 1000 entsprechend einstellen. PERFEKT!
                      Ich hab noch eine Begrenzung eingebaut, da ich nicht möchte, dass der Sun 1000 mehr als 700W (DAC-Wert 24000) einspeist.

                      Vielen lieben Dank an alle für die Unterstützung!

                      Grüße, Bernd

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

                      @bernd33-1 Ich hatte hier noch eine Version, wobei die Schleife abgebrochen wird, wenn der letzte gültige Wert gefunden wurde:

                      https://forum.iobroker.net/post/887492

                      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.

                      B 1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @bernd33-1 Ich hatte hier noch eine Version, wobei die Schleife abgebrochen wird, wenn der letzte gültige Wert gefunden wurde:

                        https://forum.iobroker.net/post/887492

                        B Offline
                        B Offline
                        bernd33-1
                        schrieb am zuletzt editiert von
                        #29

                        @mickym said in lookup Table?:

                        @bernd33-1 Ich hatte hier noch eine Version, wobei die Schleife abgebrochen wird, wenn der letzte gültige Wert gefunden wurde:

                        https://forum.iobroker.net/post/887492

                        Ups...stimmt :-) aber ich war grad so happy, dass das jetzt so easy funktioniert, dass ich den Post einfach "raushauen musste" :-)

                        Kleine Frage noch: Da kommen immer Java Warnings. Was könnte das sein?
                        86ff2900-3a29-433b-abff-914a8be17b49-image.png

                        Grüße, Bernd

                        mickymM paul53P 2 Antworten Letzte Antwort
                        0
                        • B bernd33-1

                          @mickym said in lookup Table?:

                          @bernd33-1 Ich hatte hier noch eine Version, wobei die Schleife abgebrochen wird, wenn der letzte gültige Wert gefunden wurde:

                          https://forum.iobroker.net/post/887492

                          Ups...stimmt :-) aber ich war grad so happy, dass das jetzt so easy funktioniert, dass ich den Post einfach "raushauen musste" :-)

                          Kleine Frage noch: Da kommen immer Java Warnings. Was könnte das sein?
                          86ff2900-3a29-433b-abff-914a8be17b49-image.png

                          Grüße, Bernd

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

                          @bernd33-1 Bei der warnung kann ich Dir nicht viel helfen - wie gesagt ich nutze das JS ja sonst nicht. Vielleicht schaust mal in den JS Code des Blocklies, was da in Zeile 26 steht.

                          Dieses Teil kannst Du Dir in meinen Augen sparen:

                          532c464a-4a2c-4270-84b1-c304c8b6932d-image.png

                          Wenn Du in deiner Liste einfach den Wert 25000 durch 24000 ersetzt, wird max. 24000 rauskommen - auch wenn als Watt mehr als 739 rauskommen.

                          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.

                          B 1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            @bernd33-1 Bei der warnung kann ich Dir nicht viel helfen - wie gesagt ich nutze das JS ja sonst nicht. Vielleicht schaust mal in den JS Code des Blocklies, was da in Zeile 26 steht.

                            Dieses Teil kannst Du Dir in meinen Augen sparen:

                            532c464a-4a2c-4270-84b1-c304c8b6932d-image.png

                            Wenn Du in deiner Liste einfach den Wert 25000 durch 24000 ersetzt, wird max. 24000 rauskommen - auch wenn als Watt mehr als 739 rauskommen.

                            B Offline
                            B Offline
                            bernd33-1
                            schrieb am zuletzt editiert von
                            #31

                            @mickym Ich lass mal die Begrenzung mit 24000 so drin. Vielleicht will ich im Sommer, wenn ich viel Strom zur Verfügung hab die Grenze weiter nach oben setzen. Oder vielleicht eine Variable Begrenzung je nach Akku-Ladestatus....

                            Die obigen Warnings kommen in dieser Java-Zeile:

                            setState("mqtt.0.sun1000esp.number.dac_number.command"/*sun1000esp/number/dac_number/command*/, parseFloat(neuer_DAC_Wert));
                            
                            mickymM 1 Antwort Letzte Antwort
                            0
                            • B bernd33-1

                              @mickym said in lookup Table?:

                              @bernd33-1 Ich hatte hier noch eine Version, wobei die Schleife abgebrochen wird, wenn der letzte gültige Wert gefunden wurde:

                              https://forum.iobroker.net/post/887492

                              Ups...stimmt :-) aber ich war grad so happy, dass das jetzt so easy funktioniert, dass ich den Post einfach "raushauen musste" :-)

                              Kleine Frage noch: Da kommen immer Java Warnings. Was könnte das sein?
                              86ff2900-3a29-433b-abff-914a8be17b49-image.png

                              Grüße, Bernd

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

                              @bernd33-1 sagte: Java Warnings. Was könnte das sein?

                              Im Tab "Protokolle" findet man weitere Informationen zur Warnung.
                              Vermutung: Der Datenpunkt ist nicht vom Typ "number".

                              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

                              B 1 Antwort Letzte Antwort
                              0
                              • B bernd33-1

                                @mickym Ich lass mal die Begrenzung mit 24000 so drin. Vielleicht will ich im Sommer, wenn ich viel Strom zur Verfügung hab die Grenze weiter nach oben setzen. Oder vielleicht eine Variable Begrenzung je nach Akku-Ladestatus....

                                Die obigen Warnings kommen in dieser Java-Zeile:

                                setState("mqtt.0.sun1000esp.number.dac_number.command"/*sun1000esp/number/dac_number/command*/, parseFloat(neuer_DAC_Wert));
                                
                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von
                                #33

                                @bernd33-1 Ok - dann scheint, dass aus dem letzten Befehl zu kommen, wo Du mit "steuere" in den Datenpunkt des mqtt-Adapters schreibst.

                                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.

                                1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @bernd33-1 sagte: Java Warnings. Was könnte das sein?

                                  Im Tab "Protokolle" findet man weitere Informationen zur Warnung.
                                  Vermutung: Der Datenpunkt ist nicht vom Typ "number".

                                  B Offline
                                  B Offline
                                  bernd33-1
                                  schrieb am zuletzt editiert von
                                  #34

                                  @paul53 said in lookup Table?:

                                  @bernd33-1 sagte: Java Warnings. Was könnte das sein?

                                  Im Tab "Protokolle" findet man weitere Informationen zur Warnung.
                                  Vermutung: Der Datenpunkt ist nicht vom Typ "number".

                                  :face_palm: Jo...das war es:

                                  You are assigning a number to the state "mqtt.0.sun1000esp.number.dac_number.command" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.
                                  
                                  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

                                  317

                                  Online

                                  32.7k

                                  Benutzer

                                  82.4k

                                  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