Navigation

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

    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

    • Profile
    • Following 0
    • Followers 0
    • Topics 11
    • Posts 121
    • Best 15
    • Groups 3

    MalleRalle

    @MalleRalle

    RalleMalle

    15
    Reputation
    48
    Profile views
    121
    Posts
    0
    Followers
    0
    Following
    Joined Last Online
    Website kika.de Location Hinter den Bergen Age 61

    MalleRalle Follow
    Forum Testing Pro Starter

    Best posts made by MalleRalle

    • RE: VIS -> keine gültige Lizenz gefunden

      @apollon77 sagte in VIS -> keine gültige Lizenz gefunden:

      Bei mir gehen die meisten Schaltaktionen zusätzlich klassisch als Schalter bzw über andere Wege

      Bei mir sind ALLE meine Schaltungen auch über VIS erreichbar. Und das ist seit nunmehr 4 Jahren nicht wenig. Dort habe ich das zum Teil sogar noch mehrfach in verschiedenen Seiten eingebaut damit der WAF noch effektiver ist.
      ABER, ich habe von Start an darauf geachtet das so ziemlich ALLES auch ohne VIS weiterhin schaltbar ist. Für mich wichtig war von Anfang an, das jeder Lichtschalter usw. niemals von einem Tablett oder ähnlichem abhängig werden.
      Ich halte die Offflinelizenz für eine gute Sache.
      Der Preis ist in Ordnung.

      posted in Error/Bug
      MalleRalle
      MalleRalle
    • RE: js-controller 3.2 jetzt im Latest!

      @paul53

      /opt/iobroker/node_modules/@iobroker/db-objects-file
      
      posted in ioBroker Allgemein
      MalleRalle
      MalleRalle
    • RE: Shelly Verbrauchs-Historie für Tag, Woche, Monat, Jahr

      Funktioniert übrigens auch sehr gut mit TP-Link Steckdosen wenn man das Script dementsprechend umbaut.
      Noch ein Datenpunkt in den hs100 Adapter und ein Blockly dazu und läuft.

      posted in JavaScript
      MalleRalle
      MalleRalle
    • RE: Alpha Test js-controller 4.0

      @apollon77 Absolut, sobald ich auf den 3er zurück gehe ist es wieder in Ordnung.

      posted in Tester
      MalleRalle
      MalleRalle
    • RE: IOT kann sich nicht verbinden.

      @andreas-kostyra-thome
      cd /opt/iobroker
      npm i iobroker.iot@1.8.25

      posted in Cloud Dienste
      MalleRalle
      MalleRalle
    • RE: Radar2 Adapter - kann nicht konfigurieren

      @diginix Ja, funktionieren tut er unter Admin5.
      Halt die GUI nicht.
      Und es gibt einen Fork von TA2k wo die meisten Fehlermeldungen vom neuen JS-Controller weg sind.
      Fork TA2k

      posted in ioBroker Allgemein
      MalleRalle
      MalleRalle
    • RE: Alpha Test js-controller 4.0

      Hier mit der 4.0.3 auch alles ordentlich durchgelaufen.

      posted in Tester
      MalleRalle
      MalleRalle
    • RE: Alexa2 Adapter 3.18.x (BETA)

      @apollon77
      Mit 3.18.6 funktioniert Device Stop wieder.
      Vielen Dank für den schnellen Fix!

      posted in ioBroker Allgemein
      MalleRalle
      MalleRalle
    • RE: [Neuer Adapter] Hiob (Handy App)

      Ein toller Adapter mit viel Potenzial.
      Die Einrichtung ist etwas gewöhnungsbedürftig.
      Aber wenn man den Bogen erst raus hat dann ist es perfekt.

      posted in Tester
      MalleRalle
      MalleRalle
    • RE: Alexa2 Adapter 3.20

      @esp8266 sagte in Alexa2 Adapter 3.20:

      Als es den Alexa2 Adapter noch nicht gab, gab es die Möglichkeit die Devices über den IOT Adapter zu realisieren. (Das geht bis Dato noch)

      Und ich hoffe das bleibt auch immer so.
      Ich schalte überhaupt nichts über den Alexa2 Adapter.
      Den Alexa2 Adapter benötige ich nur für Speak, Commands und ähnliches.
      Ich habe mein System von beginn an auf den iot Adapter ausgelegt.

      posted in ioBroker Allgemein
      MalleRalle
      MalleRalle

    Latest posts made by MalleRalle

    • RE: Wert in Datenpunkt schreiben

      Vielen Dank Euch beiden.
      Ich habe das Script nun fertig und läuft.
      DeepSeek hat mir dabei geholfen...

      // Konfiguration
      const SOURCE_DATAPOINT_PROGRAM_MODE = 'homeconnect.0.xxxxxxxxxxxxxxxxxx.programs.active.options.LaundryCare_WasherDryer_Option_ProgramMode';
      const SOURCE_DATAPOINT_PROCESS_PHASE = 'homeconnect.0.xxxxxxxxxxxxxxxxxx.programs.active.options.LaundryCare_Common_Option_ProcessPhase';
      const SOURCE_DATAPOINT_STATUS = 'homeconnect.0.xxxxxxxxxxxxxxxxxx.status.BSH_Common_Status_OperationState';
      const SOURCE_DATAPOINT_DOOR_STATE = 'homeconnect.0.xxxxxxxxxxxxxxxxxx.status.BSH_Common_Status_DoorState'; // Datenpunkt für Türstatus
      const SOURCE_DATAPOINT_ACTIVE_PROGRAM = 'homeconnect.0.xxxxxxxxxxxxxxxxxx.programs.active.BSH_Common_Root_ActiveProgram'; // Neuer Datenpunkt
      const TARGET_DATAPOINT_PROGRAM_MODE = 'Geräte.0.Waschtrockner-Bosch.Programm';
      const TARGET_DATAPOINT_PROCESS_PHASE = 'Geräte.0.Waschtrockner-Bosch.ProgrammPhase';
      const TARGET_DATAPOINT_STATUS = 'Geräte.0.Waschtrockner-Bosch.Status';
      const TARGET_DATAPOINT_DOOR_STATE = 'Geräte.0.Waschtrockner-Bosch.Türstatus'; // Ziel-Datenpunkt für Türstatus
      const TARGET_DATAPOINT_ACTIVE_PROGRAM = 'Geräte.0.Waschtrockner-Bosch.Programm-Läuft'; // Neuer Ziel-Datenpunkt
      const RETRY_DELAY_1 = 7000; // Verzögerung für den 1. Versuch
      const RETRY_DELAY_2 = 5000; // Verzögerung für den 2. Versuch
      const STATUS_CHECK_DELAY = 2000; // Verzögerung für die Statusüberprüfung
      
      // Globale Variablen
      let programModeListenerId;
      let processPhaseListenerId;
      let statusListenerId;
      let doorStateListenerId;
      let activeProgramListenerId;
      let triggerActive = false;
      let programModeDatapointExists = false;
      let processPhaseDatapointExists = false;
      let washingMachineRunning = false;
      let retryTimeoutId; // Timeout-ID für den 2. Versuch
      
      // Funktion zum Extrahieren des Werts und Schreiben in den Ziel-Datenpunkt
      function updateValue(state, targetDatapoint) {
          if (state && state.val !== undefined && state.val !== null && state.val !== '') {
              let value = state.val;
              if (typeof value === 'string') {
                  // Extrahiere den letzten Teil des Strings (z. B. "Open" aus "BSH.Common.EnumType.DoorState.Open")
                  value = value.substring(value.lastIndexOf('.') + 1);
              }
              console.log(`Schreibe Wert in ${targetDatapoint}: ${value}`); // Wert wird hier protokolliert
              setState(targetDatapoint, value, true);
          } else {
              console.log(`Fehler: state oder state.val ist undefined, null oder leer für ${targetDatapoint}. Setze Standardwert.`);
              setState(targetDatapoint, 'Unbekannt', true); // Setze einen Standardwert
          }
      }
      
      // Funktion zum Extrahieren des aktiven Programms
      function updateActiveProgram(state, targetDatapoint) {
          if (state && state.val !== undefined && state.val !== null && state.val !== '') {
              let value = state.val;
              if (typeof value === 'string') {
                  // Entferne die Punkte am Ende des Strings
                  value = value.replace(/\.+$/, '');
                  // Extrahiere den letzten Teil des Strings (z. B. "EasyCare" aus "LaundryCare.WasherDryer.Program.EasyCare")
                  value = value.substring(value.lastIndexOf('.') + 1);
              }
              console.log(`Schreibe Wert in ${targetDatapoint}: ${value}`); // Wert wird hier protokolliert
              setState(targetDatapoint, value, true);
          } else {
              console.log(`Fehler: state oder state.val ist undefined, null oder leer für ${targetDatapoint}. Setze Standardwert.`);
              setState(targetDatapoint, 'Unbekannt', true); // Setze einen Standardwert
          }
      }
      
      // Funktion zum Einrichten eines Listeners für einen Datenpunkt
      function setupListener(sourceDatapoint, targetDatapoint, updateFunction = updateValue) {
          getObject(sourceDatapoint, (err, obj) => {
              if (!err && obj) {
                  console.log(`Datenpunkt ${sourceDatapoint} existiert. Listener wird eingerichtet.`);
      
                  // Initialen Wert abrufen und schreiben
                  getState(sourceDatapoint, (err, state) => {
                      if (!err && state && state.val !== undefined && state.val !== null && state.val !== '') {
                          updateFunction(state, targetDatapoint);
                      } else {
                          console.log(`Fehler beim Lesen des initialen Zustands für ${sourceDatapoint}. Setze Standardwert.`);
                          setState(targetDatapoint, 'Unbekannt', true); // Setze einen Standardwert
                      }
                  });
      
                  // Listener für Änderungen am Datenpunkt
                  const listenerId = on({ id: sourceDatapoint, change: 'any' }, (state) => {
                      console.log(`Änderung erkannt für ${sourceDatapoint}:`, state);
                      if (state.val === undefined || state.val === null || state.val === '') {
                          console.log(`Warnung: Der Wert für ${sourceDatapoint} ist undefined, null oder leer.`);
                          // Versuche, den Wert erneut abzurufen
                          getState(sourceDatapoint, (err, state) => {
                              if (!err && state && state.val !== undefined && state.val !== null && state.val !== '') {
                                  updateFunction(state, targetDatapoint);
                              } else {
                                  console.log(`Fehler beim erneuten Abruf des Zustands für ${sourceDatapoint}.`);
                              }
                          });
                      } else {
                          updateFunction(state, targetDatapoint);
                      }
                  });
      
                  if (sourceDatapoint === SOURCE_DATAPOINT_PROGRAM_MODE) {
                      programModeListenerId = listenerId;
                      programModeDatapointExists = true;
                  } else if (sourceDatapoint === SOURCE_DATAPOINT_PROCESS_PHASE) {
                      processPhaseListenerId = listenerId;
                      processPhaseDatapointExists = true;
                  } else if (sourceDatapoint === SOURCE_DATAPOINT_STATUS) {
                      statusListenerId = listenerId;
                  } else if (sourceDatapoint === SOURCE_DATAPOINT_DOOR_STATE) {
                      doorStateListenerId = listenerId;
                      console.log(`Listener für Türstatus (${sourceDatapoint}) erfolgreich eingerichtet.`);
                  } else if (sourceDatapoint === SOURCE_DATAPOINT_ACTIVE_PROGRAM) {
                      activeProgramListenerId = listenerId;
                      console.log(`Listener für aktives Programm (${sourceDatapoint}) erfolgreich eingerichtet.`);
                  }
              } else {
                  console.log(`Datenpunkt ${sourceDatapoint} existiert nicht oder Fehler:`, err);
              }
          });
      }
      
      // Funktion zum Stoppen des Skripts und Aufräumen
      function stopScript() {
          console.log("Skript wird gestoppt und aufgeräumt.");
          washingMachineRunning = false;
          triggerActive = false;
          programModeDatapointExists = false;
          processPhaseDatapointExists = false;
      
          if (programModeListenerId) {
              clearTimeout(programModeListenerId);
              programModeListenerId = null;
          }
          if (processPhaseListenerId) {
              clearTimeout(processPhaseListenerId);
              processPhaseListenerId = null;
          }
          if (statusListenerId) {
              clearTimeout(statusListenerId);
              statusListenerId = null;
          }
          if (doorStateListenerId) {
              clearTimeout(doorStateListenerId);
              doorStateListenerId = null;
          }
          if (activeProgramListenerId) {
              clearTimeout(activeProgramListenerId);
              activeProgramListenerId = null;
          }
          if (retryTimeoutId) {
              clearTimeout(retryTimeoutId); // Stoppe den 2. Versuch, falls er aktiv ist
              retryTimeoutId = null;
          }
      }
      
      // Funktion zum Überprüfen des Trigger-Zustands
      function checkTrigger(state) {
          // Überprüfen, ob state oder state.val undefined oder null ist
          if (!state || state.val === undefined || state.val === null || state.val === '') {
              console.log("Status ist leer, undefined oder null. Warte...");
              setTimeout(() => {
                  getState(SOURCE_DATAPOINT_STATUS, (err, state) => {
                      if (!err && state && state.val !== undefined && state.val !== null && state.val !== '') {
                          checkTrigger(state); // Erneut versuchen, wenn ein gültiger Status verfügbar ist
                      } else {
                          console.log("Status immer noch nicht verfügbar. Warte weiter...");
                      }
                  });
              }, STATUS_CHECK_DELAY); // Verzögerung vor dem erneuten Versuch
              return;
          }
      
          const status = state.val;
      
          // Überprüfen, ob der Status ein gültiger String ist
          if (typeof status !== 'string') {
              console.log("Status ist kein gültiger String. Warte...");
              return;
          }
      
          // Schreibe jeden Statuswert in den Ziel-Datenpunkt
          updateValue(state, TARGET_DATAPOINT_STATUS);
      
          // Starte oder stoppe das Skript basierend auf dem Status
          if (status === 'BSH.Common.EnumType.OperationState.Inactive') {
              console.log("Waschmaschine inaktiv. Skript wird gestoppt.");
              stopScript();
          } else if (status === 'BSH.Common.EnumType.OperationState.Ready') {
              console.log(`Waschmaschine bereit (Status: ${status}). Listener für OperationState und DoorState werden gestartet.`);
              if (!statusListenerId) {
                  setupListener(SOURCE_DATAPOINT_STATUS, TARGET_DATAPOINT_STATUS);
              }
              if (!doorStateListenerId) {
                  setupListener(SOURCE_DATAPOINT_DOOR_STATE, TARGET_DATAPOINT_DOOR_STATE);
              }
          } else if (status === 'BSH.Common.EnumType.OperationState.Run') {
              console.log(`Waschmaschine läuft (Status: ${status}). Listener für ProgramMode, ProcessPhase und ActiveProgram werden gestartet.`);
              if (!programModeDatapointExists || !processPhaseDatapointExists) {
                  setTimeout(() => {
                      console.log('Überprüfe und starte Listener für Datenpunkte (1. Versuch)...');
                      if (!programModeDatapointExists) {
                          setupListener(SOURCE_DATAPOINT_PROGRAM_MODE, TARGET_DATAPOINT_PROGRAM_MODE);
                          programModeDatapointExists = true; // Flag direkt setzen
                      }
                      if (!processPhaseDatapointExists) {
                          setupListener(SOURCE_DATAPOINT_PROCESS_PHASE, TARGET_DATAPOINT_PROCESS_PHASE);
                          processPhaseDatapointExists = true; // Flag direkt setzen
                      }
                      if (!activeProgramListenerId) {
                          setupListener(SOURCE_DATAPOINT_ACTIVE_PROGRAM, TARGET_DATAPOINT_ACTIVE_PROGRAM, updateActiveProgram);
                      }
      
                      // Überprüfen, ob der zweite Versuch notwendig ist
                      if (!programModeDatapointExists || !processPhaseDatapointExists) {
                          retryTimeoutId = setTimeout(() => {
                              console.log('Überprüfe und starte Listener für Datenpunkte (2. Versuch)...');
                              if (!programModeDatapointExists) {
                                  setupListener(SOURCE_DATAPOINT_PROGRAM_MODE, TARGET_DATAPOINT_PROGRAM_MODE);
                              }
                              if (!processPhaseDatapointExists) {
                                  setupListener(SOURCE_DATAPOINT_PROCESS_PHASE, TARGET_DATAPOINT_PROCESS_PHASE);
                              }
                              if (!activeProgramListenerId) {
                                  setupListener(SOURCE_DATAPOINT_ACTIVE_PROGRAM, TARGET_DATAPOINT_ACTIVE_PROGRAM, updateActiveProgram);
                              }
                          }, RETRY_DELAY_2);
                      }
                  }, RETRY_DELAY_1);
              }
          }
      }
      
      // Überwache den Status-Datenpunkt
      on({ id: SOURCE_DATAPOINT_STATUS, change: 'any' }, (state) => {
          checkTrigger(state);
      });
      
      // Initiale Überprüfung des Status
      setTimeout(() => {
          getState(SOURCE_DATAPOINT_STATUS, (err, state) => {
              if (!err && state && state.val !== undefined && state.val !== null && state.val !== '') {
                  checkTrigger(state);
              } else {
                  console.log("Initialer Status ist leer, undefined oder null. Überprüfe später erneut.");
                  setTimeout(() => {
                      getState(SOURCE_DATAPOINT_STATUS, (err, state) => {
                          if (!err && state && state.val !== undefined && state.val !== null && state.val !== '') {
                              checkTrigger(state);
                          } else {
                              console.log("Immer noch kein initialer Status. Skript wird beendet.");
                          }
                      });
                  }, STATUS_CHECK_DELAY); // Verzögerung vor dem erneuten Versuch
              }
          });
      }, STATUS_CHECK_DELAY); // Verzögerung vor der initialen Überprüfung
      
      // Listener für den Status-Datenpunkt direkt starten
      setupListener(SOURCE_DATAPOINT_STATUS, TARGET_DATAPOINT_STATUS);
      
      // Listener für den Türstatus-Datenpunkt starten
      setupListener(SOURCE_DATAPOINT_DOOR_STATE, TARGET_DATAPOINT_DOOR_STATE);
      
      // Listener für den aktiven Programm-Datenpunkt starten
      setupListener(SOURCE_DATAPOINT_ACTIVE_PROGRAM, TARGET_DATAPOINT_ACTIVE_PROGRAM, updateActiveProgram);
      
      
      posted in Blockly
      MalleRalle
      MalleRalle
    • RE: Wert in Datenpunkt schreiben

      Also der Ansatz von @paul53 hier ist schon mal gut.
      Aber der Datenpunkt wird von HomeConnect bei fertigen Programmende des Waschtrockners wohl gelöscht. Er ist jedenfalls dann nicht mehr vorhanden...
      Wenn Maschine an und Programm in der Maschine ausgewählt und gestartet ist, dann ist der Datenpunkt wieder da und gefüllt.
      Das bringt mir beim start des Programms und Befüllung des Datenpunktes eine Fehlermeldung.
      Gefüllt wird vom homeconnect Adapter in zwei unterschiedliche Datenpunkte:

      LaundryCare.WasherDryer.EnumType.ProgramMode.Washing
      
      LaundryCare.Common.EnumType.ProcessPhase.DetectingLoad
      

      Muss doch irgenwie möglich sein den Wert hinter:

      LaundryCare.Common.EnumType.ProcessPhase.
      

      oder:

      LaundryCare.WasherDryer.EnumType.ProgramMode.
      

      auszulesen. Vieleicht mit regex?

      Hier die Fehlermeldung:

      javascript.0
      	2025-02-12 08:47:02.525	error	at processImmediate (node:internal/timers:491:21)
      javascript.0
      	2025-02-12 08:47:02.525	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11048:62)
      javascript.0
      	2025-02-12 08:47:02.524	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:645:29)
      javascript.0
      	2025-02-12 08:47:02.524	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1452:38)
      javascript.0
      	2025-02-12 08:47:02.524	error	at Object.<anonymous> (script.js.Datenpunkte.Waschtrockner2:13:75)
      javascript.0
      	2025-02-12 08:47:02.524	error	at programmtyp (script.js.Datenpunkte.Waschtrockner2:6:39)
      javascript.0
      	2025-02-12 08:47:02.523	error	script.js.Datenpunkte.Waschtrockner2: TypeError: Cannot read properties of undefined (reading 'LaundryCare.WasherDryer.EnumType.ProgramMode.Washing')
      javascript.0
      	2025-02-12 08:47:02.477	error	at processImmediate (node:internal/timers:491:21)
      javascript.0
      	2025-02-12 08:47:02.477	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11048:62)
      javascript.0
      	2025-02-12 08:47:02.476	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:645:29)
      javascript.0
      	2025-02-12 08:47:02.476	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1452:38)
      javascript.0
      	2025-02-12 08:47:02.476	error	at Object.<anonymous> (script.js.Datenpunkte.Waschtrockner1:42:85)
      javascript.0
      	2025-02-12 08:47:02.476	error	at prozessphase (script.js.Datenpunkte.Waschtrockner1:6:39)
      javascript.0
      	2025-02-12 08:47:02.475	error	script.js.Datenpunkte.Waschtrockner1: TypeError: Cannot read properties of undefined (reading 'LaundryCare.Common.EnumType.ProcessPhase.DetectingLoad')
      
      posted in Blockly
      MalleRalle
      MalleRalle
    • RE: Wert in Datenpunkt schreiben

      Der Datenpunkt kann auch andere Werte anzeigen: Drying, Schleudern, usw
      Nein, gibt nur einen Datenpunkt. Zumindest für Programmmode

      posted in Blockly
      MalleRalle
      MalleRalle
    • RE: Wert in Datenpunkt schreiben

      @paul53

      {
        "type": "state",
        "common": {
          "name": "Programmtyp",
          "type": "mixed",
          "role": "indicator",
          "write": true,
          "read": true,
          "unit": "",
          "states": {
            "LaundryCare.WasherDryer.EnumType.ProgramMode.Washing": "Washing"
          }
        },
        "native": {},
        "from": "system.adapter.homeconnect.0",
        "user": "system.user.admin",
        "ts": 1739299667852,
        "_id": "homeconnect.0.xxxxxxxxxxxxxxxxxx.programs.active.options.LaundryCare_WasherDryer_Option_ProgramMode",
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      
      posted in Blockly
      MalleRalle
      MalleRalle
    • Wert in Datenpunkt schreiben

      Hallo Leute, ich komme hier nicht weiter.
      Ich habe hier einen Datenpunkt:

      homeconnect.0.xxxxxxxxxxxxxxxxxx.programs.active.options.LaundryCare_WasherDryer_Option_ProgramMode
      

      Wenn ich im Objektbaum mit der der Maus über diesen Datenpunkt streiche dann
      sehe ich den Wert `Washing´

      Washing.jpg

      Kann mir jemand sagen wie ich diesen Wert auslesen kann und in einen neuen
      bestehenden Datenpunkt schreiben kann?
      Ich hoffe ich habe mich richtig ausgedrückt.

      posted in Blockly
      MalleRalle
      MalleRalle
    • RE: Beta Test js-controller Kiera (v6.0)

      @flugschüler sagte in Beta Test js-controller Kiera (v6.0):

      Die App kann man auf Apkpure downloaden.
      Paw Adapter hat ja bis vor kurzem noch funktioniert. Leider jetzt nicht mehr.

      Fully Browser ist da die Alternative und es gibt dafür einen aktuellen Adapter.
      Man muss dann halt ein paar Euronen investieren und auf die Pro Version des Fully Browser Updaten.
      Es ist halt nicht alles umsonst auf dieser Welt 😎

      posted in Tester
      MalleRalle
      MalleRalle
    • RE: Beta Test js-controller Kiera (v6.0)

      @foxriver76 sagte in Beta Test js-controller Kiera (v6.0):

      @malleralle Ebenfalls nicht im Repo, hilft nur auf GitHub forken, adapter-core upgraden und von dort neu installieren.

      Danke @foxriver76
      Habe ich erfolgreich hinbekommen.
      epson-workforce läuft bei mir wieder.

      posted in Tester
      MalleRalle
      MalleRalle
    • RE: Beta Test js-controller Kiera (v6.0)

      Ich habe auch noch einen Adapter gefunden der nicht mehr läuft
      epson_workforce ( https://github.com/rrov1/ioBroker.epson_workforce)

      host.rockpro64
      2024-06-13 08:25:48.407	error	instance system.adapter.epson_workforce.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
      
      host.rockpro64
      2024-06-13 08:25:48.407	error	Caught by controller[0]: Node.js v20.14.0
      
      host.rockpro64
      2024-06-13 08:25:48.407	error	Caught by controller[0]: at node:internal/main/run_main_module:28:49
      
      host.rockpro64
      2024-06-13 08:25:48.407	error	Caught by controller[0]: at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12)
      
      host.rockpro64
      2024-06-13 08:25:48.407	error	Caught by controller[0]: at Module._load (node:internal/modules/cjs/loader:1024:12)
      
      host.rockpro64
      2024-06-13 08:25:48.407	error	Caught by controller[0]: at Module.load (node:internal/modules/cjs/loader:1208:32)
      
      host.rockpro64
      2024-06-13 08:25:48.407	error	Caught by controller[0]: at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
      
      host.rockpro64
      2024-06-13 08:25:48.407	error	Caught by controller[0]: at Module._compile (node:internal/modules/cjs/loader:1358:14)
      
      host.rockpro64
      2024-06-13 08:25:48.407	error	Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.epson_workforce/main.js:14:21)
      
      host.rockpro64
      2024-06-13 08:25:48.406	error	Caught by controller[0]: TypeError: utils.Adapter is not a function
      
      host.rockpro64
      2024-06-13 08:25:48.406	error	Caught by controller[0]: ^
      
      host.rockpro64
      2024-06-13 08:25:48.406	error	Caught by controller[0]: var adapter = utils.Adapter({
      
      host.rockpro64
      2024-06-13 08:25:48.406	error	Caught by controller[0]: /opt/iobroker/node_modules/iobroker.epson_workforce/main.js:14
      
      posted in Tester
      MalleRalle
      MalleRalle
    • RE: HmIP-ESI

      @style24
      Welche Geräte hast Du denn derzeit im IoBroker in der rpc Instanz?
      Nur Geräte ohne HomeMatik IP?
      Wenn ja, musst Du noch eine rpc Instanz für HomeMatik IP zufügen.
      Bildschirmfoto vom 2024-05-17 09-48-01.png
      Dann Geräte neu einlesen Häkchen rein und Du solltest den HmIP-ESI in der neuen rpc Instanz sehen.

      posted in Einbindung von Geräten
      MalleRalle
      MalleRalle
    • RE: Fehlermeldung bei Adapter installation.

      @thomas-braun

      r$ npm ls bufferutil
      iobroker.inst@3.0.0 /opt/iobroker
      └── (empty)
      
      
      posted in Error/Bug
      MalleRalle
      MalleRalle
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo