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. JavaScript
  5. E3DC Hauskraftwerk steuern

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

E3DC Hauskraftwerk steuern

Geplant Angeheftet Gesperrt Verschoben JavaScript
3.5k Beiträge 70 Kommentatoren 1.6m Aufrufe 61 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.
  • smartboartS smartboart

    @ArnoD
    das .state im Selektor steht für siehe bild gelbe markierung
    Unbenannt.JPG

    smartboartS Offline
    smartboartS Offline
    smartboart
    schrieb am zuletzt editiert von
    #267

    problem ist wenn man darauf triggert, müssen alle states so aufgebaut sein. bei meinen modbus zählern ist z.B. . value hinterlegt

    smartboartS A 2 Antworten Letzte Antwort
    0
    • smartboartS smartboart

      problem ist wenn man darauf triggert, müssen alle states so aufgebaut sein. bei meinen modbus zählern ist z.B. . value hinterlegt

      smartboartS Offline
      smartboartS Offline
      smartboart
      schrieb am zuletzt editiert von smartboart
      #268

      bei mir sieht das dann so aus...
      siehe log unten

      Unbenannt.JPG

      1 Antwort Letzte Antwort
      0
      • smartboartS smartboart

        problem ist wenn man darauf triggert, müssen alle states so aufgebaut sein. bei meinen modbus zählern ist z.B. . value hinterlegt

        A Online
        A Online
        ArnoD
        schrieb am zuletzt editiert von
        #269

        @smartboart

        Habe jetzt alle möglichen Schreibweisen probiert, läuft irgendwie nicht.
        Werde mal noch etwas damit spielen nur um was dabei zu lernen :-)

        Kann es so aber nicht verwenden da ich ja nicht weiss wie bei anderen diese Objekte eingetragen sind und es müsste jeder manuell die Zuordnung zu dem Gewerk machen.

        Aber DANKE das ich was lernen durfte, diese Möglichkeit war mir bis jetzt neu.

        smartboartS 1 Antwort Letzte Antwort
        0
        • A ArnoD

          @smartboart

          Habe jetzt alle möglichen Schreibweisen probiert, läuft irgendwie nicht.
          Werde mal noch etwas damit spielen nur um was dabei zu lernen :-)

          Kann es so aber nicht verwenden da ich ja nicht weiss wie bei anderen diese Objekte eingetragen sind und es müsste jeder manuell die Zuordnung zu dem Gewerk machen.

          Aber DANKE das ich was lernen durfte, diese Möglichkeit war mir bis jetzt neu.

          smartboartS Offline
          smartboartS Offline
          smartboart
          schrieb am zuletzt editiert von
          #270

          @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 1 Antwort Letzte Antwort
          0
          • 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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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 Online
              A Online
              ArnoD
              schrieb am zuletzt editiert von
              #272

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

              1 Antwort Letzte Antwort
              0
              • A Online
                A Online
                ArnoD
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      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 Online
                        A Online
                        ArnoD
                        schrieb am zuletzt editiert von
                        #277

                        @smartboart sagte in E3DC Hauskraftwerk steuern:

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

                        Super, jetzt funktioniert es :-)

                        1 Antwort Letzte Antwort
                        0
                        • A Online
                          A Online
                          ArnoD
                          schrieb am zuletzt editiert von
                          #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. :confounded:

                          smartboartS 1 Antwort Letzte Antwort
                          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. :confounded:

                            smartboartS Offline
                            smartboartS Offline
                            smartboart
                            schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                            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 Online
                              A Online
                              ArnoD
                              schrieb am zuletzt editiert von
                              #280

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

                              smartboartS 1 Antwort Letzte Antwort
                              0
                              • A Online
                                A Online
                                ArnoD
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • A ArnoD

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

                                  smartboartS Offline
                                  smartboartS Offline
                                  smartboart
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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 Online
                                        A Online
                                        ArnoD
                                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von 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 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

                                          587

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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