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. Verbesserung erfahren Blockly/Javascript/KI/AI

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Verbesserung erfahren Blockly/Javascript/KI/AI

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
48 Beiträge 11 Kommentatoren 1.3k Aufrufe 10 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.
  • Kalle BlomquistK Offline
    Kalle BlomquistK Offline
    Kalle Blomquist
    schrieb am zuletzt editiert von Kalle Blomquist
    #36

    Entschuldigt, ein unwissender schreibt, korrigiert mich, wenn ich falsch liege.

    Hab´t ihr eigentlich den Beitrag von Asgothian gelesen?
    Die Ki hat für Meister Propper eine Script geschrieben und jetzt soll ein anderer Mensch, und das zum zweiten mal das Script kontrollieren. Was macht das für einen Sinn?

    Jey CeeJ 1 Antwort Letzte Antwort
    1
    • ilovegymI Offline
      ilovegymI Offline
      ilovegym
      schrieb am zuletzt editiert von
      #37

      Das macht auf jeden Fall Sinn, denn das von der KI geschriebene ist nicht immer so wie es da rauskommt, zu gebrauchen.
      Oft steht KI auch fuer "Keine Intelligenz" - und man sollte IMMER !! das pruefen, was da erzeugt wird...

      ilovegym66 – ioBroker Projekte & Automationen
      GitHub: https://github.com/Ilovegym66 | Austausch im Discord: https://discord.gg/yC65zjr5uq

      1 Antwort Letzte Antwort
      3
      • Kalle BlomquistK Kalle Blomquist

        Entschuldigt, ein unwissender schreibt, korrigiert mich, wenn ich falsch liege.

        Hab´t ihr eigentlich den Beitrag von Asgothian gelesen?
        Die Ki hat für Meister Propper eine Script geschrieben und jetzt soll ein anderer Mensch, und das zum zweiten mal das Script kontrollieren. Was macht das für einen Sinn?

        Jey CeeJ Online
        Jey CeeJ Online
        Jey Cee
        Developer
        schrieb am zuletzt editiert von
        #38

        @Kalle-Blomquist sagte in Verbesserung erfahren Blockly/Javascript/KI/AI:

        Was macht das für einen Sinn?

        Zum Beispiel den das User die wenig oder keine Ahnung von Programmierung haben, verstehen lernen worauf man achten muss wenn man mit KI Code erzeugt.

        Persönlicher Support
        Spenden -> paypal.me/J3YC33

        1 Antwort Letzte Antwort
        5
        • Kalle BlomquistK Offline
          Kalle BlomquistK Offline
          Kalle Blomquist
          schrieb am zuletzt editiert von
          #39

          Wäre es nicht besser einen Kursus zu belegen, um zu verstehen. Anstatt die Kontrolle auf einen Anderen zu verlagern. Und habe alle einen Anderen? Machen alle das?

          HomoranH 1 Antwort Letzte Antwort
          0
          • Kalle BlomquistK Kalle Blomquist

            Wäre es nicht besser einen Kursus zu belegen, um zu verstehen. Anstatt die Kontrolle auf einen Anderen zu verlagern. Und habe alle einen Anderen? Machen alle das?

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #40

            @Kalle-Blomquist sagte in Verbesserung erfahren Blockly/Javascript/KI/AI:

            Anstatt die Kontrolle auf einen Anderen zu verlagern

            ???

            Was pssiert denn hier täglich zigmal?
            Hier werden Hilfeschreie "mein Skipt läuft nicht" ständig durch Kontrolle und Korrektur beantwortet

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            1
            • Kalle BlomquistK Offline
              Kalle BlomquistK Offline
              Kalle Blomquist
              schrieb am zuletzt editiert von Kalle Blomquist
              #41

              Eben! und lernen wäre besser und nicht einfach abgeben

              HomoranH Meister MopperM 2 Antworten Letzte Antwort
              0
              • Kalle BlomquistK Kalle Blomquist

                Eben! und lernen wäre besser und nicht einfach abgeben

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #42

                @Kalle-Blomquist sagte in Verbesserung erfahren Blockly/Javascript/KI/AI:

                Eben! und lernen wäre besser.

                Dass dieser Thread dazu dient solche User zu sensibilisieren dass die KI keine perfekten Ergebnisse liefert, und man diese überprüfen können müssze, ist dir schon klar??

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                2
                • Kalle BlomquistK Offline
                  Kalle BlomquistK Offline
                  Kalle Blomquist
                  schrieb am zuletzt editiert von
                  #43

                  ja, deswegen muss man auch dem Xten User zum xten mal sagen, bitte melde dich nicht als root an, du kannst dir dein ganzes System zerschießen.
                  Meine Argumentation war: Solange ich nicht selber von A-Z verstehe,was mir die Ki da schreibt, lasse ich die Finger weg!
                  Ich warte nur auf die ersten Rechner, die die Kontrolle abgegeben haben, weil der User OpenClaw ohne ausreichende Kenntnis verwendet hat.
                  Aber ich bin jetzt raus aus der Diskussion.

                  HomoranH 1 Antwort Letzte Antwort
                  1
                  • Kalle BlomquistK Kalle Blomquist

                    ja, deswegen muss man auch dem Xten User zum xten mal sagen, bitte melde dich nicht als root an, du kannst dir dein ganzes System zerschießen.
                    Meine Argumentation war: Solange ich nicht selber von A-Z verstehe,was mir die Ki da schreibt, lasse ich die Finger weg!
                    Ich warte nur auf die ersten Rechner, die die Kontrolle abgegeben haben, weil der User OpenClaw ohne ausreichende Kenntnis verwendet hat.
                    Aber ich bin jetzt raus aus der Diskussion.

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #44

                    @Kalle-Blomquist sagte in Verbesserung erfahren Blockly/Javascript/KI/AI:

                    Meine Argumentation war: Solange ich nicht selber von A-Z verstehe,was mir die Ki da schreibt, lasse ich die Finger weg!

                    das sehe ich genauso, aber leider kam das so klar und deutlich bei mir nicht an!

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    1 Antwort Letzte Antwort
                    0
                    • NegaleinN Negalein

                      @liv-in-sky sagte in Verbesserung erfahren Blockly/Javascript/KI/AI:

                      wer dan strafrechtlich belangt wird

                      der User!
                      wenn du ein Messer gratis bekommst und damit wen tötest, wirst auch du bestraft und nicht der Schenker.

                      Meister MopperM Online
                      Meister MopperM Online
                      Meister Mopper
                      schrieb am zuletzt editiert von
                      #45

                      @Negalein sagte in Verbesserung erfahren Blockly/Javascript/KI/AI:

                      der User!
                      wenn du ein Messer gratis bekommst und damit wen tötest, wirst auch du bestraft und nicht der Schenker.

                      Es sei denn, der Schenker gibt einen deutlichen Hinweis, was mit diesem Messer geschehen soll (Stichwort Anstiftung 😉).

                      Proxmox und HA

                      1 Antwort Letzte Antwort
                      0
                      • Kalle BlomquistK Kalle Blomquist

                        Eben! und lernen wäre besser und nicht einfach abgeben

                        Meister MopperM Online
                        Meister MopperM Online
                        Meister Mopper
                        schrieb am zuletzt editiert von
                        #46

                        @Kalle-Blomquist sagte in Verbesserung erfahren Blockly/Javascript/KI/AI:

                        Eben! und lernen wäre besser und nicht einfach abgeben

                        Wozu ist denn deiner Meinung nach ein Forum da, für mich ist es:

                        • Gemeinschaft mit Gleichgesinnten weltweit
                        • Wissens- und Erfahrungsaustausch
                        • Gegenseitige emotionale Unterstützung
                        • Anonyme, niedrigschwellige Teilnahme
                        • Zeitunabhängige Kommunikation
                        • Kostenloser Zugang zu Fachwissen
                        • Dauerhafte Archivierung von Beiträgen

                        Proxmox und HA

                        1 Antwort Letzte Antwort
                        2
                        • Meister MopperM Online
                          Meister MopperM Online
                          Meister Mopper
                          schrieb am zuletzt editiert von
                          #47

                          @asgothian @oliverio

                          Mittlerweile ist die KI/AI Bemühung in meinem Fall vorangeschritten und ich habe jetzt dieses Ergebnis am Laufen (sehr wahrscheinlich ist dies noch immer nicht das Ziel, aber es lüppt):

                          // =============================================================================
                          // PV-ENERGIEMASTER PRO v2.4 (FINAL: SMARTMETER-ANCHOR & HYBRID-LOGIC)
                          // =============================================================================
                          
                          // --- 1. KONFIGURATION (Deine verifizierten IDs) ---
                          const ID_PV_DACH_W     = 'solax.0.data.acpower';
                          const ID_SMARTMETER_W  = 'smartmeter.0.1-0:16_7_0__255.value'; // Dein Ankerpunkt
                          const ID_BATTERIE_W    = 'modbus.0.inputRegisters.100.842_Battery_Power_(System)'; // Victron
                          const ID_SOC           = 'modbus.0.inputRegisters.100.843_Battery_State_of_Charge_(System)';
                          const ID_SPEICHER_KWH  = '0_userdata.0.Energie.PV.Speichergroesse';
                          
                          const PATH = '0_userdata.0.Energie.PV.';
                          
                          // --- 2. VARIABLEN (RAM) ---
                          let pvPower = 0, netPower = 0, batPower = 0, soc = 0;
                          let speicherMax = getState(ID_SPEICHER_KWH).val || 0;
                          let lastTimestamp = Date.now();
                          
                          // --- 3. RECHENZENTRALE ---
                          function calculateEnergyMaster() {
                             // Physische Bilanzierung
                             const netzBezug   = netPower > 0 ? netPower : 0;
                             const einspeisung = netPower < 0 ? Math.abs(netPower) : 0;
                          
                             // HAUSVERBRAUCH-BERECHNUNG (Die sicherste Formel)
                             // Haus = Erzeugung + Netz (+/-) - Batterie (+/-)
                             // Hinweis: batPower + beim Laden (Energie geht weg), - beim Entladen (Energie kommt dazu)
                             let hausverbrauch = pvPower + netPower - batPower;
                             if (hausverbrauch < 0) hausverbrauch = 0; 
                          
                             // Energie-Integration für Tagesstatistik (Wh)
                             const now = Date.now();
                             const durationHours = (now - lastTimestamp) / (1000 * 60 * 60);
                             if (durationHours > 0) {
                                 const energyWh = hausverbrauch * durationHours;
                                 const currentTagesverbrauch = getState(PATH + 'Tagesverbrauch').val || 0;
                                 setState(PATH + 'Tagesverbrauch', currentTagesverbrauch + energyWh, true);
                             }
                             lastTimestamp = now;
                          
                             // DATENPUNKTE SCHREIBEN
                             setState(PATH + 'Netzbezug', netzBezug, true);
                             setState(PATH + 'Einspeisung', einspeisung, true);
                             setState(PATH + 'Hausverbrauch', Math.round(hausverbrauch), true);
                             setState(PATH + 'Autarkie', hausverbrauch > 0 ? Math.round(Math.min(100, (1 - (netzBezug / hausverbrauch)) * 100)) : 0, true);
                             setState(PATH + 'lade_kwh', parseFloat(((speicherMax * soc) / 100).toFixed(1)), true);
                          }
                          
                          // --- 4. TRIGGER ---
                          on({id: ID_PV_DACH_W, change: "ne"}, (obj) => { pvPower = obj.state.val || 0; calculateEnergyMaster(); });
                          on({id: ID_SMARTMETER_W, change: "ne"}, (obj) => { netPower = obj.state.val || 0; calculateEnergyMaster(); });
                          on({id: ID_BATTERIE_W, change: "ne"}, (obj) => { batPower = obj.state.val || 0; calculateEnergyMaster(); });
                          on({id: ID_SOC, change: "ne"}, (obj) => { soc = obj.state.val || 0; calculateEnergyMaster(); });
                          
                          schedule("0 0 * * *", () => { setState(PATH + 'Tagesverbrauch', 0, true); });
                          

                          Proxmox und HA

                          crunchipC 1 Antwort Letzte Antwort
                          0
                          • Meister MopperM Meister Mopper

                            @asgothian @oliverio

                            Mittlerweile ist die KI/AI Bemühung in meinem Fall vorangeschritten und ich habe jetzt dieses Ergebnis am Laufen (sehr wahrscheinlich ist dies noch immer nicht das Ziel, aber es lüppt):

                            // =============================================================================
                            // PV-ENERGIEMASTER PRO v2.4 (FINAL: SMARTMETER-ANCHOR & HYBRID-LOGIC)
                            // =============================================================================
                            
                            // --- 1. KONFIGURATION (Deine verifizierten IDs) ---
                            const ID_PV_DACH_W     = 'solax.0.data.acpower';
                            const ID_SMARTMETER_W  = 'smartmeter.0.1-0:16_7_0__255.value'; // Dein Ankerpunkt
                            const ID_BATTERIE_W    = 'modbus.0.inputRegisters.100.842_Battery_Power_(System)'; // Victron
                            const ID_SOC           = 'modbus.0.inputRegisters.100.843_Battery_State_of_Charge_(System)';
                            const ID_SPEICHER_KWH  = '0_userdata.0.Energie.PV.Speichergroesse';
                            
                            const PATH = '0_userdata.0.Energie.PV.';
                            
                            // --- 2. VARIABLEN (RAM) ---
                            let pvPower = 0, netPower = 0, batPower = 0, soc = 0;
                            let speicherMax = getState(ID_SPEICHER_KWH).val || 0;
                            let lastTimestamp = Date.now();
                            
                            // --- 3. RECHENZENTRALE ---
                            function calculateEnergyMaster() {
                               // Physische Bilanzierung
                               const netzBezug   = netPower > 0 ? netPower : 0;
                               const einspeisung = netPower < 0 ? Math.abs(netPower) : 0;
                            
                               // HAUSVERBRAUCH-BERECHNUNG (Die sicherste Formel)
                               // Haus = Erzeugung + Netz (+/-) - Batterie (+/-)
                               // Hinweis: batPower + beim Laden (Energie geht weg), - beim Entladen (Energie kommt dazu)
                               let hausverbrauch = pvPower + netPower - batPower;
                               if (hausverbrauch < 0) hausverbrauch = 0; 
                            
                               // Energie-Integration für Tagesstatistik (Wh)
                               const now = Date.now();
                               const durationHours = (now - lastTimestamp) / (1000 * 60 * 60);
                               if (durationHours > 0) {
                                   const energyWh = hausverbrauch * durationHours;
                                   const currentTagesverbrauch = getState(PATH + 'Tagesverbrauch').val || 0;
                                   setState(PATH + 'Tagesverbrauch', currentTagesverbrauch + energyWh, true);
                               }
                               lastTimestamp = now;
                            
                               // DATENPUNKTE SCHREIBEN
                               setState(PATH + 'Netzbezug', netzBezug, true);
                               setState(PATH + 'Einspeisung', einspeisung, true);
                               setState(PATH + 'Hausverbrauch', Math.round(hausverbrauch), true);
                               setState(PATH + 'Autarkie', hausverbrauch > 0 ? Math.round(Math.min(100, (1 - (netzBezug / hausverbrauch)) * 100)) : 0, true);
                               setState(PATH + 'lade_kwh', parseFloat(((speicherMax * soc) / 100).toFixed(1)), true);
                            }
                            
                            // --- 4. TRIGGER ---
                            on({id: ID_PV_DACH_W, change: "ne"}, (obj) => { pvPower = obj.state.val || 0; calculateEnergyMaster(); });
                            on({id: ID_SMARTMETER_W, change: "ne"}, (obj) => { netPower = obj.state.val || 0; calculateEnergyMaster(); });
                            on({id: ID_BATTERIE_W, change: "ne"}, (obj) => { batPower = obj.state.val || 0; calculateEnergyMaster(); });
                            on({id: ID_SOC, change: "ne"}, (obj) => { soc = obj.state.val || 0; calculateEnergyMaster(); });
                            
                            schedule("0 0 * * *", () => { setState(PATH + 'Tagesverbrauch', 0, true); });
                            

                            crunchipC Offline
                            crunchipC Offline
                            crunchip
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #48

                            @Meister-Mopper und weils interessant ist, was die verschiedenen KI´s so ausspucken
                            Fehleranalyse & Ressourcen-Check
                            Dein Script hat 1 kritischen Fehler und 3 Performance-Probleme, ist aber grundsätzlich solide aufgebaut.

                            Kritische Fehler
                            ❌ createState() fehlt komplett
                            States wie Tagesverbrauch, Netzbezug etc. existieren beim ersten Start nicht → Script crasht mit "State not found". ioBroker erstellt States NICHT automatisch bei setState().

                            Ressourcenverschwendung

                            Problem Impact Fix
                            getState() in Schleife Blockiert 10-50ms bei jedem Trigger (4x/Sekunde = 200ms CPU-Last!) Cache in Variable
                            speicherMax statisch Änderungen der Speichergröße erst nach Script-Neustart Trigger hinzufügen
                            Tagesverbrauch ohne Cache Liest State bei jedem Update (360x/Stunde) Global cachen
                            7 setState() pro Trigger ~420 DB-Writes/Stunde bei 10s-Updates Akzeptabel, aber debounce möglich

                            Formel-Validierung
                            javascript
                            hausverbrauch = pvPower + netPower - batPower
                            Korrekt NUR WENN Victron-Konvention: batPower = +Laden (Energie geht rein), -Entladen (Energie kommt raus). Teste mit log("Bat: " + batPower) beim Laden/Entladen!
                            ​

                            umgestiegen von Proxmox auf Unraid

                            1 Antwort Letzte Antwort
                            1
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            427

                            Online

                            32.7k

                            Benutzer

                            82.3k

                            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