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

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Growatt v3.3.1

NEWS

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

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

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

Test Adapter Growatt v3.3.1

Geplant Angeheftet Gesperrt Verschoben Tester
adaptergrowattpv-anlageshinesolartesttester
808 Beiträge 72 Kommentatoren 355.4k Aufrufe 63 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.
  • PLCHome 0P PLCHome 0

    @wildbill ich habe lieder kein safari, kannst du die Seite debuggen:
    https://wordpress.org/support/article/using-your-browser-to-diagnose-javascript-errors/

    W Online
    W Online
    Wildbill
    schrieb am zuletzt editiert von
    #131

    @plchome-0 So, ich habe mal die Adapter-Konfig jeweils im Safari und Firefox geöffnet und einen Screenshot gemacht, sowie den Inhalt aus der Konsole kopiert:
    Safari
    Safari.png

    [Log] [2022-04-28T04:48:03.564Z] Try to connect (socket.io.js, line 65)
    [Log] " (translate.js, line 24)
                 <i class="material-icons">refresh</i>
               ": {"en": "
                 <i class="material-icons">refresh</i>
               ", "de": "
                 <i class="material-icons">refresh</i>
               ", "ru": "
                 <i class="material-icons">refresh</i>
               ", "pt": "
                 <i class="material-icons">refresh</i>
               ", "nl": "
                 <i class="material-icons">refresh</i>
               ", "fr": "
                 <i class="material-icons">refresh</i>
               ", "es": "
                 <i class="material-icons">refresh</i>
               ", "pl": "
                 <i class="material-icons">refresh</i>
               ", "it": "
                 <i class="material-icons">refresh</i>
               ", "zh-cn": "
                 <i class="material-icons">refresh</i>
               "},
    [Log] " (translate.js, line 24)
                         Action
                       ": {"en": "
                         Action
                       ", "de": "
                         Action
                       ", "ru": "
                         Action
                       ", "pt": "
                         Action
                       ", "nl": "
                         Action
                       ", "fr": "
                         Action
                       ", "es": "
                         Action
                       ", "pl": "
                         Action
                       ", "it": "
                         Action
                       ", "zh-cn": "
                         Action
                       "},
    [Error] TypeError: undefined is not an object (evaluating 'key.length')
       decrypt (index_m.html:42)
       (anonyme Funktion) (adapter-settings.js:441)
       (anonyme Funktion) (socket.io.js:258)
       (anonyme Funktion) (socket.io.js:166)
    

    Firefox
    Firefox.png

    06:51:55.467 Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://sentry.iobroker.net/api/58/envelope/?sentry_key=43643152dab3481db69950ba866ee9d6&sentry_version=7. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).
    2 
    06:51:55.479 Diese Seite befindet sich im Kompatibilitätsmodus (Quirks). Das Seitenlayout kann beeinflusst werden. Verwenden Sie für den Standardmodus "<!DOCTYPE html>".
    index_m.html
    06:51:55.479 Diese Seite befindet sich im Kompatibilitätsmodus (Quirks). Das Seitenlayout kann beeinflusst werden. Verwenden Sie für den Standardmodus "<!DOCTYPE html>".
    index_m.html
    06:51:55.522 [2022-04-28T04:51:55.523Z] Try to connect socket.io.js:59:41
    06:51:55.527 Passwort-Felder sind in einem unsicheren (http://) Iframe vorhanden. Dies ist ein Sicherheitsrisiko, durch das Zugangsdaten gestohlen werden können.
    index_m.html
    06:51:55.560 " <i class="material-icons">refresh</i> ": {"en": " <i class="material-icons">refresh</i> ", "de": " <i class="material-icons">refresh</i> ", "ru": " <i class="material-icons">refresh</i> ", "pt": " <i class="material-icons">refresh</i> ", "nl": " <i class="material-icons">refresh</i> ", "fr": " <i class="material-icons">refresh</i> ", "es": " <i class="material-icons">refresh</i> ", "pl": " <i class="material-icons">refresh</i> ", "it": " <i class="material-icons">refresh</i> ", "zh-cn": " <i class="material-icons">refresh</i> "}, translate.js:24:17
    06:51:55.561 " Action ": {"en": " Action ", "de": " Action ", "ru": " Action ", "pt": " Action ", "nl": " Action ", "fr": " Action ", "es": " Action ", "pl": " Action ", "it": " Action ", "zh-cn": " Action "},
    
    

    Die Ausgaben sind zwar komplett unterschiedlich, aber beides vom selben MAC aus und ziemlich zeitgleich. Kannst Du da was Verdächtiges erkennen oder mich daraufhin gezielt irgendwo weiter "forschen" lassen?

    Gruss, Jürgen

    PLCHome 0P 1 Antwort Letzte Antwort
    0
    • W Wildbill

      @plchome-0 So, ich habe mal die Adapter-Konfig jeweils im Safari und Firefox geöffnet und einen Screenshot gemacht, sowie den Inhalt aus der Konsole kopiert:
      Safari
      Safari.png

      [Log] [2022-04-28T04:48:03.564Z] Try to connect (socket.io.js, line 65)
      [Log] " (translate.js, line 24)
                   <i class="material-icons">refresh</i>
                 ": {"en": "
                   <i class="material-icons">refresh</i>
                 ", "de": "
                   <i class="material-icons">refresh</i>
                 ", "ru": "
                   <i class="material-icons">refresh</i>
                 ", "pt": "
                   <i class="material-icons">refresh</i>
                 ", "nl": "
                   <i class="material-icons">refresh</i>
                 ", "fr": "
                   <i class="material-icons">refresh</i>
                 ", "es": "
                   <i class="material-icons">refresh</i>
                 ", "pl": "
                   <i class="material-icons">refresh</i>
                 ", "it": "
                   <i class="material-icons">refresh</i>
                 ", "zh-cn": "
                   <i class="material-icons">refresh</i>
                 "},
      [Log] " (translate.js, line 24)
                           Action
                         ": {"en": "
                           Action
                         ", "de": "
                           Action
                         ", "ru": "
                           Action
                         ", "pt": "
                           Action
                         ", "nl": "
                           Action
                         ", "fr": "
                           Action
                         ", "es": "
                           Action
                         ", "pl": "
                           Action
                         ", "it": "
                           Action
                         ", "zh-cn": "
                           Action
                         "},
      [Error] TypeError: undefined is not an object (evaluating 'key.length')
         decrypt (index_m.html:42)
         (anonyme Funktion) (adapter-settings.js:441)
         (anonyme Funktion) (socket.io.js:258)
         (anonyme Funktion) (socket.io.js:166)
      

      Firefox
      Firefox.png

      06:51:55.467 Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://sentry.iobroker.net/api/58/envelope/?sentry_key=43643152dab3481db69950ba866ee9d6&sentry_version=7. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).
      2 
      06:51:55.479 Diese Seite befindet sich im Kompatibilitätsmodus (Quirks). Das Seitenlayout kann beeinflusst werden. Verwenden Sie für den Standardmodus "<!DOCTYPE html>".
      index_m.html
      06:51:55.479 Diese Seite befindet sich im Kompatibilitätsmodus (Quirks). Das Seitenlayout kann beeinflusst werden. Verwenden Sie für den Standardmodus "<!DOCTYPE html>".
      index_m.html
      06:51:55.522 [2022-04-28T04:51:55.523Z] Try to connect socket.io.js:59:41
      06:51:55.527 Passwort-Felder sind in einem unsicheren (http://) Iframe vorhanden. Dies ist ein Sicherheitsrisiko, durch das Zugangsdaten gestohlen werden können.
      index_m.html
      06:51:55.560 " <i class="material-icons">refresh</i> ": {"en": " <i class="material-icons">refresh</i> ", "de": " <i class="material-icons">refresh</i> ", "ru": " <i class="material-icons">refresh</i> ", "pt": " <i class="material-icons">refresh</i> ", "nl": " <i class="material-icons">refresh</i> ", "fr": " <i class="material-icons">refresh</i> ", "es": " <i class="material-icons">refresh</i> ", "pl": " <i class="material-icons">refresh</i> ", "it": " <i class="material-icons">refresh</i> ", "zh-cn": " <i class="material-icons">refresh</i> "}, translate.js:24:17
      06:51:55.561 " Action ": {"en": " Action ", "de": " Action ", "ru": " Action ", "pt": " Action ", "nl": " Action ", "fr": " Action ", "es": " Action ", "pl": " Action ", "it": " Action ", "zh-cn": " Action "},
      
      

      Die Ausgaben sind zwar komplett unterschiedlich, aber beides vom selben MAC aus und ziemlich zeitgleich. Kannst Du da was Verdächtiges erkennen oder mich daraufhin gezielt irgendwo weiter "forschen" lassen?

      Gruss, Jürgen

      PLCHome 0P Offline
      PLCHome 0P Offline
      PLCHome 0
      Developer
      schrieb am zuletzt editiert von PLCHome 0
      #132

      @wildbill said in Test Adapter Growatt v1.0.0:

      key.length

      Der Fehler passiert auf Zeile 25 beim Entschlüsseln.
      Er behauptet, der Key hat keine Länge.
      Der wird aber in Zeile 159 gesetzt.
      Komisch.

          <script type="text/javascript">
            let secret;
      
            if (!encrypt || typeof encrypt !== 'function') {
              function encrypt(key, value) {
                if (value === undefined) {
                  value = key;
                  key = secret;
                }
                var result = '';
                for (var i = 0; i < value.length; ++i) {
                  result += String.fromCharCode(key[i % key.length].charCodeAt(0) ^ value.charCodeAt(i));
                }
                return result;
              }
            }
            if (!decrypt || typeof decrypt !== 'function') {
              function decrypt(key, value) {
                if (value === undefined) {
                  value = key;
                  key = secret;
                }
                var result = '';
                for (var i = 0; i < value.length; ++i) {
                  result += String.fromCharCode(key[i % key.length].charCodeAt(0) ^ value.charCodeAt(i));
                }
                return result;
              }
            }
      
            function storeObject(id, obj, objList) {
              let ebene = id.split('.');
              ebene.shift();
              ebene.shift();
              if (ebene[0] == 'info' || ebene.length < 2) {
                return;
              }
              let newId = ebene.join('.');
              //let n = ebene[ebene.length-1]
              //let parent = ebene.slice(0,ebene.length-1).join('.');
              objList.push({ id: newId, name: obj.common.name, type: obj.common.type, created: new Date(obj.ts).toLocaleString(), action: 'normal' });
            }
      
            function showObjList(onChange, settings, objList) {
              update = Object.assign({}, settings.objUpdate);
              objList.forEach(function (o) {
                if (update[o.id.toLowerCase]) {
                  o.action = update[o.id.toLowerCase].action;
                }
                delete update[o.id.toLowerCase];
              });
              Object.keys(update).forEach(id => {
                if (update[id].action == 'delete') {
                  objList.push({ id: update[id].id, name: '', type: '', created: '', action: update[id].action });
                }
              });
              objList.sort(function (dev1, dev2) {
                let x = dev1.id.split('.'),
                  y = dev2.id.split('.');
                while ((x.length > 0 && y.length > 0 && x.length == y.length) || (x.length > 1 && y.length > 1 && x.length != y.length)) {
                  let a = x.shift().toUpperCase();
                  b = y.shift().toUpperCase();
                  if (a != b) {
                    return a > b ? 1 : -1;
                  }
                }
                return y.length - x.length;
              });
              values2table('objects', objList, onChange, function () {
                $('[data-name=id]').attr('disabled', 'disabled');
                $('[data-name=name]').attr('readonly', 'readonly');
                $('[data-name=type]').attr('readonly', 'readonly');
                $('[data-name=created]').attr('readonly', 'readonly');
                return;
              });
            }
      
            function emitObjects(onChange, settings) {
              socket.emit(
                'getObjectView',
                'system',
                'state',
                { startkey: 'growatt.' + instance + '.', endkey: 'growatt.' + instance + '.\u9999', include_docs: true },
                function (err, _objects) {
                  let objList = [];
                  if (_objects && _objects.rows && _objects.rows.length) {
                    for (let j = 0; j < _objects.rows.length; j++) {
                      storeObject(_objects.rows[j].id, _objects.rows[j].value, objList);
                    }
                  }
                  showObjList(onChange, settings, objList);
                }
              );
            }
      
            function loadHelper(settings, onChange) {
              if (!settings) return;
              improveValues(settings);
              $('.value').each(function () {
                var $key = $(this);
                var id = $key.attr('id');
                if (
                  (id === 'password' || id === 'shareKey') &&
                  (typeof supportsFeature !== 'function' || !supportsFeature('ADAPTER_AUTO_DECRYPT_NATIVE'))
                ) {
                  settings[id] = decrypt(secret, settings[id]);
                }
                if ($key.attr('type') === 'checkbox') {
                  // do not call onChange direct, because onChange could expect some arguments
                  $key.prop('checked', settings[id]).on('change', () => onChange());
                } else {
                  // do not call onChange direct, because onChange could expect some arguments
                  $key
                    .val(settings[id])
                    .on('change', () => onChange())
                    .on('keyup', () => onChange());
                }
              });
              $('#keyLogin')
                .change(function () {
                  if ($(this).prop('checked')) {
                    $('.user').hide();
                    $('.password').hide();
                    $('.shareKey').show();
                  } else {
                    $('.user').show();
                    $('.password').show();
                    $('.shareKey').hide();
                  }
                })
                .trigger('change');
              $('#sessionHold')
                .change(function () {
                  if ($(this).prop('checked')) {
                    $('.sessionTime').show();
                  } else {
                    $('.sessionTime').hide();
                  }
                })
                .trigger('change');
              onChange(false);
      
              settings.objUpdate = settings.objUpdate || {};
              emitObjects(onChange, settings);
              $('#tab-manage-objects')
                .find('.btn-objects-reload')
                .on('click', function () {
                  var obj = {};
                  obj.objUpdate = getObjUpdate();
                  emitObjects(onChange, obj);
                });
              // reinitialize all the Materialize labels on the page if you are dynamically adding inputs:
              if (M) M.updateTextFields();
            }
      
            // This will be called by the admin adapter when the settings page loads
            function load(settings, onChange) {
              socket.emit('getObject', 'system.config', function (err, obj) {
                secret = (obj.native ? obj.native.secret : '') || 'Zgfr56gFe87jJOM';
                loadHelper(settings, onChange);
              });
              onChange(false);
            }
      

      Kannst du die Seite einmal anpassen und schauen, was secret macht?
      In das Installationsverzeichnis wechseln normal cd /opt/iobroker
      dann in den Adapter Admin cd node_modules/iobroker.growatt/admin
      Und dort mit nano oder vi editieren nano index_m.html
      danach cd /opt/iobroker
      und iobroker upload growatt eingeben

      // This will be called by the admin adapter when the settings page loads
            function load(settings, onChange) {
              socket.emit('getObject', 'system.config', function (err, obj) {
                console.log(obj.native) // <== dieses einfügen
                console.log(err) // <== dieses einfügen
                secret = (obj.native ? obj.native.secret : '') || 'Zgfr56gFe87jJOM';
                console.log(secret) // <== dieses einfügen
                loadHelper(settings, onChange);
              });
              onChange(false);
            }
      

      Sollte dann so aussehen:

      {secret: '53ea2cb8f1eeea7cd82------76'}
      null
      53ea2cb8f1eeea7cd82----76
      
      W 1 Antwort Letzte Antwort
      0
      • PLCHome 0P PLCHome 0

        @wildbill said in Test Adapter Growatt v1.0.0:

        key.length

        Der Fehler passiert auf Zeile 25 beim Entschlüsseln.
        Er behauptet, der Key hat keine Länge.
        Der wird aber in Zeile 159 gesetzt.
        Komisch.

            <script type="text/javascript">
              let secret;
        
              if (!encrypt || typeof encrypt !== 'function') {
                function encrypt(key, value) {
                  if (value === undefined) {
                    value = key;
                    key = secret;
                  }
                  var result = '';
                  for (var i = 0; i < value.length; ++i) {
                    result += String.fromCharCode(key[i % key.length].charCodeAt(0) ^ value.charCodeAt(i));
                  }
                  return result;
                }
              }
              if (!decrypt || typeof decrypt !== 'function') {
                function decrypt(key, value) {
                  if (value === undefined) {
                    value = key;
                    key = secret;
                  }
                  var result = '';
                  for (var i = 0; i < value.length; ++i) {
                    result += String.fromCharCode(key[i % key.length].charCodeAt(0) ^ value.charCodeAt(i));
                  }
                  return result;
                }
              }
        
              function storeObject(id, obj, objList) {
                let ebene = id.split('.');
                ebene.shift();
                ebene.shift();
                if (ebene[0] == 'info' || ebene.length < 2) {
                  return;
                }
                let newId = ebene.join('.');
                //let n = ebene[ebene.length-1]
                //let parent = ebene.slice(0,ebene.length-1).join('.');
                objList.push({ id: newId, name: obj.common.name, type: obj.common.type, created: new Date(obj.ts).toLocaleString(), action: 'normal' });
              }
        
              function showObjList(onChange, settings, objList) {
                update = Object.assign({}, settings.objUpdate);
                objList.forEach(function (o) {
                  if (update[o.id.toLowerCase]) {
                    o.action = update[o.id.toLowerCase].action;
                  }
                  delete update[o.id.toLowerCase];
                });
                Object.keys(update).forEach(id => {
                  if (update[id].action == 'delete') {
                    objList.push({ id: update[id].id, name: '', type: '', created: '', action: update[id].action });
                  }
                });
                objList.sort(function (dev1, dev2) {
                  let x = dev1.id.split('.'),
                    y = dev2.id.split('.');
                  while ((x.length > 0 && y.length > 0 && x.length == y.length) || (x.length > 1 && y.length > 1 && x.length != y.length)) {
                    let a = x.shift().toUpperCase();
                    b = y.shift().toUpperCase();
                    if (a != b) {
                      return a > b ? 1 : -1;
                    }
                  }
                  return y.length - x.length;
                });
                values2table('objects', objList, onChange, function () {
                  $('[data-name=id]').attr('disabled', 'disabled');
                  $('[data-name=name]').attr('readonly', 'readonly');
                  $('[data-name=type]').attr('readonly', 'readonly');
                  $('[data-name=created]').attr('readonly', 'readonly');
                  return;
                });
              }
        
              function emitObjects(onChange, settings) {
                socket.emit(
                  'getObjectView',
                  'system',
                  'state',
                  { startkey: 'growatt.' + instance + '.', endkey: 'growatt.' + instance + '.\u9999', include_docs: true },
                  function (err, _objects) {
                    let objList = [];
                    if (_objects && _objects.rows && _objects.rows.length) {
                      for (let j = 0; j < _objects.rows.length; j++) {
                        storeObject(_objects.rows[j].id, _objects.rows[j].value, objList);
                      }
                    }
                    showObjList(onChange, settings, objList);
                  }
                );
              }
        
              function loadHelper(settings, onChange) {
                if (!settings) return;
                improveValues(settings);
                $('.value').each(function () {
                  var $key = $(this);
                  var id = $key.attr('id');
                  if (
                    (id === 'password' || id === 'shareKey') &&
                    (typeof supportsFeature !== 'function' || !supportsFeature('ADAPTER_AUTO_DECRYPT_NATIVE'))
                  ) {
                    settings[id] = decrypt(secret, settings[id]);
                  }
                  if ($key.attr('type') === 'checkbox') {
                    // do not call onChange direct, because onChange could expect some arguments
                    $key.prop('checked', settings[id]).on('change', () => onChange());
                  } else {
                    // do not call onChange direct, because onChange could expect some arguments
                    $key
                      .val(settings[id])
                      .on('change', () => onChange())
                      .on('keyup', () => onChange());
                  }
                });
                $('#keyLogin')
                  .change(function () {
                    if ($(this).prop('checked')) {
                      $('.user').hide();
                      $('.password').hide();
                      $('.shareKey').show();
                    } else {
                      $('.user').show();
                      $('.password').show();
                      $('.shareKey').hide();
                    }
                  })
                  .trigger('change');
                $('#sessionHold')
                  .change(function () {
                    if ($(this).prop('checked')) {
                      $('.sessionTime').show();
                    } else {
                      $('.sessionTime').hide();
                    }
                  })
                  .trigger('change');
                onChange(false);
        
                settings.objUpdate = settings.objUpdate || {};
                emitObjects(onChange, settings);
                $('#tab-manage-objects')
                  .find('.btn-objects-reload')
                  .on('click', function () {
                    var obj = {};
                    obj.objUpdate = getObjUpdate();
                    emitObjects(onChange, obj);
                  });
                // reinitialize all the Materialize labels on the page if you are dynamically adding inputs:
                if (M) M.updateTextFields();
              }
        
              // This will be called by the admin adapter when the settings page loads
              function load(settings, onChange) {
                socket.emit('getObject', 'system.config', function (err, obj) {
                  secret = (obj.native ? obj.native.secret : '') || 'Zgfr56gFe87jJOM';
                  loadHelper(settings, onChange);
                });
                onChange(false);
              }
        

        Kannst du die Seite einmal anpassen und schauen, was secret macht?
        In das Installationsverzeichnis wechseln normal cd /opt/iobroker
        dann in den Adapter Admin cd node_modules/iobroker.growatt/admin
        Und dort mit nano oder vi editieren nano index_m.html
        danach cd /opt/iobroker
        und iobroker upload growatt eingeben

        // This will be called by the admin adapter when the settings page loads
              function load(settings, onChange) {
                socket.emit('getObject', 'system.config', function (err, obj) {
                  console.log(obj.native) // <== dieses einfügen
                  console.log(err) // <== dieses einfügen
                  secret = (obj.native ? obj.native.secret : '') || 'Zgfr56gFe87jJOM';
                  console.log(secret) // <== dieses einfügen
                  loadHelper(settings, onChange);
                });
                onChange(false);
              }
        

        Sollte dann so aussehen:

        {secret: '53ea2cb8f1eeea7cd82------76'}
        null
        53ea2cb8f1eeea7cd82----76
        
        W Online
        W Online
        Wildbill
        schrieb am zuletzt editiert von
        #133

        @plchome-0 sagte in Test Adapter Growatt v1.0.0:

        {secret: '53ea2cb8f1eeea7cd82------76'}

        Du meintest schon, dass ich den kompletten Block ab "Funktion load" bis einschließlich der geschweiften Klammer unter dem Block, also die kompletten Zeilen 1-11 in Deinem ersten Code oben durch Zeile 1 des zweiten Code-Block ersetze? Die Zeilen 2 und 3 sind wohl so rein gerutscht?
        Falls ja, dann habe ich das zumindest so gemacht und einen Teilerfolg. Sowohl Firefox als auch Safari bringen jetzt beim Aufruf der Admin-Seite eine Meldung

        Please implement save function in your admin/index.html
        

        und die Seite öffnet sich ohne irgendwelche eingetragenen Werte. ABER. Ich könnte so sowohl in Firefox als auch Safari Änderungen vornehmen. Im Safari hatte ich vorher ja nichtmal irgendwelche Checkboxen zum Anklicken. In der Konsole von Safari tauchen die Meldungen am Schluss (die letzten 5 Zeilen) auch nicht mehr auf.

        Ich spiele mal die Datei zurück und mache noch einen Upload, damit wieder Daten vom Großtat reinkommen, sage aber schonmal Danke, die Richtung scheint zu stimmen. Keine Ahnung was Safari da anders macht als andere Browser...

        Gruss, Jürgen

        PLCHome 0P 1 Antwort Letzte Antwort
        0
        • W Wildbill

          @plchome-0 sagte in Test Adapter Growatt v1.0.0:

          {secret: '53ea2cb8f1eeea7cd82------76'}

          Du meintest schon, dass ich den kompletten Block ab "Funktion load" bis einschließlich der geschweiften Klammer unter dem Block, also die kompletten Zeilen 1-11 in Deinem ersten Code oben durch Zeile 1 des zweiten Code-Block ersetze? Die Zeilen 2 und 3 sind wohl so rein gerutscht?
          Falls ja, dann habe ich das zumindest so gemacht und einen Teilerfolg. Sowohl Firefox als auch Safari bringen jetzt beim Aufruf der Admin-Seite eine Meldung

          Please implement save function in your admin/index.html
          

          und die Seite öffnet sich ohne irgendwelche eingetragenen Werte. ABER. Ich könnte so sowohl in Firefox als auch Safari Änderungen vornehmen. Im Safari hatte ich vorher ja nichtmal irgendwelche Checkboxen zum Anklicken. In der Konsole von Safari tauchen die Meldungen am Schluss (die letzten 5 Zeilen) auch nicht mehr auf.

          Ich spiele mal die Datei zurück und mache noch einen Upload, damit wieder Daten vom Großtat reinkommen, sage aber schonmal Danke, die Richtung scheint zu stimmen. Keine Ahnung was Safari da anders macht als andere Browser...

          Gruss, Jürgen

          PLCHome 0P Offline
          PLCHome 0P Offline
          PLCHome 0
          Developer
          schrieb am zuletzt editiert von
          #134

          @wildbill said in Test Adapter Growatt v1.0.0:

          das zumin

          In der Datei index_m.html ab Zeile 174 die Funktion erstezen.
          e8bd488f-0751-46db-84a1-0cc086990b03-image.png

          gegen::
          559a6db0-a376-447d-843e-ec0ebb3e41e7-image.png

          W 1 Antwort Letzte Antwort
          0
          • PLCHome 0P PLCHome 0

            @wildbill said in Test Adapter Growatt v1.0.0:

            das zumin

            In der Datei index_m.html ab Zeile 174 die Funktion erstezen.
            e8bd488f-0751-46db-84a1-0cc086990b03-image.png

            gegen::
            559a6db0-a376-447d-843e-ec0ebb3e41e7-image.png

            W Online
            W Online
            Wildbill
            schrieb am zuletzt editiert von
            #135

            @plchome-0 In der Debug-Konsole in Firefox komt das hier und die Seite funktioniert:

            
            11:30:45.292
            Uncaught Error: No DOM node set for aPlacesNode.
            node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]
               PVB__getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:137
               PBV_nodeMoved chrome://browser/content/places/browserPlacesViews.js:624
            browserPlacesViews.js:137:13
               PVB__getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:137
               PBV_nodeMoved chrome://browser/content/places/browserPlacesViews.js:624
            11:30:45.299
            Uncaught Error: No DOM node set for aPlacesNode.
            node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]
               PVB__getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:137
               PVB_nodeIconChanged chrome://browser/content/places/browserPlacesViews.js:514
            browserPlacesViews.js:137:13
               PVB__getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:137
               PVB_nodeIconChanged chrome://browser/content/places/browserPlacesViews.js:514
            
            


            In Safari kommt das hier und die Seite geht nicht:

            [Log] [2022-04-28T09:33:32.884Z] Try to connect (socket.io.js, line 65)
            [Log] " (translate.js, line 24)
                         <i class="material-icons">refresh</i>
                       ": {"en": "
                         <i class="material-icons">refresh</i>
                       ", "de": "
                         <i class="material-icons">refresh</i>
                       ", "ru": "
                         <i class="material-icons">refresh</i>
                       ", "pt": "
                         <i class="material-icons">refresh</i>
                       ", "nl": "
                         <i class="material-icons">refresh</i>
                       ", "fr": "
                         <i class="material-icons">refresh</i>
                       ", "es": "
                         <i class="material-icons">refresh</i>
                       ", "pl": "
                         <i class="material-icons">refresh</i>
                       ", "it": "
                         <i class="material-icons">refresh</i>
                       ", "zh-cn": "
                         <i class="material-icons">refresh</i>
                       "},
            [Log] " (translate.js, line 24)
                                 Action
                               ": {"en": "
                                 Action
                               ", "de": "
                                 Action
                               ", "ru": "
                                 Action
                               ", "pt": "
                                 Action
                               ", "nl": "
                                 Action
                               ", "fr": "
                                 Action
                               ", "es": "
                                 Action
                               ", "pl": "
                                 Action
                               ", "it": "
                                 Action
                               ", "zh-cn": "
                                 Action
                               "},
            [Error] TypeError: undefined is not an object (evaluating 'key.length')
               decrypt (index_m.html:42)
               (anonyme Funktion) (adapter-settings.js:441)
               (anonyme Funktion) (socket.io.js:258)
               (anonyme Funktion) (socket.io.js:166)
            

            Im Log von iobroker kommt beide Mal gar nichts.

            Gruss, Jürgen

            PLCHome 0P 1 Antwort Letzte Antwort
            0
            • W Wildbill

              @plchome-0 In der Debug-Konsole in Firefox komt das hier und die Seite funktioniert:

              
              11:30:45.292
              Uncaught Error: No DOM node set for aPlacesNode.
              node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]
                 PVB__getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:137
                 PBV_nodeMoved chrome://browser/content/places/browserPlacesViews.js:624
              browserPlacesViews.js:137:13
                 PVB__getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:137
                 PBV_nodeMoved chrome://browser/content/places/browserPlacesViews.js:624
              11:30:45.299
              Uncaught Error: No DOM node set for aPlacesNode.
              node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]
                 PVB__getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:137
                 PVB_nodeIconChanged chrome://browser/content/places/browserPlacesViews.js:514
              browserPlacesViews.js:137:13
                 PVB__getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:137
                 PVB_nodeIconChanged chrome://browser/content/places/browserPlacesViews.js:514
              
              


              In Safari kommt das hier und die Seite geht nicht:

              [Log] [2022-04-28T09:33:32.884Z] Try to connect (socket.io.js, line 65)
              [Log] " (translate.js, line 24)
                           <i class="material-icons">refresh</i>
                         ": {"en": "
                           <i class="material-icons">refresh</i>
                         ", "de": "
                           <i class="material-icons">refresh</i>
                         ", "ru": "
                           <i class="material-icons">refresh</i>
                         ", "pt": "
                           <i class="material-icons">refresh</i>
                         ", "nl": "
                           <i class="material-icons">refresh</i>
                         ", "fr": "
                           <i class="material-icons">refresh</i>
                         ", "es": "
                           <i class="material-icons">refresh</i>
                         ", "pl": "
                           <i class="material-icons">refresh</i>
                         ", "it": "
                           <i class="material-icons">refresh</i>
                         ", "zh-cn": "
                           <i class="material-icons">refresh</i>
                         "},
              [Log] " (translate.js, line 24)
                                   Action
                                 ": {"en": "
                                   Action
                                 ", "de": "
                                   Action
                                 ", "ru": "
                                   Action
                                 ", "pt": "
                                   Action
                                 ", "nl": "
                                   Action
                                 ", "fr": "
                                   Action
                                 ", "es": "
                                   Action
                                 ", "pl": "
                                   Action
                                 ", "it": "
                                   Action
                                 ", "zh-cn": "
                                   Action
                                 "},
              [Error] TypeError: undefined is not an object (evaluating 'key.length')
                 decrypt (index_m.html:42)
                 (anonyme Funktion) (adapter-settings.js:441)
                 (anonyme Funktion) (socket.io.js:258)
                 (anonyme Funktion) (socket.io.js:166)
              

              Im Log von iobroker kommt beide Mal gar nichts.

              Gruss, Jürgen

              PLCHome 0P Offline
              PLCHome 0P Offline
              PLCHome 0
              Developer
              schrieb am zuletzt editiert von
              #136

              @wildbill ja ich hab den Fehler:
              er kommt mit let secret nicht klar weil ihm der Typ fehlt.

              let secret = '';
              

              in Zeile 19 sollte das Problem beheben, zumindest funktioniert es jetzt auf meinem iPhone.

              Ich mach gleich ein Update....

              W 1 Antwort Letzte Antwort
              0
              • PLCHome 0P PLCHome 0

                @wildbill ja ich hab den Fehler:
                er kommt mit let secret nicht klar weil ihm der Typ fehlt.

                let secret = '';
                

                in Zeile 19 sollte das Problem beheben, zumindest funktioniert es jetzt auf meinem iPhone.

                Ich mach gleich ein Update....

                W Online
                W Online
                Wildbill
                schrieb am zuletzt editiert von
                #137

                @plchome-0 sagte in Test Adapter Growatt v1.0.0:

                @wildbill ja ich hab den Fehler:
                er kommt mit let secret nicht klar weil ihm der Typ fehlt.

                let secret = '';
                

                in Zeile 19 sollte das Problem beheben, zumindest funktioniert es jetzt auf meinem iPhone.

                Ich mach gleich ein Update....

                Ich habe Zeile 19 dahingehend geändert, die drei neuen console-Zeilen auskommentiert und einen Upload gemacht. nach dem Start zeigt Firefox alles wie gehabt an, bei Safari auf dem MAC aber immer noch nicht.
                Ich warte mal auf das Update und teste dann nochmal durch inklusive iPad und iPhone.
                Danke auf jeden Fall für Deine Mühen. :+1:
                Gruss, Jürgen

                PLCHome 0P 2 Antworten Letzte Antwort
                0
                • W Wildbill

                  @plchome-0 sagte in Test Adapter Growatt v1.0.0:

                  @wildbill ja ich hab den Fehler:
                  er kommt mit let secret nicht klar weil ihm der Typ fehlt.

                  let secret = '';
                  

                  in Zeile 19 sollte das Problem beheben, zumindest funktioniert es jetzt auf meinem iPhone.

                  Ich mach gleich ein Update....

                  Ich habe Zeile 19 dahingehend geändert, die drei neuen console-Zeilen auskommentiert und einen Upload gemacht. nach dem Start zeigt Firefox alles wie gehabt an, bei Safari auf dem MAC aber immer noch nicht.
                  Ich warte mal auf das Update und teste dann nochmal durch inklusive iPad und iPhone.
                  Danke auf jeden Fall für Deine Mühen. :+1:
                  Gruss, Jürgen

                  PLCHome 0P Offline
                  PLCHome 0P Offline
                  PLCHome 0
                  Developer
                  schrieb am zuletzt editiert von
                  #138

                  @wildbill said in Test Adapter Growatt v1.0.0:

                  ei Safari auf

                  kannst du die 1.1.15 auf latest abrufen?

                  1 Antwort Letzte Antwort
                  0
                  • W Wildbill

                    @plchome-0 sagte in Test Adapter Growatt v1.0.0:

                    @wildbill ja ich hab den Fehler:
                    er kommt mit let secret nicht klar weil ihm der Typ fehlt.

                    let secret = '';
                    

                    in Zeile 19 sollte das Problem beheben, zumindest funktioniert es jetzt auf meinem iPhone.

                    Ich mach gleich ein Update....

                    Ich habe Zeile 19 dahingehend geändert, die drei neuen console-Zeilen auskommentiert und einen Upload gemacht. nach dem Start zeigt Firefox alles wie gehabt an, bei Safari auf dem MAC aber immer noch nicht.
                    Ich warte mal auf das Update und teste dann nochmal durch inklusive iPad und iPhone.
                    Danke auf jeden Fall für Deine Mühen. :+1:
                    Gruss, Jürgen

                    PLCHome 0P Offline
                    PLCHome 0P Offline
                    PLCHome 0
                    Developer
                    schrieb am zuletzt editiert von
                    #139

                    @wildbill mein Fehler, es geht immer noch nicht. Wenn ich die Tabs hin- und herschalte und dann einen refesch mache, kommen die Daten. Bin darauf reingefallen.

                    W 3 Antworten Letzte Antwort
                    0
                    • PLCHome 0P PLCHome 0

                      @wildbill mein Fehler, es geht immer noch nicht. Wenn ich die Tabs hin- und herschalte und dann einen refesch mache, kommen die Daten. Bin darauf reingefallen.

                      W Online
                      W Online
                      Wildbill
                      schrieb am zuletzt editiert von
                      #140

                      @plchome-0 Das heisst, ich brauche die 1.1.15 nicht extra testen?

                      Gruss, Jürgen

                      1 Antwort Letzte Antwort
                      0
                      • PLCHome 0P PLCHome 0

                        @wildbill mein Fehler, es geht immer noch nicht. Wenn ich die Tabs hin- und herschalte und dann einen refesch mache, kommen die Daten. Bin darauf reingefallen.

                        W Online
                        W Online
                        Wildbill
                        schrieb am zuletzt editiert von
                        #141

                        @plchome-0 Will Dich nicht enttäuschen, aber es LÄUFT! :+1: :+1: :+1:
                        Da der Adapter gerade eh mal wieder einige Fehler im Log warf und nicht verbinden wollte habe ich das Update auf die 1.1.15 (über latest kam übrigens nur die 1.1.14) direkt von Github gemacht. Und was soll ich sagen, im Safari kann ich nun auch ganz normal die Admin-Site aufmachen und die Werte stehen auch sofort da und ich kann alles bedienen und ändern. Das nenne ich mal Support!
                        Vielen Dank. Dein letzter Post scheint also hinfällig zu sein!

                        Gruss, Jürgen

                        PLCHome 0P 2 Antworten Letzte Antwort
                        0
                        • W Wildbill

                          @plchome-0 Will Dich nicht enttäuschen, aber es LÄUFT! :+1: :+1: :+1:
                          Da der Adapter gerade eh mal wieder einige Fehler im Log warf und nicht verbinden wollte habe ich das Update auf die 1.1.15 (über latest kam übrigens nur die 1.1.14) direkt von Github gemacht. Und was soll ich sagen, im Safari kann ich nun auch ganz normal die Admin-Site aufmachen und die Werte stehen auch sofort da und ich kann alles bedienen und ändern. Das nenne ich mal Support!
                          Vielen Dank. Dein letzter Post scheint also hinfällig zu sein!

                          Gruss, Jürgen

                          PLCHome 0P Offline
                          PLCHome 0P Offline
                          PLCHome 0
                          Developer
                          schrieb am zuletzt editiert von
                          #142

                          @wildbill
                          Das mit der Veröffentlichung läuft in 4 Schritten:

                          Ich checke den Adapter in Github ein, dort läuft ein Job der ihn prüft.
                          Danach mache bei NPM einen publish, damit ist der Adapter über npm nach ca 5min installierbar.

                          Die Jungs vom iobroker Team durchsuchen, ich glaube 2x der 4x täglich NPM nach neuen Adaptern, dann kannst du den Adapter über den ioBroker als Latest installieren.

                          Als Nächstes muss ich die Versionsnummer im iobroker Repository anpassen und einen Mergerequest stellen. Dann übernehmen die ioBroker Jungs den Adapter nach Stable.

                          1 Antwort Letzte Antwort
                          0
                          • W Wildbill

                            @plchome-0 Will Dich nicht enttäuschen, aber es LÄUFT! :+1: :+1: :+1:
                            Da der Adapter gerade eh mal wieder einige Fehler im Log warf und nicht verbinden wollte habe ich das Update auf die 1.1.15 (über latest kam übrigens nur die 1.1.14) direkt von Github gemacht. Und was soll ich sagen, im Safari kann ich nun auch ganz normal die Admin-Site aufmachen und die Werte stehen auch sofort da und ich kann alles bedienen und ändern. Das nenne ich mal Support!
                            Vielen Dank. Dein letzter Post scheint also hinfällig zu sein!

                            Gruss, Jürgen

                            PLCHome 0P Offline
                            PLCHome 0P Offline
                            PLCHome 0
                            Developer
                            schrieb am zuletzt editiert von
                            #143

                            @wildbill Strange, won't work on my iPhone

                            1 Antwort Letzte Antwort
                            0
                            • PLCHome 0P PLCHome 0

                              @wildbill mein Fehler, es geht immer noch nicht. Wenn ich die Tabs hin- und herschalte und dann einen refesch mache, kommen die Daten. Bin darauf reingefallen.

                              W Online
                              W Online
                              Wildbill
                              schrieb am zuletzt editiert von
                              #144

                              Kein Problem, das heisst, ich hätte anstatt mein Repo kurz auf latest zu stellen und zu schauen, was da kommt einfach bei der "Katze" auf dem NPM-Reiter den Adapter ziehen müssen und es wäre auch die aktuelle 1.1.15 gewesen? Wusste ich so nicht, wenn ich was direkt aktuelles will, schmeisse ich meistens den Github-Link als Text rein. Das hat bisher immer geklappt.
                              Was meintest Du denn nun mit Deinem Post vorhin:

                              @plchome-0 sagte in Test Adapter Growatt v1.0.0:

                              @wildbill mein Fehler, es geht immer noch nicht. Wenn ich die Tabs hin- und herschalte und dann einen refesch mache, kommen die Daten. Bin darauf reingefallen.

                              Sollte es bei mir eigentlich gar nicht funktionieren, nachdem es auf iPad und Mac nun geht?
                              iPhone hab ich noch nicht getestet, da ist mir iobroker zu pummelig. Habe es aber eben nachgeholt, auch da würde die Seite aufgehen, auch wenn ich auf dem Screen keinen iobroker administrieren wollte...

                              Also von meiner Seite würde ich sagen, es passt. Vielleicht finden sich ja noch ein paar mit Apple-Hardware und Safari die Gegenchecken?!

                              Auf jeden Fall Spitzenklasse von Dir.

                              Gruss, Jürgen

                              PLCHome 0P 1 Antwort Letzte Antwort
                              0
                              • W Wildbill

                                Kein Problem, das heisst, ich hätte anstatt mein Repo kurz auf latest zu stellen und zu schauen, was da kommt einfach bei der "Katze" auf dem NPM-Reiter den Adapter ziehen müssen und es wäre auch die aktuelle 1.1.15 gewesen? Wusste ich so nicht, wenn ich was direkt aktuelles will, schmeisse ich meistens den Github-Link als Text rein. Das hat bisher immer geklappt.
                                Was meintest Du denn nun mit Deinem Post vorhin:

                                @plchome-0 sagte in Test Adapter Growatt v1.0.0:

                                @wildbill mein Fehler, es geht immer noch nicht. Wenn ich die Tabs hin- und herschalte und dann einen refesch mache, kommen die Daten. Bin darauf reingefallen.

                                Sollte es bei mir eigentlich gar nicht funktionieren, nachdem es auf iPad und Mac nun geht?
                                iPhone hab ich noch nicht getestet, da ist mir iobroker zu pummelig. Habe es aber eben nachgeholt, auch da würde die Seite aufgehen, auch wenn ich auf dem Screen keinen iobroker administrieren wollte...

                                Also von meiner Seite würde ich sagen, es passt. Vielleicht finden sich ja noch ein paar mit Apple-Hardware und Safari die Gegenchecken?!

                                Auf jeden Fall Spitzenklasse von Dir.

                                Gruss, Jürgen

                                PLCHome 0P Offline
                                PLCHome 0P Offline
                                PLCHome 0
                                Developer
                                schrieb am zuletzt editiert von
                                #145

                                @wildbill
                                all roads lead to Rome

                                Ist doch egal, so ging es am schnellsten :-)

                                1 Antwort Letzte Antwort
                                1
                                • PLCHome 0P PLCHome 0
                                  Aktuelle Test Version 3.3.1
                                  Veröffentlichungsdatum 13.08.2024
                                  Github Link https://github.com/PLCHome/ioBroker.growatt

                                  Hallo,

                                  ich habe einen Growatt SPH4000 Solar Wechselrichter mit ACCU.
                                  Growatt bietet zum Überwachen seiner Solarsysteme eine Webseite und eine App an.
                                  Ich habe die API benutzt, um einen Adapter für ioBroker zu erstellen.

                                  Zu Installation: Der Adapter kann über den ioBroker mit der Einstellung Beta (latest) installiert werden.

                                  Der Adapter fragt alle 30sec. die Werte des Wechselrichters ab und legt diese als einzelne Objekte ab.
                                  Die Werte ändern sich wie in der Shine App und im Webportal nur alle 5min.

                                  Leider sind alle Gerätetypen bei Gowatt mit einer anderen API ausgestattet. Ich habe versucht, so viele wie möglich zu Implementieren.

                                  Wäre nett wenn ihr den Adapter testen könntet damit ich mit der 0.0.14 in die Stable (default) komme.

                                  Hello,

                                  I have a Growatt SPH4000 solar inverter with ACCU.
                                  Growatt offers a website and an app for monitoring its solar systems.
                                  I used the API to create an adapter for ioBroker.

                                  To installation: The adapter can be installed via the ioBroker with the setting Beta (latest).

                                  The adapter asks every 30sec. saves the values ​​of the inverter and saves them as individual objects.
                                  As in the Shine app and in the web portal, the values ​​change only every 5 minutes.

                                  Unfortunately, all device types at Gowatt have a different API. I tried to implement as many as possible.

                                  Would be nice if you could test the adapter so that I can get into the stable (default) with 0.0.14.

                                  PLCHome 0P Offline
                                  PLCHome 0P Offline
                                  PLCHome 0
                                  Developer
                                  schrieb am zuletzt editiert von PLCHome 0
                                  #146

                                  @plchome-0
                                  Hi, wenns einem gefällt, würde ich mich über Sternchen freuen :-)

                                  Eine Stimme ist traurig..
                                  87449533-71a1-4fd5-80b1-37f69643a8cd-image.png

                                  Noch 18 :-)
                                  c5a138f7-8785-47f8-b41a-820530230237-image.png

                                  W G PLCHome 0P 3 Antworten Letzte Antwort
                                  2
                                  • PLCHome 0P PLCHome 0

                                    @plchome-0
                                    Hi, wenns einem gefällt, würde ich mich über Sternchen freuen :-)

                                    Eine Stimme ist traurig..
                                    87449533-71a1-4fd5-80b1-37f69643a8cd-image.png

                                    Noch 18 :-)
                                    c5a138f7-8785-47f8-b41a-820530230237-image.png

                                    W Online
                                    W Online
                                    Wildbill
                                    schrieb am zuletzt editiert von
                                    #147

                                    @plchome-0 Wenn Du das jetzt nicht geschrieben, hätte ich vermutlich nie erfahren, dass man in iobroker unter Adapter diese auch bewerten kann. :face_with_rolling_eyes: Ich würde mal fast behaupten wollen, dass das die meisten nicht kennen und wissen. Ich bin ja nun auch schon ein paar Jahre bei iobroker dabei, aber das ist mir echt neu.

                                    Die Sterne waren zwar immer da, aber da ich die Adapter nicht als Kachel sondern als Liste anzeigen lasse, habe ich da nie drauf geachtet. Schande über mich. Deinen habe ich schon bewertet. Dann werde ich jetzt mal noch ein paar weitere Adapter voten. :+1:

                                    Gruss, Jürgen

                                    1 Antwort Letzte Antwort
                                    0
                                    • PLCHome 0P PLCHome 0

                                      @plchome-0
                                      Hi, wenns einem gefällt, würde ich mich über Sternchen freuen :-)

                                      Eine Stimme ist traurig..
                                      87449533-71a1-4fd5-80b1-37f69643a8cd-image.png

                                      Noch 18 :-)
                                      c5a138f7-8785-47f8-b41a-820530230237-image.png

                                      G Offline
                                      G Offline
                                      Garf
                                      schrieb am zuletzt editiert von
                                      #148

                                      @plchome-0 sagte in Test Adapter Growatt v1.0.0:

                                      Eine Stimme ist traurig..

                                      Immerhin schon vier Bewertungen. In der Tat für die viele Arbeit bisher nocht nicht wirklich viel. Ich kann nur sagen, hat auf Anhieb funktioniert und liefert zuverlässig Daten. Dafür hat es sich gelohnt ioBroker auf der NAS zu installieren. Auch wenn ich insgesamt bisher nur drei Werte weiterverarbeite. Danke für den tollen Adapter.

                                      1 Antwort Letzte Antwort
                                      1
                                      • W Online
                                        W Online
                                        Wildbill
                                        schrieb am zuletzt editiert von
                                        #149

                                        @PLCHome-0 Richte doch auf Deiner Github-Site einen Donati-Button ein. Vielleicht lässt der eine oder andere mal ein virtuelles Bier oder eine ganze Kiste springen. Finden vermutlich mehr als die Bewertungsfunktion direkt in iobroker und hast auch einen direkten Nutzen davon. Machen ja doch einige Developer die in und um iobroker tätig sind.
                                        Gruss, Jürgen

                                        1 Antwort Letzte Antwort
                                        0
                                        • PLCHome 0P PLCHome 0
                                          Aktuelle Test Version 3.3.1
                                          Veröffentlichungsdatum 13.08.2024
                                          Github Link https://github.com/PLCHome/ioBroker.growatt

                                          Hallo,

                                          ich habe einen Growatt SPH4000 Solar Wechselrichter mit ACCU.
                                          Growatt bietet zum Überwachen seiner Solarsysteme eine Webseite und eine App an.
                                          Ich habe die API benutzt, um einen Adapter für ioBroker zu erstellen.

                                          Zu Installation: Der Adapter kann über den ioBroker mit der Einstellung Beta (latest) installiert werden.

                                          Der Adapter fragt alle 30sec. die Werte des Wechselrichters ab und legt diese als einzelne Objekte ab.
                                          Die Werte ändern sich wie in der Shine App und im Webportal nur alle 5min.

                                          Leider sind alle Gerätetypen bei Gowatt mit einer anderen API ausgestattet. Ich habe versucht, so viele wie möglich zu Implementieren.

                                          Wäre nett wenn ihr den Adapter testen könntet damit ich mit der 0.0.14 in die Stable (default) komme.

                                          Hello,

                                          I have a Growatt SPH4000 solar inverter with ACCU.
                                          Growatt offers a website and an app for monitoring its solar systems.
                                          I used the API to create an adapter for ioBroker.

                                          To installation: The adapter can be installed via the ioBroker with the setting Beta (latest).

                                          The adapter asks every 30sec. saves the values ​​of the inverter and saves them as individual objects.
                                          As in the Shine app and in the web portal, the values ​​change only every 5 minutes.

                                          Unfortunately, all device types at Gowatt have a different API. I tried to implement as many as possible.

                                          Would be nice if you could test the adapter so that I can get into the stable (default) with 0.0.14.

                                          chucky666C Online
                                          chucky666C Online
                                          chucky666
                                          schrieb am zuletzt editiert von
                                          #150

                                          @plchome-0
                                          Danke für deine Mühe

                                          Ich habe ein Problem, seit heute bekomme ich kein Login mehr ?

                                          
                                          Login:{"message":"unable to verify the first certificate","name":"Error","stack":"Error: unable to verify the first certificate\n at TLSSocket.onConnectSecure (_tls_wrap.js:1515:34)\n at TLSSocket.emit (events.js:400:28)\n at TLSSocket.emit (domain.js:475:12)\n at TLSSocket._finishInit (_tls_wrap.js:937:8)\n at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:709:12)","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":60000,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/x-www-form-urlencoded","User-Agent":"axios/0.26.1","Content-Length":52},"baseURL":"https://server.growatt.com","method":"post","url":"https://server.growatt.com/login","data":"account=
                                          
                                          
                                          PLCHome 0P 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          393

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe