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.
  • ArmilarA Armilar

    @codierknecht

    Ich hatte die Lösung von @mickym ebenfalls im Auge, es soll aber nicht ein Wert aus der Tabelle genommen werden, sondern anscheinend eine Näherung zum nächsten DAC erfolgen. Somit wäre die Lösung mit der Schleife am Ende noch nicht fertig. Anhand welcher Werte soll denn jetzt die Näherung auf die vollen hunderter-Schritte erfolgen?

    Wenn man sich die Tabelle ansieht, entdeckt man sehr schnell, dass Watt und DAC linear in einer Beziehung stehen. Somit wäre statt der Schleife auch ein einfacher Dreisatz möglich. Dann müsste aber ebenfalls eine Näherung (Rundung) auf den nächsten DAC erfolgen.

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

    @armilar
    er prüft "Watt" ja auf "<" und nimmt dann den Wert aus "DAC".
    Wenn der nächste dann größer oder gleich ist, bleibt der zuletzt gelesene korrespondierende Wert und wird am Ende übergeben.
    OK, man könnte dann auch gleich die Schleife abbrechen, aber bei so wenigen Werten fällt da die unnötige Laufzeit wohl kaum ins Gewicht.

    Aber das mit dem Dreisatz klingt interessant. Gibt's vielleicht sogar eine Formel, mit der man anhand von "W" den Wert für "DAC" berechnen kann?
    Schlagt mich, aber ich habe keine Ahnung was "DAC" sein soll ;-)

    "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

    ArmilarA 1 Antwort Letzte Antwort
    0
    • CodierknechtC Codierknecht

      @armilar
      er prüft "Watt" ja auf "<" und nimmt dann den Wert aus "DAC".
      Wenn der nächste dann größer oder gleich ist, bleibt der zuletzt gelesene korrespondierende Wert und wird am Ende übergeben.
      OK, man könnte dann auch gleich die Schleife abbrechen, aber bei so wenigen Werten fällt da die unnötige Laufzeit wohl kaum ins Gewicht.

      Aber das mit dem Dreisatz klingt interessant. Gibt's vielleicht sogar eine Formel, mit der man anhand von "W" den Wert für "DAC" berechnen kann?
      Schlagt mich, aber ich habe keine Ahnung was "DAC" sein soll ;-)

      ArmilarA Offline
      ArmilarA Offline
      Armilar
      Most Active Forum Testing
      schrieb am zuletzt editiert von Armilar
      #9

      @codierknecht sagte in lookup Table?:

      Schlagt mich, aber ich habe keine Ahnung was "DAC" sein soll

      Ich auch nicht. Wahrscheinlich ein Regler mit festen Werten, kann es aber auch nicht beantworten.

      Wenn du die den höchsten Wert heraussuchst, dann dürfe DAC = Watt * 2250/167 einen ähnliches Ergebis mit einer Zeile Code und ohne Listen und Schleifen liefern. Die Frage ist, ob der DAC auch abweichend von 50er Schritten (1er) erfolgen darf?

      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
      https://github.com/joBr99/nspanel-lovelace-ui/wiki

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

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

        Jungs, Ihr seid so gut :clap: :blush: Vielen Dank erst mal für euren Support!

        Also, die Tabelle ist eigentlich deutlich länger und leider nicht linear.
        fdb8528d-65ee-4790-a53c-04479c4b0673-image.png

        Hintergrund: Der IOBroker kennt meinen aktuellen Stromverbrauch von meinem Stromzähler (Datenpunkt vorhanden). Nun soll mein Solar Wechselrichter (Sun gti 1000) immer nur so viel Strom in mein Hausnetz einspeisen, wie ich gerade verbrauche. Leider kann ich meinem Wechselrichter nicht sagen "Speise jetzt 153 Watt ein" sondern ich kann ihm nur einen DAC-Wert übergeben. Daher die Tabelle. Leider ist das ganze auch nicht linear :face_with_rolling_eyes:

        Obiger Screenshot zeigt die Zusammenhänge. Gerade im unteren Bereich ist keine Linearität gegeben und Nachts hält man sich genau in diesem Bereich auf. Dieser Bereich muss also berücksichtigt werden.

        Ich werde eure Lösungen einfach mal umsetzen und schauen, was für mich am besten passt.

        Und nochmal: Vielen Dank!

        Grüße, Bernd

        CodierknechtC ArmilarA 3 Antworten Letzte Antwort
        0
        • B bernd33-1

          Jungs, Ihr seid so gut :clap: :blush: Vielen Dank erst mal für euren Support!

          Also, die Tabelle ist eigentlich deutlich länger und leider nicht linear.
          fdb8528d-65ee-4790-a53c-04479c4b0673-image.png

          Hintergrund: Der IOBroker kennt meinen aktuellen Stromverbrauch von meinem Stromzähler (Datenpunkt vorhanden). Nun soll mein Solar Wechselrichter (Sun gti 1000) immer nur so viel Strom in mein Hausnetz einspeisen, wie ich gerade verbrauche. Leider kann ich meinem Wechselrichter nicht sagen "Speise jetzt 153 Watt ein" sondern ich kann ihm nur einen DAC-Wert übergeben. Daher die Tabelle. Leider ist das ganze auch nicht linear :face_with_rolling_eyes:

          Obiger Screenshot zeigt die Zusammenhänge. Gerade im unteren Bereich ist keine Linearität gegeben und Nachts hält man sich genau in diesem Bereich auf. Dieser Bereich muss also berücksichtigt werden.

          Ich werde eure Lösungen einfach mal umsetzen und schauen, was für mich am besten passt.

          Und nochmal: Vielen Dank!

          Grüße, Bernd

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

          @bernd33-1 sagte in lookup Table?:

          Also, die Tabelle ist eigentlich deutlich länger und leider nicht linear.

          Dann würde ich bei der JSON-Lösung nach einem gefundenen Wert (also falls dann ein Wert gefunden wurde der nicht < ist) auf jeden Fall die Schleife abbrechen.
          Muss ja nicht länger laufen als nötig ;-)

          "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

          B 1 Antwort Letzte Antwort
          0
          • B bernd33-1

            Jungs, Ihr seid so gut :clap: :blush: Vielen Dank erst mal für euren Support!

            Also, die Tabelle ist eigentlich deutlich länger und leider nicht linear.
            fdb8528d-65ee-4790-a53c-04479c4b0673-image.png

            Hintergrund: Der IOBroker kennt meinen aktuellen Stromverbrauch von meinem Stromzähler (Datenpunkt vorhanden). Nun soll mein Solar Wechselrichter (Sun gti 1000) immer nur so viel Strom in mein Hausnetz einspeisen, wie ich gerade verbrauche. Leider kann ich meinem Wechselrichter nicht sagen "Speise jetzt 153 Watt ein" sondern ich kann ihm nur einen DAC-Wert übergeben. Daher die Tabelle. Leider ist das ganze auch nicht linear :face_with_rolling_eyes:

            Obiger Screenshot zeigt die Zusammenhänge. Gerade im unteren Bereich ist keine Linearität gegeben und Nachts hält man sich genau in diesem Bereich auf. Dieser Bereich muss also berücksichtigt werden.

            Ich werde eure Lösungen einfach mal umsetzen und schauen, was für mich am besten passt.

            Und nochmal: Vielen Dank!

            Grüße, Bernd

            ArmilarA Offline
            ArmilarA Offline
            Armilar
            Most Active Forum Testing
            schrieb am zuletzt editiert von Armilar
            #12

            @bernd33-1

            Kann dir Excel die Funktion dazu ausgeben? Irgendwie im Grafen mit rechtsklick und hier und da mal klicken... Habe es gerade nicht im Kopf, aber ich habe es auch schon für den ein oder anderen Sensor so gemacht...

            Dann wärst du ebenfalls mit einem Einzeiler fertig.

            EDIT:
            sieht dann etwas so aus:

            6ff840eb-cb77-4485-8328-474d1c12c0c1-image.png

            Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
            https://github.com/joBr99/nspanel-lovelace-ui/wiki

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            1 Antwort Letzte Antwort
            0
            • CodierknechtC Codierknecht

              @bernd33-1 sagte in lookup Table?:

              Also, die Tabelle ist eigentlich deutlich länger und leider nicht linear.

              Dann würde ich bei der JSON-Lösung nach einem gefundenen Wert (also falls dann ein Wert gefunden wurde der nicht < ist) auf jeden Fall die Schleife abbrechen.
              Muss ja nicht länger laufen als nötig ;-)

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

              @codierknecht Jup, ich werde (wenn mir möglich ;-) ) diese Regelung so schnell wie möglich halten. Weil, die wird dann pro Sekunde einmal läuft. Ich hab zwar keine Ahnung, wie schnell der IOB auf einem RasPi 4 läuft aber muss ja nicht sein, dass der IOB ins schwitzen kommt.

              Grüße, Bernd

              1 Antwort Letzte Antwort
              0
              • B bernd33-1

                Jungs, Ihr seid so gut :clap: :blush: Vielen Dank erst mal für euren Support!

                Also, die Tabelle ist eigentlich deutlich länger und leider nicht linear.
                fdb8528d-65ee-4790-a53c-04479c4b0673-image.png

                Hintergrund: Der IOBroker kennt meinen aktuellen Stromverbrauch von meinem Stromzähler (Datenpunkt vorhanden). Nun soll mein Solar Wechselrichter (Sun gti 1000) immer nur so viel Strom in mein Hausnetz einspeisen, wie ich gerade verbrauche. Leider kann ich meinem Wechselrichter nicht sagen "Speise jetzt 153 Watt ein" sondern ich kann ihm nur einen DAC-Wert übergeben. Daher die Tabelle. Leider ist das ganze auch nicht linear :face_with_rolling_eyes:

                Obiger Screenshot zeigt die Zusammenhänge. Gerade im unteren Bereich ist keine Linearität gegeben und Nachts hält man sich genau in diesem Bereich auf. Dieser Bereich muss also berücksichtigt werden.

                Ich werde eure Lösungen einfach mal umsetzen und schauen, was für mich am besten passt.

                Und nochmal: Vielen Dank!

                Grüße, Bernd

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

                @bernd33-1 sagte in lookup Table?:

                Obiger Screenshot zeigt die Zusammenhänge. Gerade im unteren Bereich ist keine Linearität gegeben und Nachts hält man sich genau in diesem Bereich auf. Dieser Bereich muss also berücksichtigt werden.

                Dann könnte man das vielleicht auch kombinieren:
                Unter einem bestimmten Grenzwert per Schleife und im linearen Bereich einfach berechnen.
                Oder einfach mal fünf gerade sein lassen und die ggf. vorhandenen Verluste akzeptieren. Da hängt ja nicht gerade ein Menschenleben von ab o.ä.

                "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

                B 1 Antwort Letzte Antwort
                0
                • CodierknechtC Codierknecht

                  @bernd33-1 sagte in lookup Table?:

                  Obiger Screenshot zeigt die Zusammenhänge. Gerade im unteren Bereich ist keine Linearität gegeben und Nachts hält man sich genau in diesem Bereich auf. Dieser Bereich muss also berücksichtigt werden.

                  Dann könnte man das vielleicht auch kombinieren:
                  Unter einem bestimmten Grenzwert per Schleife und im linearen Bereich einfach berechnen.
                  Oder einfach mal fünf gerade sein lassen und die ggf. vorhandenen Verluste akzeptieren. Da hängt ja nicht gerade ein Menschenleben von ab o.ä.

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

                  @codierknecht said in lookup Table?:

                  @bernd33-1 sagte in lookup Table?:

                  Obiger Screenshot zeigt die Zusammenhänge. Gerade im unteren Bereich ist keine Linearität gegeben und Nachts hält man sich genau in diesem Bereich auf. Dieser Bereich muss also berücksichtigt werden.

                  Dann könnte man das vielleicht auch kombinieren:
                  Unter einem bestimmten Grenzwert per Schleife und im linearen Bereich einfach berechnen.
                  Oder einfach mal fünf gerade sein lassen und die ggf. vorhandenen Verluste akzeptieren. Da hängt ja nicht gerade ein Menschenleben von ab o.ä.

                  Klar, wenn mal ein paar Watt raus gehen isses kein Drama.

                  Ok, diese Formel hat Excel ausgegeben: cb029e1f-44a8-4384-9904-6a177379cd55-image.png
                  y = 4E-19x5 - 3E-14x4 + 1E-09x3 - 1E-05x2 + 0,0984x + 0,2186

                  Man sieht die blau-gepunktete line fast nicht, was m. E. eine sehr gute Annäherung ist.
                  939b41e2-e0ca-40be-8a6f-5c41f684ff5a-image.png

                  Ähm... und damit kann man jetzt einen Einzeiler machen? :hugging_face:

                  Grüße, Bernd

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

                    @codierknecht said in lookup Table?:

                    @bernd33-1 sagte in lookup Table?:

                    Obiger Screenshot zeigt die Zusammenhänge. Gerade im unteren Bereich ist keine Linearität gegeben und Nachts hält man sich genau in diesem Bereich auf. Dieser Bereich muss also berücksichtigt werden.

                    Dann könnte man das vielleicht auch kombinieren:
                    Unter einem bestimmten Grenzwert per Schleife und im linearen Bereich einfach berechnen.
                    Oder einfach mal fünf gerade sein lassen und die ggf. vorhandenen Verluste akzeptieren. Da hängt ja nicht gerade ein Menschenleben von ab o.ä.

                    Klar, wenn mal ein paar Watt raus gehen isses kein Drama.

                    Ok, diese Formel hat Excel ausgegeben: cb029e1f-44a8-4384-9904-6a177379cd55-image.png
                    y = 4E-19x5 - 3E-14x4 + 1E-09x3 - 1E-05x2 + 0,0984x + 0,2186

                    Man sieht die blau-gepunktete line fast nicht, was m. E. eine sehr gute Annäherung ist.
                    939b41e2-e0ca-40be-8a6f-5c41f684ff5a-image.png

                    Ähm... und damit kann man jetzt einen Einzeiler machen? :hugging_face:

                    Grüße, Bernd

                    ArmilarA Offline
                    ArmilarA Offline
                    Armilar
                    Most Active Forum Testing
                    schrieb am zuletzt editiert von Armilar
                    #16

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

                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    B 2 Antworten 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
                      #17

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

                      Vielen Dank :flushed: :hugging_face: :+1: werde ich heute Abend dann mal einbauen.

                      Das Forum hier und die Leute sind einfach geil :grin:

                      1 Antwort Letzte Antwort
                      0
                      • B bernd33-1

                        @codierknecht said in lookup Table?:

                        @bernd33-1 sagte in lookup Table?:

                        Obiger Screenshot zeigt die Zusammenhänge. Gerade im unteren Bereich ist keine Linearität gegeben und Nachts hält man sich genau in diesem Bereich auf. Dieser Bereich muss also berücksichtigt werden.

                        Dann könnte man das vielleicht auch kombinieren:
                        Unter einem bestimmten Grenzwert per Schleife und im linearen Bereich einfach berechnen.
                        Oder einfach mal fünf gerade sein lassen und die ggf. vorhandenen Verluste akzeptieren. Da hängt ja nicht gerade ein Menschenleben von ab o.ä.

                        Klar, wenn mal ein paar Watt raus gehen isses kein Drama.

                        Ok, diese Formel hat Excel ausgegeben: cb029e1f-44a8-4384-9904-6a177379cd55-image.png
                        y = 4E-19x5 - 3E-14x4 + 1E-09x3 - 1E-05x2 + 0,0984x + 0,2186

                        Man sieht die blau-gepunktete line fast nicht, was m. E. eine sehr gute Annäherung ist.
                        939b41e2-e0ca-40be-8a6f-5c41f684ff5a-image.png

                        Ähm... und damit kann man jetzt einen Einzeiler machen? :hugging_face:

                        Grüße, Bernd

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

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          680

                                          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