Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. DraycD

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    D
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 8
    • Best 1
    • Groups 1

    DraycD

    @DraycD

    Starter

    0
    Reputation
    14
    Profile views
    8
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    DraycD Follow
    Starter

    Best posts made by DraycD

    • RE: Nach SD karten-tot - kein start mehr nach Backup

      Habe es so hinbekommen:
      Neuste version installiert,
      Backup drauf mit --force
      nach dem restore " npm i iobroker.js-controller@5.0.19 --omit=dev "
      Dann
      iobroker stop
      iobroker admin upgrade (sonst wollte er den webserver nicht starten)
      iobroker start
      ab da ging das webinterface wieder

      Danke euch

      posted in Error/Bug
      D
      DraycD

    Latest posts made by DraycD

    • RE: Nach SD karten-tot - kein start mehr nach Backup

      Habe es so hinbekommen:
      Neuste version installiert,
      Backup drauf mit --force
      nach dem restore " npm i iobroker.js-controller@5.0.19 --omit=dev "
      Dann
      iobroker stop
      iobroker admin upgrade (sonst wollte er den webserver nicht starten)
      iobroker start
      ab da ging das webinterface wieder

      Danke euch

      posted in Error/Bug
      D
      DraycD
    • Nach SD karten-tot - kein start mehr nach Backup

      Hi,
      ich bin seit 6 Std dran meinen ioBroker wieder zum laufen zu bekommen.

      Habe ein Raspi 4 bei dem die SD Karte gestorben ist.

      Habe nun piOS Debian version: 12 (bookworm) installiert und mit dem installer Skript

      curl -sLf https://iobroker.net/install.sh | bash -
      

      installiert (ioBroker 7), hat alles geklappt.

      dann habe ich mein backup (aus ioBroker 6) wieder zu restoren.
      läuft durch will dann aber nicht mehr web starten:

      Er spuckt im log das aus:

      2024-12-18 17:39:56.059  - error: admin.0 (20783) Cannot create web-server: TypeError: Cannot read properties of undefined (reading 'createServerAsync')
      

      Hat einer eine Idee was ich tun kann?

      Genaue Versionen:
      6.2.23 to @7.1.5

      Edit1:
      hab das gesehen, was bedeutet das?

      The current version of js-controller differs from the version in the backup.
      The js-controller version of the backup can not be restored automatically.
      To restore the js-controller version of the backup, execute "npm i iobroker.js-controller@5.0.19 --omit=dev" inside your ioBroker directory
      If you really want to restore the backup with the current installed js-controller, execute the restore command with the --force flag
      pi@iobroker:/opt/iobroker/backups $ iob restore iobroker_2024_12_16-07_00_10_ioBroker-Backup_backupiobroker.tar.gz --forece
      ^Cpi@iobroker:/opt/iobroker/backups $ iob restore iobroker_2024_12_16-07_00_10_ioBroker-Backup_backupiobroker.tar.gz --force
      host.iobroker Restore legacy backup.
      The current version of js-controller differs from the version in the backup.
      The js-controller version of the backup can not be restored automatically.
      Note, that your backup might differ in behavior due to this version change!
      
      
      posted in Error/Bug
      D
      DraycD
    • RE: Test Adapter Midea Dimstal Klimaanlagen v0.0.x

      Habe hier was gefunden mit dem os ohne china cloud geht, versteh nur nicht so viel vom coden, aber eventuell hilft es euch:
      https://community.symcon.de/t/loesung-klimaanlage-midea-dimstal-ueber-wlan-steuern-nicht-ueber-cloud/53079

      posted in Tester
      D
      DraycD
    • RE: Bild von Kamera per Pushover senden

      @cinimod
      setze ein delay zwischen erstellung und senden von 200ms, dann gehts

      posted in Skripten / Logik
      D
      DraycD
    • Selbst signiertes Zertifikat erlauben / trusten

      Hi, meine Powerwall will seit dem letzten Update nicht mehr mit dem Javascript laufen da Tesla nun ein selbstsegniertes Cert. eingebunden hat.
      Bekomme immer:

      javascript.0 2021-07-11 09:41:00.017 error (1280) Request error: Error: Client network socket disconnected before secure TLS connection was established
      javascript.0 2021-07-11 09:41:00.017 error (1280) script.js.common.PowerWall-Abruf: Request PowerWall meldet Fehler: Error: Client network socket disconnected before secure TLS connection was established

      Wie kann ich in JS das Certificate erlauben?

      Hier das Script:
      Quelle & Urheber MeSwissX: https://tff-forum.de/t/powerwall-2-daten-auslesen-per-api/34214/26

      Code:

      const ipPowerwall = '192.168.1.142';
      const userEmail = "thierry@girard.li";
      const password = "thgiPowerwall";
      var logOn = false;
      
      createState("photovoltaik.PowerWall", 0.0); // Ladezustand PowerWall in %
      createState("photovoltaik.PowerWallErrorReported", false);
      createState("photovoltaik.PowerWallDown", false);
      
      createState("photovoltaik.powerWall.error", false);
      createState("photovoltaik.powerWall.down", false);
      createState("photovoltaik.powerWall.battery", 0.0); // Ladezustand PowerWall in %
      createState("photovoltaik.powerWall.power_netz", 0.0); // Energie Netz
      createState("photovoltaik.powerWall.power_battery", 0.0); // Energie Batterie
      createState("photovoltaik.powerWall.power_haus", 0.0); // Energie Haus
      createState("photovoltaik.powerWall.power_solar", 0.0); // Energie Photovoltaik
      
      var powerWallErrorReported = 'javascript.0.photovoltaik.PowerWallErrorReported';
      var PowerWallDown = 'javascript.0.photovoltaik.PowerWallDown';
      
      getPWCookie();
      
      function getPWCookie() {
      
          const https = require("https");
          const cookieUrl = 'https://'+ipPowerwall+'/api/login/Basic';
          
          var request = require("request");
          var agentOptions;
          var agent;
      
          agentOptions = {
              host: ipPowerwall
              , port: '443'
              , path: '/api/login/Basic'
              , rejectUnauthorized: false
          };
      
          agent = new https.Agent(agentOptions);
      
          var headers = { 'Content-Type': 'application/json' };
          var dataString = '{"username": "customer","email": "'+userEmail+'","password":"'+password+'"}';
      
          var options = {
              url: cookieUrl,
              method: 'POST',
              headers: headers,
              body: dataString,
              agent: agent
          };
      
          request(options, function (error, response, body) {
                  // if (err) log(JSON.stringify(err));
                  // if (resp) log(JSON.stringify(resp));
              if (!error && response.statusCode == 200) {
       //           if(logon) { log('powerWall_Cookie_login_success') };
                  try {
                      var json = JSON.parse(body);
                      var token = json.token;
                      getPWDataNew(token);
                      
                  } catch (e) {
                      if (e instanceof SyntaxError) {
                          log("json parse error: " + e);
                      } else {
                          log("json parse error - other: " + e);
                      }
                  } 
              } else {
                  log('Request PowerWall meldet Fehler: ' + error, 'error');
                  if (getState(powerWallErrorReported).val === false) {
                      setState(powerWallErrorReported,true);
                      //pushover
                      sendTo('pushover.0', {
                          message: 'PowerWall Error',
                          title: 'POWERWALL',
                          priority: 1,
                          sound: 'magic'
                      });
                  }
              }
          });
      }
      
      function getPWDataNew(token) {
          
          const https = require("https");
          const urlBatterySoe = 'https://'+ipPowerwall+'/api/system_status/soe';
          const urlAggregates = 'https://'+ipPowerwall+'/api/meters/aggregates';
          
          var request = require("request");
      
          var agentOptions;
          var agent;
          
          agentOptions = {
              host: ipPowerwall
              , port: '443'
              , path: '/'
              , rejectUnauthorized: false
          };
              
          agent = new https.Agent(agentOptions);
      
          var headers = {
              'Content-Type': 'application/json',
              'Cookie' : 'AuthCookie='+token
          };
      
          var optionsBatterySoe = {
              url: urlBatterySoe,
              method: 'GET',
              headers: headers,
              agent: agent
          };
      
          var optionsAggregates = {
              url: urlAggregates,
              method: 'GET',
              headers: headers,
              agent: agent
          };
      
          request(optionsBatterySoe, function (error, response, body) {
      //            if (error) log(JSON.stringify(error));
      //            if (response) log(JSON.stringify(response));
              if (!error && response.statusCode == 200) {
      //            if (logon) {log('powerWall readout success!!')};
                  setState(powerWallErrorReported,false);
                  setState(PowerWallDown,false);
                  if (body) {
                      batteryPercentage(body);
                } 
              } else {
                  log('powerWall battery readout Fehler: ' + error, 'error');
              }
          });
      
          request(optionsAggregates, function (error, response, body) {
      //            if (error) log(JSON.stringify(error));
      //            if (response) log(JSON.stringify(response));
              if (!error && response.statusCode == 200) {
      //            if (logon) {log('powerWall readout success!!')};
                  if (body) {
                      aggregatesVerarbeiten(body);
                } 
              } else {
                  log('powerWall aggregates readout Fehler: ' + error, 'error');
              }
          });
      
          
      }
      
      // analyse PowerWall Battery Percentage
      function batteryPercentage(result) {
          try {
              var json = JSON.parse(result);
      
              var ladungPowerWall = Number(json.percentage);
              
              if (logOn) log("PowerWall Ladezustand: " + ladungPowerWall + " %");
              
              setState("javascript.0.photovoltaik.PowerWall"/*PowerWall Ladezustand in %*/,ladungPowerWall);
              
          } catch (e) {
              if (e instanceof SyntaxError) {
                  log("json parse error: " + e);
              } else {
                  log("json parse error - other: " + e);
              }
          }
      }
      
      // analyse PowerWall aggregates
      function aggregatesVerarbeiten(result) {
          try {
              var json = JSON.parse(result);
      
              var sitePower = Number(json.site.instant_power);
              var batteryPower = Number(json.battery.instant_power);
              var loadPower = Number(json.load.instant_power);
              var solarPower = Number(json.solar.instant_power);
      
              setState('photovoltaik.powerWall.power_netz',sitePower);
              setState('photovoltaik.powerWall.power_battery',batteryPower);
              setState('photovoltaik.powerWall.power_haus',loadPower);
              setState('photovoltaik.powerWall.power_solar',solarPower);
              
              if (logOn) log("PowerWall site: " + sitePower + ' battery: ' + batteryPower + ' load: ' + loadPower + ' solar: ' + solarPower);
                      
          } catch (e) {
              if (e instanceof SyntaxError) {
                  log("json aggregates parse error: " + e);
              } else {
                  log("json aggregates parse error - other: " + e);
              }
          }
      }
      
      // Startet das Skript alle 1 minuten neu
      schedule("* * * * *", function() {
          getPWCookie();
      });
      
      
      

      Hoffe ihr könnt mir helfen 😉

      posted in JavaScript
      D
      DraycD
    • Backup von influxdb via exec.

      Hi,

      ich scheitere an dem automatischen Backup für influxdb.

      habe versucht via exec folgendes auszüführen:

      sudo mount -t cifs -o user=backup-iobroker,pass=passwort //192.168.2.54/iobroker/influxdb /media/smb-nas
      
      sudo influxd backup -portable /media/smb-nas
      

      es kommen keine errors oder so aber im nas ist nichts gespeichert.
      wenn ich es ins terminal eingebe geht es direkt.

      habt ihr eine idee?

      hier das ganze blockly als js:

      schedule('{"time":{"exactTime":true,"start":"00:00"},"period":{"days":1}}', function () {
        exec('sudo influxd backup -portable /media/smb-nas');
        console.log("exec: " + 'sudo influxd backup -portable /media/smb-nas');
        exec('sudo mount -t cifs -o user=backup-iobroker,pass=alcara //192.168.2.54/iobroker/influxdb /media/smb-nas');
        console.log("exec: " + 'sudo mount -t cifs -o user=backup-iobroker,pass=Password //192.168.2.54/iobroker/influxdb /media/smb-nas');
      });
      
      schedule("* * * * *", function () {
      });
      
      
      posted in Blockly
      D
      DraycD
    • RE: [Gelöst]Zeitplan geht aber gibt error im LOG

      @Asgothian

      DANKE

      OMG als ich den wert von string auf zahl geändert habe gings sofort...

      DANKE

      posted in Blockly
      D
      DraycD
    • [Gelöst]Zeitplan geht aber gibt error im LOG

      Hallo ihr lieben,
      bin seit ca 1 woche dran mein haus zu digitalisieren.

      habe hier aber nun ein Problem.

      ich nutze Blockly um von meinen 3 PV anlagen im 2 sec Takt die summe zu errechnen.
      dazu nutze ich den Zeitplan, eine Variable und die 3 PV Daten.

      alles geht aber im LOG habe ich ultra viele errors:
      Bildschirmfoto 2020-12-22 um 09.25.13.png

      Wenn ich das Skriot stoppe kommen keine errors mehr.
      Also hängt es nur mir dem Skript zusammen.

      hier das Blockly:
      Bildschirmfoto 2020-12-22 um 09.27.43.png

      Hier das JS:

      schedule("*/2 * * * * *", function () {
        setState("javascript.0.scriptEnabled.common.EigeneDatenpunkte.Alle-PV"/*Alle-PV*/, (getState("fronius.0.inverter.1.PAC").val + getState("sonoff.0.Sonoff_POW_PV-Erweiterung.ENERGY_Power").val + getState("sonoff.0.Sonoff_POW_PV-Garage.ENERGY_Power").val), true);
      });
      
      //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzY2hlZHVsZSUyMiUyMGlkJTNEJTIydzclM0QlMkZWRilpc2h2QzZUazloeDdkJTIyJTIweCUzRCUyMjEzJTIyJTIweSUzRCUyMjg3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NIRURVTEUlMjIlM0UqJTJGMiUyMColMjAqJTIwKiUyMColMjAqJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydXBkYXRlJTIyJTIwaWQlM0QlMjIlNUVINlglMkNIUilXSHB1JTI1SyU2MDgpZ1kyJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLnNjcmlwdEVuYWJsZWQuY29tbW9uLkVpZ2VuZURhdGVucHVua3RlLkFsbGUtUFYlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMkNvJTdCJTVFJTdDX1olM0IlM0I1ZCUyQ1MlMkYlN0QlN0IwcDJMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VBREQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiohckNPViU0MHQoISlJZSUyQyU2MFclM0ZrJTYwayUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyeVolNDAlM0Z+WnQ1NlBVJTVCNTAlMjN1QkwlMkJIJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZnJvbml1cy4wLmludmVydGVyLjEuUEFDJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIydlF0KSUzQmwwcXMlNDBMeWUwSy1ER1FWJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjJuVWslNDAoMmwlMjQxNzhMJTNBYUl6JTIzNCUzQk4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUFERCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTVFUXlyZCUzRGV5JTNCa2RkN2UlNUVPMCUyQnpCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJNV2xqM0Z+JTQwJTIzV35jJTYwJTNGakxaYihwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFc29ub2ZmLjAuU29ub2ZmX1BPV19QVi1FcndlaXRlcnVuZy5FTkVSR1lfUG93ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJtJTVCfl8paDE3TnRDJTNBTGllWCUyQ0dBUSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyKV9sY2l5MGUhUiUyMyUyMzFPQyU1QlEqJTdDRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNvbm9mZi4wLlNvbm9mZl9QT1dfUFYtR2FyYWdlLkVORVJHWV9Qb3dlciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
      

      hier noch die ausgabe aus blockly:

      09:29:24.002	warn	javascript.0 (18738) at Object.<anonymous> (script.js.common.EigeneDatenpunkte.PV-Alle:2:3)
      09:29:26.002	warn	javascript.0 (18738) at Object.<anonymous> (script.js.common.EigeneDatenpunkte.PV-Alle:2:3)
      09:29:28.005	warn	javascript.0 (18738) at Object.<anonymous> (script.js.common.EigeneDatenpunkte.PV-Alle:2:3)
      09:29:30.003	warn	javascript.0 (18738) at Object.<anonymous> (script.js.common.EigeneDatenpunkte.PV-Alle:2:3)
      09:29:32.004	warn	javascript.0 (18738) at Object.<anonymous> (script.js.common.EigeneDatenpunkte.PV-Alle:2:3)
      09:29:34.002	warn	javascript.0 (18738) at Object.<anonymous> (script.js.common.EigeneDatenpunkte.PV-Alle:2:3)
      09:29:36.005	warn	javascript.0 (18738) at Object.<anonymous> (script.js.common.EigeneDatenpunkte.PV-Alle:2:3)
      

      was mache ich falsch?

      posted in Blockly
      D
      DraycD
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo