Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. E3DC Hauskraftwerk steuern

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    781

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

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

E3DC Hauskraftwerk steuern

Scheduled Pinned Locked Moved JavaScript
3.6k Posts 72 Posters 1.7m Views 64 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • smartboartS smartboart

    @ArnoD
    Verwenden kann man es schon, bei mir haben alle Zaehler role value, was ja auch sinn macht...source legt mit role state an, was man aber auch ändern kann... Bei mir klappte das auf Anhieb, siehe Bild oben...

    wichtig ist groß klein schreibung beim Zuweisen der Funktion/ Enumeration..

    Beim Trigger mit Selektor / $ gibt es hunderte möglichkeiten auf mehrere States zu triggern. man muss halt den gemeinsamen nenner finden...

    smartboartS Offline
    smartboartS Offline
    smartboart
    wrote on last edited by
    #271

    z.B
    ohne enumeration

    $('sonoff.*.*.INFO.Module').each(function(id, i) {   
    
    $('meross.*.*.0-power').each(function(id, i) {        
    
    $('zigbee.*.*.load_power').each(function(id, i) {  
    
    $('hm-rpc.*.*.*.ENERGY_COUNTER').each(function(id, i) { 
    
    
    
    

    mit

    var cacheSelectorState = $('state[state.id=hm-rpc.0*.STATE](functions=Licht)'); // Gewerk Lichter
    var cacheSelectorLevel = $('state[state.id=hm-rpc.0*.LEVEL](functions=Licht)');
    //var cacheSelectorPOWER = $('state[state.id=*.POWER](functions="Licht")'); // Sonoff Lampen (müssen im Gewerk Lichter sein)
    var cacheSelectorPOWER1 = $('state[state.id=*.POWER1](functions=Licht)'); // Sonoff Lampen (müssen im Gewerk Lichter sein)
    var cacheSelectorPOWER2 = $('state[state.id=*.POWER2](functions=Licht)'); // Sonoff Lampen (müssen im Gewerk Lichter sein)
    var cacheSelectorPOWER3 = $('state[state.id=*.POWER3](functions=Licht)'); // Sonoff Lampen (müssen im Gewerk Lichter sein)
    var cacheSelectorPOWER4 = $('state[state.id=*.POWER4](functions=Licht)'); // Sonoff Lampen (müssen im Gewerk Lichter sein)
    
    

    usw...

    A 1 Reply Last reply
    0
    • smartboartS smartboart

      z.B
      ohne enumeration

      $('sonoff.*.*.INFO.Module').each(function(id, i) {   
      
      $('meross.*.*.0-power').each(function(id, i) {        
      
      $('zigbee.*.*.load_power').each(function(id, i) {  
      
      $('hm-rpc.*.*.*.ENERGY_COUNTER').each(function(id, i) { 
      
      
      
      

      mit

      var cacheSelectorState = $('state[state.id=hm-rpc.0*.STATE](functions=Licht)'); // Gewerk Lichter
      var cacheSelectorLevel = $('state[state.id=hm-rpc.0*.LEVEL](functions=Licht)');
      //var cacheSelectorPOWER = $('state[state.id=*.POWER](functions="Licht")'); // Sonoff Lampen (müssen im Gewerk Lichter sein)
      var cacheSelectorPOWER1 = $('state[state.id=*.POWER1](functions=Licht)'); // Sonoff Lampen (müssen im Gewerk Lichter sein)
      var cacheSelectorPOWER2 = $('state[state.id=*.POWER2](functions=Licht)'); // Sonoff Lampen (müssen im Gewerk Lichter sein)
      var cacheSelectorPOWER3 = $('state[state.id=*.POWER3](functions=Licht)'); // Sonoff Lampen (müssen im Gewerk Lichter sein)
      var cacheSelectorPOWER4 = $('state[state.id=*.POWER4](functions=Licht)'); // Sonoff Lampen (müssen im Gewerk Lichter sein)
      
      

      usw...

      A Offline
      A Offline
      ArnoD
      wrote on last edited by
      #272

      @smartboart
      Das eröffnet natürlich ganz neue Möglichkeiten.
      Super danke 👍

      1 Reply Last reply
      0
      • A Offline
        A Offline
        ArnoD
        wrote on last edited by
        #273

        Habe jetzt auch noch was von apollon77 gefunden wie man mehre ID Triggern kann:

        var liste = ["ID1", "ID2" ...]
         
        for (var i=0; i<liste.length;i++) {/on(liste[id],/function()/});/}/<e=""></liste.length;i++)>
        
        
        smartboartS 1 Reply Last reply
        0
        • A ArnoD

          Habe jetzt auch noch was von apollon77 gefunden wie man mehre ID Triggern kann:

          var liste = ["ID1", "ID2" ...]
           
          for (var i=0; i<liste.length;i++) {/on(liste[id],/function()/});/}/<e=""></liste.length;i++)>
          
          
          smartboartS Offline
          smartboartS Offline
          smartboart
          wrote on last edited by smartboart
          #274

          @ArnoD oh ja, das ist natürlich auch praktikabel.
          man muss halt alle per script einsammeln, wenn man neue dazu haben möchte müssen die in die liste aufgenommen werden.
          Aber bei 2Zählern ist das überschaubar...

          übrigens, bei dir muss wahrscheinlich .value.week eingetragen werden, die spalte neben dran...

          smartboartS 1 Reply Last reply
          0
          • smartboartS smartboart

            @ArnoD oh ja, das ist natürlich auch praktikabel.
            man muss halt alle per script einsammeln, wenn man neue dazu haben möchte müssen die in die liste aufgenommen werden.
            Aber bei 2Zählern ist das überschaubar...

            übrigens, bei dir muss wahrscheinlich .value.week eingetragen werden, die spalte neben dran...

            smartboartS Offline
            smartboartS Offline
            smartboart
            wrote on last edited by smartboart
            #275

            wird auf die Rolle getriggert, hatte das in dem Auszug nicht gesehen...ist schon ne weile her..

            const test = $ ('(functions=Zaehler)');
            test.each(function(id,i){
            log(id);
            });
            
            smartboartS 1 Reply Last reply
            0
            • smartboartS smartboart

              wird auf die Rolle getriggert, hatte das in dem Auszug nicht gesehen...ist schon ne weile her..

              const test = $ ('(functions=Zaehler)');
              test.each(function(id,i){
              log(id);
              });
              
              smartboartS Offline
              smartboartS Offline
              smartboart
              wrote on last edited by smartboart
              #276

              @ArnoD

              probier das mal, also das ist wirklich universell...und kurz

              
              const test = $ ('(functions=Zaehler)');
              test.each(function(id,i){
              log(id);
              });
              
              
              

              Unbenannt.JPG

              triggert nur auf die eingestellte enumeration...sollte doch jeder hinkriegen seine Zaehler der Aufzählung Zaehler zuzuweisen

              A 1 Reply Last reply
              0
              • smartboartS smartboart

                @ArnoD

                probier das mal, also das ist wirklich universell...und kurz

                
                const test = $ ('(functions=Zaehler)');
                test.each(function(id,i){
                log(id);
                });
                
                
                

                Unbenannt.JPG

                triggert nur auf die eingestellte enumeration...sollte doch jeder hinkriegen seine Zaehler der Aufzählung Zaehler zuzuweisen

                A Offline
                A Offline
                ArnoD
                wrote on last edited by
                #277

                @smartboart sagte in E3DC Hauskraftwerk steuern:

                const test = $ ('(functions=Zaehler)'); test.each(function(id,i){ log(id); });

                Super, jetzt funktioniert es :-)

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  ArnoD
                  wrote on last edited by
                  #278

                  Ok habe jetzt erstmal die letzte Änderung im Script eingefügt.
                  Ich hole mir von Proplanta die Uhrzeit wann die Seite das nächste Mal aktualisiert wird und speichere diese unter einem neun State "NaesteAktualisierung". Bei Änderung rufe ich eine Funktion auf die mir wieder eine schedule Funktion startet mit der neuen Aktualisierungszeit plus 10 min.
                  So werden die Proplanta Daten regelmäßig automatisch aktualisiert,

                  Da ich jetzt zwei Tage Zeit habe werde ich mich wieder an der RSCP Schnittstelle von E3DC versuchen. 😖

                  smartboartS 1 Reply Last reply
                  0
                  • A ArnoD

                    Ok habe jetzt erstmal die letzte Änderung im Script eingefügt.
                    Ich hole mir von Proplanta die Uhrzeit wann die Seite das nächste Mal aktualisiert wird und speichere diese unter einem neun State "NaesteAktualisierung". Bei Änderung rufe ich eine Funktion auf die mir wieder eine schedule Funktion startet mit der neuen Aktualisierungszeit plus 10 min.
                    So werden die Proplanta Daten regelmäßig automatisch aktualisiert,

                    Da ich jetzt zwei Tage Zeit habe werde ich mich wieder an der RSCP Schnittstelle von E3DC versuchen. 😖

                    smartboartS Offline
                    smartboartS Offline
                    smartboart
                    wrote on last edited by smartboart
                    #279

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

                    Also im Prinzip würde ich mir das so vorstellen....

                    Wenn zB. Programm 1 Aktiv ist, werden meine Änderungen über die Control Eingabe direkt in der Userconfig für 1 übergeben.

                    Bei aktivem Program 2 in 2 usw. ..

                    Man könnte dann quasi in Echtzeit wenn man gerade auf die vis schaut und sieht, ok hier könnte was angepasst werden eingreifen.

                    Das wäre im Prinzip nicht soviel Aufwand, da alle states schon vorhanden sind.
                    Im Prinzip würde mit Daten schreiben die controldatei beschrieben und auch die user config. Vorher nur ne if programm 1 2 3 4oder 5 dan übernimm die Werte auf var xyz.
                    vlt. noch usecase manuell, dann gelten die Einstellungen die gerade aktiv sind.
                    Dann müsste auch Fall 1 mit automatik verriegelt werden.

                    Nur so ne idee...

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

                    A S 2 Replies Last reply
                    0
                    • smartboartS smartboart

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

                      Also im Prinzip würde ich mir das so vorstellen....

                      Wenn zB. Programm 1 Aktiv ist, werden meine Änderungen über die Control Eingabe direkt in der Userconfig für 1 übergeben.

                      Bei aktivem Program 2 in 2 usw. ..

                      Man könnte dann quasi in Echtzeit wenn man gerade auf die vis schaut und sieht, ok hier könnte was angepasst werden eingreifen.

                      Das wäre im Prinzip nicht soviel Aufwand, da alle states schon vorhanden sind.
                      Im Prinzip würde mit Daten schreiben die controldatei beschrieben und auch die user config. Vorher nur ne if programm 1 2 3 4oder 5 dan übernimm die Werte auf var xyz.
                      vlt. noch usecase manuell, dann gelten die Einstellungen die gerade aktiv sind.
                      Dann müsste auch Fall 1 mit automatik verriegelt werden.

                      Nur so ne idee...

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

                      A Offline
                      A Offline
                      ArnoD
                      wrote on last edited by
                      #280

                      @smartboart
                      Ist eine gute Idee, kann dir bei der Umsetzung nur nicht ganz folgen :-)

                      smartboartS 1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        ArnoD
                        wrote on last edited by
                        #281

                        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);
                        
                        
                        smartboartS 1 Reply Last reply
                        0
                        • A ArnoD

                          @smartboart
                          Ist eine gute Idee, kann dir bei der Umsetzung nur nicht ganz folgen :-)

                          smartboartS Offline
                          smartboartS Offline
                          smartboart
                          wrote on last edited by smartboart
                          #282

                          @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
                          0
                          • A ArnoD

                            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);
                            
                            
                            smartboartS Offline
                            smartboartS Offline
                            smartboart
                            wrote on last edited by
                            #283

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

                            smartboartS 1 Reply Last reply
                            0
                            • smartboartS smartboart

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

                              smartboartS Offline
                              smartboartS Offline
                              smartboart
                              wrote on last edited by
                              #284

                              @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
                              0
                              • smartboartS smartboart

                                @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 Offline
                                A Offline
                                ArnoD
                                wrote on last edited by ArnoD
                                #285

                                @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
                                
                                smartboartS 1 Reply Last reply
                                0
                                • A 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
                                  
                                  smartboartS Offline
                                  smartboartS Offline
                                  smartboart
                                  wrote on last edited by smartboart
                                  #286

                                  @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
                                  0
                                  • smartboartS 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 Offline
                                    A Offline
                                    ArnoD
                                    wrote on last edited by
                                    #287

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

                                    smartboartS 1 Reply Last reply
                                    0
                                    • A ArnoD

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

                                      smartboartS Offline
                                      smartboartS Offline
                                      smartboart
                                      wrote on last edited by
                                      #288

                                      @ArnoD shit

                                      1 Reply Last reply
                                      0
                                      • smartboartS smartboart

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

                                        Also im Prinzip würde ich mir das so vorstellen....

                                        Wenn zB. Programm 1 Aktiv ist, werden meine Änderungen über die Control Eingabe direkt in der Userconfig für 1 übergeben.

                                        Bei aktivem Program 2 in 2 usw. ..

                                        Man könnte dann quasi in Echtzeit wenn man gerade auf die vis schaut und sieht, ok hier könnte was angepasst werden eingreifen.

                                        Das wäre im Prinzip nicht soviel Aufwand, da alle states schon vorhanden sind.
                                        Im Prinzip würde mit Daten schreiben die controldatei beschrieben und auch die user config. Vorher nur ne if programm 1 2 3 4oder 5 dan übernimm die Werte auf var xyz.
                                        vlt. noch usecase manuell, dann gelten die Einstellungen die gerade aktiv sind.
                                        Dann müsste auch Fall 1 mit automatik verriegelt werden.

                                        Nur so ne idee...

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

                                        S Offline
                                        S Offline
                                        stevie77
                                        wrote on last edited by
                                        #289

                                        @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
                                        0
                                        • S stevie77

                                          @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 Offline
                                          A Offline
                                          ArnoD
                                          wrote on last edited by
                                          #290

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

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          447

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe