Navigation

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

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    E3DC Hauskraftwerk steuern

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

      @ArnoD
      ja die Userconfig hat ja im script eindeutige Variablen z.B
      sEinspeiselimit[1] = 5.8;
      ist ja vom Programm 1.... Wenn das nun aktiv ist und ich ändere nun in der Vis den Wert über den state
      userdata.0.E3DC-Control.Parameter.Einspeiselimit den wert. dient diese Änderung als trigger um ebenfalls diese variable sEinspeiselimit[1] = 5.8; zu beschreiben.

      EDIT:
      problematisch wird dann nur sein diese remanent zu halten.Beim Neustart würde alles wieder überschrieben..

      man müsste das über nen json string ablegen und einlesen, dann brächte man nur 5 neue States...
      ist dann doch wieder komplizierter...
      Wie man ein jso schreibt wissen wir jetzt, auslesen tue ich welche in meinen Klimscripten, das bekommen wir bestimmt auch hin...
      Aber so einfach ist es dann doch nicht...ausser es gibt andere Ansätze...

      1 Reply Last reply Reply Quote 0
      • smartboart
        smartboart @ArnoD last edited by

        @ArnoD sagte in E3DC Hauskraftwerk steuern:

        Habe eine Möglichkeit gefunden in JS mit 256AES und Cipher-Block-Chain-Verfahren (CBC) zu verschlüsseln, bekomme aber unter NPM Module aes-js nicht installiert. Hat jemand einen Tipp 🙂

        Test Code:

        var aesjs = require('aes-js');
        
        
        // An example 256-bit key. Fehlende Zeichen werden mit 0xFF aufgefüllt.
        var key_256 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
                       16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
                       29, 30, 31];
        
        // The initialization vector (must be 32 bytes)
        var iv = [ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ];
        
        // Convert text to bytes (text must be a multiple of 32bytes)
        var text = 'TextMustBe32Byte0xFF0xFF0xFF0xFF';
        var textBytes = aesjs.utils.utf8.toBytes(text);
        
        var aesCbc = new aesjs.ModeOfOperation.cbc(key_256, iv);
        var encryptedBytes = aesCbc.encrypt(textBytes);
        
        // To print or store the binary data, you may convert it to hex
        var encryptedHex = aesjs.utils.hex.fromBytes(encryptedBytes);
        console.log(encryptedHex);
        
        
        // When ready to decrypt the hex string, convert it back to bytes
        var encryptedBytes = aesjs.utils.hex.toBytes(encryptedHex);
        
        // The cipher-block chaining mode of operation maintains internal
        // state, so to decrypt a new instance must be instantiated.
        var aesCbc = new aesjs.ModeOfOperation.cbc(key_256, iv);
        var decryptedBytes = aesCbc.decrypt(encryptedBytes);
        
        // Convert our bytes back into text
        var decryptedText = aesjs.utils.utf8.fromBytes(decryptedBytes);
        console.log(decryptedText);
        
        

        was bekommst dufür Fehlermeldungen?

        smartboart 1 Reply Last reply Reply Quote 0
        • smartboart
          smartboart @smartboart last edited by

          @smartboart sagte in E3DC Hauskraftwerk steuern:

          Habe eine Möglichkeit gefunden in JS mit 256AES und Cipher-Block-Chain-Verfahren (CBC) zu verschlüsseln, bekomme aber unter NPM Module aes-js nicht installiert. Hat jemand einen Tipp

          bei mir scheint es geklappt zu haben...

          javascript.1	2020-08-07 16:05:14.400	info	(21314) 1 package is looking for funding run `npm fund` for details
          javascript.1	2020-08-07 16:05:14.338	info	(21314) + aes-js@3.1.2 added 1 package from 1 contributor and audited 30 packages in 1.288s
          javascript.1	2020-08-07 16:05:11.701	info	(21314) npm install aes-js --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
          javascript.1	2020-08-07 16:05:11.667	info	(21314) found 0 vulnerabilities
          javascript.1	2020-08-07 16:05:11.665	info	(21314) 1 package is looking for funding run `npm fund` for details
          javascript.1	2020-08-07 16:05:11.608	info	(21314) + xmlhttprequest@1.8.0 added 22 packages from 89 contributors and audited 29 packages in 4.1s
          javascript.1	2020-08-07 16:05:06.167	info	(21314) npm install xmlhttprequest --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
          javascript.1	2020-08-07 16:05:06.120	info	(21314) starting. Version 4.6.22 in /opt/iobroker/node_modules/iobroker.javascript, node: v12.18.3, js-controller: 3.1.6
          
          A 1 Reply Last reply Reply Quote 0
          • A
            ArnoD @smartboart last edited by ArnoD

            @smartboart
            kannst du das Test Script starten ohne Fehlermeldung ??
            Bei mir kommt dann immer:

            javascript.1	2020-08-07 16:25:33.618	error	(8936) at Script.runInContext (vm.js:133:20)
            javascript.1	2020-08-07 16:25:33.617	error	(8936) at script.js.common.Skript_1:17:14
            javascript.1	2020-08-07 16:25:33.617	error	(8936) at new ModeOfOperationCBC (/opt/iobroker/node_modules/iobroker.javascript/node_modules/aes-js/index.js:439:19)
            javascript.1	2020-08-07 16:25:33.617	error	(8936) Error: invalid initialation vector size (must be 16 bytes)
            javascript.1	2020-08-07 16:25:33.617	error	(8936) ^
            javascript.1	2020-08-07 16:25:33.617	error	(8936) throw new Error('invalid initialation vector size (must be 16 bytes)');
            javascript.1	2020-08-07 16:25:33.617	error	(8936) script.js.common.Skript_1: /opt/iobroker/node_modules/iobroker.javascript/node_modules/aes-js/index.js:439
            javascript.1	2020-08-07 16:25:33.607	info	(8936) Start javascript script.js.common.Skript_1
            
            smartboart 1 Reply Last reply Reply Quote 0
            • smartboart
              smartboart @ArnoD last edited by smartboart

              @ArnoD sagte in E3DC Hauskraftwerk steuern:

              ich habe das gleiche im log

              javascript.1	2020-08-07 16:29:30.598	error	(21314) at Script.runInContext (vm.js:130:18)
              javascript.1	2020-08-07 16:29:30.598	error	(21314) at script.js.common.Tests.erdctest:31:14
              javascript.1	2020-08-07 16:29:30.598	error	(21314) at new ModeOfOperationCBC (/opt/iobroker/node_modules/iobroker.javascript/node_modules/aes-js/index.js:439:19)
              javascript.1	2020-08-07 16:29:30.597	error	(21314) Error: invalid initialation vector size (must be 16 bytes)
              javascript.1	2020-08-07 16:29:30.597	error	(21314) ^
              javascript.1	2020-08-07 16:29:30.597	error	(21314) throw new Error('invalid initialation vector size (must be 16 bytes)');
              javascript.1	2020-08-07 16:29:30.596	error	(21314) script.js.common.Tests.erdctest: /opt/iobroker/node_modules/iobroker.javascript/node_modules/aes-js/index.js:439
              
              A 1 Reply Last reply Reply Quote 0
              • A
                ArnoD @smartboart last edited by

                @smartboart
                ok habe den Fehler gefunden, hat nichts mit dem NPM Modul zu tun.
                Vektor darf anscheinend nur 16 bytes haben, E3DC verwendet aber 32, da waren sie schon wieder meine drei Probleme 😖

                smartboart 1 Reply Last reply Reply Quote 0
                • smartboart
                  smartboart @ArnoD last edited by

                  @ArnoD shit

                  1 Reply Last reply Reply Quote 0
                  • S
                    stevie77 @smartboart last edited by

                    @smartboart sagte in E3DC Hauskraftwerk steuern:

                    @ArnoD
                    was hälst du davon, die Werte der 5 usecases über vis änderbar zu machen?

                    Wenn möglich parametrierbar ob wie bisher oder wie vorgeschlagen...ich habe erst vor 1-2 Tagen endlich die festen Werte für die unterschiedlichen Einstellungen gefunden und denke nicht im Traum daran die nochmals ändern zu wollen. 😉

                    vlt. legt man noch templates an, wenn man mal toal daneben liegt, kann man den template wieder laden...

                    Das habe ich mir selbst in nem separaten Skript tatsächlich auch noch dazu gebaut, falls man was blöd eingestellt hat oder was schief geht. Und noch den Panik-Knopf bei schlechtem Wetter, der alles übersteuert und auf 100% Eigenverbrauch und sofort alles Laden umstellt. 🙂

                    739f60b4-2bc2-42d8-81e4-6634472b6d99-image.png

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      ArnoD @stevie77 last edited by

                      @stevie77
                      Den Schietwetter Panik Taster hast du doch schon, einfach "Ladeschwelle" auf 100% und es wird alles in den Speicher geladen. 🙂

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        stevie77 @ArnoD last edited by

                        @ArnoD Möglicherweise verstehe ich E3DC-Control noch nicht so gut. Ladeschwelle = 100 ist völlig unabhängig von den ganzen anderen Zeitwerten und oberer Ladekorridor und den Ladeende-Werten? Ein wie auch immer gesetzter unload-Wert pfuscht da auch nicht rein?

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          ArnoD @stevie77 last edited by ArnoD

                          @stevie77
                          Richtig, Ladeschwelle überlagert fast alles.

                          siehe Beschreibung im ersten Post:
                          ladeschwelle = Bis zu diesem SoC Wert wird sofort mit der gesamten überschüssigen PV-Leistung geladen. Erst wenn die ladeschwelle erreicht wird, wird mit dem geregelten Laden begonnen.

                          edit: Außer unload dieser Parameter überlagert Ladeschwelle.

                          smartboart S 2 Replies Last reply Reply Quote 0
                          • A
                            ArnoD last edited by

                            Man kann die Seite mit den Parameter eventuell sinnvoll aufbauen.
                            Es gibt einige die man sicher nicht verstellen will oder nicht verwendet, wie z.B.

                            • Maximum Ladeleistung
                            • minimum Ladeleistung
                            • oberer Ladekorridor
                            • unterer Ladekorridor
                            • Peakshave
                            • Speichergröße

                            Das sind z.B. die die ich nicht benötigen würde.

                            Diese könnte man in Vis von der Seite entfernen und somit das ganze übersichtlicher gestalten und Platz schaffen für eine manuelle Anwahl von Einstellung 1 bis 5 und die einzelnen Werte jeder Einstellung.

                            1 Reply Last reply Reply Quote 0
                            • smartboart
                              smartboart @ArnoD last edited by smartboart

                              @ArnoD sagte in E3DC Hauskraftwerk steuern:

                              edit: Außer unload dieser Parameter überlagert Ladeschwelle.

                              OK, das ist genau der Bereich den ich auch noch nicht so ganz kapiert habe... Was macht Unload genau?

                              EDIT: ich habe den Text oben gelesen. Mir fehlt nur die Fantasie wie ich das sinnvoll nutzen würde. Vlt. Hilft ein anwendungsfall um das genau zu verstehen..

                              Und warum ist Programm 1 nicht mit Automatik verriegelt?
                              Ich würde sagen wenn automatik off kann ich in vis manuell rum spielen und testen..
                              dann gelten die in vis gesendeten Werte..

                              A 1 Reply Last reply Reply Quote 0
                              • S
                                stevie77 @ArnoD last edited by

                                @ArnoD Ah, okay, da muss ich jedes Mal drüber nachdenken und in ein paar Monaten oder Jahren sicher wieder. Außerdem wären es dann zwei Sliderwerte und ein Button. Mit meinem Panik-Button hab ich nur einen Klick (ohne Nachdenken). 😉 Nicht lachen, aber mein Kunde investiert 1000e Euro um seinen Anwendern ein paar Klicks zu sparen... 🙂

                                1 Reply Last reply Reply Quote 0
                                • A
                                  ArnoD @smartboart last edited by

                                  @smartboart sagte in E3DC Hauskraftwerk steuern:

                                  @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                  edit: Außer unload dieser Parameter überlagert Ladeschwelle.

                                  OK, das ist genau der Bereich den ich auch noch nicht so ganz kapiert habe... Was macht Unload genau?

                                  EDIT: ich habe den Text oben gelesen. Mir fehlt nur die Fantasie wie ich das sinnvoll nutzen würde. Vlt. Hilft ein anwendungsfall um das genau zu verstehen..

                                  Ein Anwendungsfall ist, dass dein Verbrauch in der Nacht zu gering ist und dein Speicher am Morgen noch so voll ist, dass du Überkapazitäten nicht mehr puffern kannst, und du somit in die Abregelung kommen würdest. Dann kannst du am Morgen mit unload deinen Speicher ins Netz entladen und so Platz schafen.

                                  Den zweiten Anwendungsfall verwende ich bei schönem Wetter (Einstellung2), indem ich unload = BatterieSoC einstelle. Dann wird nicht entladen aber das Laden der Batterie bis zum Beginn der Regelung verhindert und ermöglicht so erst später zu laden.

                                  Und warum ist Programm 1 nicht mit Automatik verriegelt?
                                  Ich würde sagen wenn automatik off kann ich in vis manuell rum spielen und testen..
                                  dann gelten die in vis gesendeten Werte..

                                  Da hast du recht ist ein Denkfehler von mir.

                                  smartboart 2 Replies Last reply Reply Quote 0
                                  • smartboart
                                    smartboart @ArnoD last edited by smartboart

                                    @ArnoD super Erklärung, jetzt hab auch ich es kapiert! Kam bei mir nur noch nicht vor, weil meine Frau immer erst Abends anfängt strom zu verbrauchen...😬

                                    1 Reply Last reply Reply Quote 0
                                    • smartboart
                                      smartboart @ArnoD last edited by

                                      @ArnoD ich glaube ich mache mir zu jedem Einstellungsparameter noch nen info button in welchem die Funktionen erklärt angezeigt werden können...

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        ArnoD last edited by

                                        Hier die Ladekurve von heute:
                                        bild1.png

                                        Die grüne Linie zeigt die Ladeleistung der Batterie. Am Anfang wird nicht geladen (das macht unload=BatterieSoC) ,dann beginnt die Laderegelung und die Batterie wird mit einer niedrigen konstanten Leistung geladen. Um ca. 15:45 Uhr ist die Laderegelung beendet und es wird auf den Wert Ladeende2 geladen. Hätte ich jetzt wärend der Laderegulung einen niedrigeren Eigenverbrauch, sodass ich in die Abregelung kommen würde, Hätte E3DC-Control die Ladeleistung für diese Spitzen erhöht und eine Abregelung verhindert. Absolut Batterieschonend und mit der Steuerung von E3DC leider nicht realisierbar.

                                        smartboart 2 Replies Last reply Reply Quote 0
                                        • smartboart
                                          smartboart @ArnoD last edited by

                                          @ArnoD ja cool....

                                          Aber schon krass, diesen Peak von Batsoc nach unten habe ich auch fast jede nacht...hab schon nen ticket aufgemacht...was ist das?
                                          Unbenannt.JPG

                                          A 1 Reply Last reply Reply Quote 0
                                          • smartboart
                                            smartboart @ArnoD last edited by

                                            @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                            Um ca. 15:45 Uhr ist die Laderegelung beendet und es wird auf den Wert Ladeende2 geladen. Hätte ich jetzt wärend der Laderegulung einen niedrigeren Eigenverbrauch, sodass ich in die Abregelung kommen würde, Hätte E3DC-Control die Ladeleistung für diese Spitzen erhöht und eine Abregelung verhindert. Absolut Batterieschonend und mit der Steuerung von E3DC leider nicht realisierbar

                                            ja das ist voll cool...
                                            in dem Bereich lasse ich im Moment immer die klima losmaschieren...bei dem Wetter genau richtig...Aber das ist natürlich so besser... die klima brauche ich ja nicht immer...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            792
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3331
                                            1363722
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo