Navigation

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

    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

    P
    • Profile
    • Following 0
    • Followers 0
    • Topics 9
    • Posts 14
    • Best 0
    • Groups 1

    Psens

    @Psens

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

    Psens Follow
    Starter

    Latest posts made by Psens

    • RE: Aktuelle iobroker Version und altes Backup

      @marc-berg Danke für die Hilfe, die Installation de Adapters wie auch der import haben geklappt. Wenn ich das richtig sehe muss ich ja anschließend den Adapter wieder updaten auf die aktuelle version.

      jedoch bekomme ich beim ausführen von iob upgrade self nachfolgenden Fehler.

      Update js-controller from @3.1.4 to @5.0.19
      NPM version: 10.5.0
      npm install iobroker.js-controller@5.0.19 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call)
       Objects 127.0.0.1:46914 Error from InMemDB: Error: CONFIG-UNSUPPORTED for ["SET","lua-time-limit","10000"]
       States 127.0.0.1:49734 Error from InMemDB: Error: CONFIG-UNSUPPORTED for ["SET","notify-keyspace-events","Exe"]
       Objects 127.0.0.1:46914 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"]
       States 127.0.0.1:49734 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"]
       Objects 127.0.0.1:46914 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"]
       Objects 127.0.0.1:46914 Error from InMemDB: Error: scan NOT SUPPORTED
      npm ERR! code 1
      npm ERR! path /opt/iobroker/node_modules/iobroker.js-controller
      npm ERR! command failed
      npm ERR! command sh -c node iobroker.js setup first
      npm ERR! Unable to increase LUA script timeout: Error CONFIG-UNSUPPORTED for ["SET","lua-time-limit","10000"]
      npm ERR!  Unable to enable Expiry Keyspace events from Redis Server: Error CONFIG-UNSUPPORTED for ["SET","notify-keyspace-events","Exe"]
      npm ERR! /opt/iobroker/node_modules/standard-as-callback/built/index.js:6
      npm ERR!         throw e;
      npm ERR!         ^
      npm ERR!
      npm ERR! ReplyError: Error scan NOT SUPPORTED
      npm ERR!     at parseError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:179:12)
      npm ERR!     at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:302:14)
      npm ERR! Emitted 'error' event on ScanStream instance at:
      npm ERR!     at /opt/iobroker/node_modules/ioredis/built/ScanStream.js:38:22
      npm ERR!     at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:12:23)
      npm ERR!     at /opt/iobroker/node_modules/standard-as-callback/built/index.js:33:51
      npm ERR!     at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
      npm ERR!   command: {
      npm ERR!     name: 'scan',
      npm ERR!     args: [ '0', 'MATCH', 'cfg.o.system.host.*', 'COUNT', '250' ]
      npm ERR!   }
      npm ERR! }
      npm ERR!
      npm ERR! Node.js v18.20.2
      
      npm ERR! A complete log of this run can be found in: /home/iobroker/.npm/_logs/2024-04-18T15_11_40_808Z-debug-0.log
      Starting node restart.js
      
      posted in ioBroker Allgemein
      P
      Psens
    • Aktuelle iobroker Version und altes Backup

      Hallo,

      mein Cheffe hat einen iobroker auf einem Raspberry für die Steuerung seiner Bewässerung des Gartens laufen, jetzt hat sich die SD Karte verabschiedet und ich habe nur ein Backup von damals 2020 als ich ihm die Kiste eingerichtet habe.

      Backup erstellt bei gestopptem iobroker mittels:

      iobroker backup
      

      Ich habe den Raspi jetzt frisch aufgesetzt und die Aktuelle Version des iobrokers installiert.

      Beim versuch das Backup zurück zu spielen mit iobroker restore bekam ich nachfolgende Meldung:

      iobroker controller daemon is not running
      host.debian OK.
      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@3.1.4 --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
      

      wie beschrieben habe ich dann

      npm i iobroker.js-controller@3.1.4 --omit=dev
      

      ausgeführt, dies endete aber in nachfolgender Meldung

      npm ERR! code 1
      npm ERR! path /opt/iobroker/node_modules/iobroker.js-controller
      npm ERR! command failed
      npm ERR! command sh -c node iobroker.js setup first
      npm ERR! /opt/iobroker/node_modules/iobroker.js-controller/lib/objects.js:22
      npm ERR!     throw new Error(`Unknown objects type: ${config.objects.type}`);
      npm ERR!     ^
      npm ERR!
      npm ERR! Error: Unknown objects type: jsonl
      npm ERR!     at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects.js:22:11)
      npm ERR!     at Module._compile (node:internal/modules/cjs/loader:1364:14)
      npm ERR!     at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
      npm ERR!     at Module.load (node:internal/modules/cjs/loader:1203:32)
      npm ERR!     at Module._load (node:internal/modules/cjs/loader:1019:12)
      npm ERR!     at Module.require (node:internal/modules/cjs/loader:1231:19)
      npm ERR!     at require (node:internal/modules/helpers:177:18)
      npm ERR!     at dbConnect (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:2439:15)
      npm ERR!     at setupObjects (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupSetup.js:210:9)
      npm ERR!     at Setup.setup (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupSetup.js:843:13)
      npm ERR!
      npm ERR! Node.js v18.20.2
      
      npm ERR! A complete log of this run can be found in: /home/iobroker/.npm/_logs/2024-04-18T09_47_50_449Z-debug-0.log
      

      kann mir hier jemand weiterhelfen?

      Schon vorab vielen Dank für die Unterstützung.

      posted in ioBroker Allgemein
      P
      Psens
    • Mehrfach Aufruf von Topic

      Hallo,

      ich überwache ein Topic mit on und change ne oder change any bei beiden tritt der gleiche Fehler auf oder mache ich was falsch?
      Überwacht wird das requestRaw Topic des Telegram Adapters. Wird dieses jetzt getriggert sehe ich in der History des Topics nur eine Änderung, jedoch führt der Javascript Adapter die on Funktion 3x aus.

      Testscript:

      var strRawRequest = "telegram.0.communicate.requestRaw";
      on({id:strRawRequest, change: "any"},function(obj){
          log("test");
      });
      

      das Ergebnis in der Log ist:

      20:00:17.096 info javascript.0 script.js.Automatisierung.TelegramSteuerung: test
      20:00:17.096 info javascript.0 script.js.Automatisierung.TelegramSteuerung: test
      20:00:17.096 info javascript.0 script.js.Automatisierung.TelegramSteuerung: test

      Kann mir hier jemand weiter helfen?

      Gruß Dominic

      posted in JavaScript
      P
      Psens
    • RE: Download einer Bilddatei via request

      Hallo Thomas,

      vielen dank für den Tipp das hat mir weitergeholfen und Funktioniert jetzt, nachfolgend mein Ansatz hierzu.

      const fs = require('fs');
      const request = require('request');
      
      request.get({url: "http://192.168.66.12/cgi-bin/snapshot.cgi", encoding: "binary"},function(error,response,body){
          fs.writeFile("/mnt/bildergarten/latest.jpg",body,"binary",function(err){
              console.warn("FERTIG");
          });
      })
      .auth("admin","admin",false);
      

      wo ich mir aber dennoch die Frage stelle warum dieser Fehler zustande kommt, mein ursprüngliches Konstrukt lauft auf einer anderen ioBroker Instanz einwandfrei ohne diesen Fehler.

      Gruß Dominic

      posted in Skripten / Logik
      P
      Psens
    • Download einer Bilddatei via request

      Hallo,

      ich habe eine IP Camera, bei dieser kann ich über den http request "http://<ip-address>/cgi-bin/snapshot.cgi" einen jpg Snapshot erstellen,

      wenn ich mir die body Daten des nachfolgenden request Skriptes in die console schreiben lasse kommt da auch jede menge gutes an, leider kann ich das ganze nicht über pipe an die fs.createwritestream übergeben, da dort immer wieder der Fehler "TypeError: fs.createWriteStream is not a function" aufläuft. Kann mir hier jemand helfen, was mache ich Falsch?

      Gruß Dominic

      const fs = require('fs');
      const request = require('request');
      
      request("http://192.168.66.12/cgi-bin/snapshot.cgi",function(error,response,body){
          console.warn("FERTIG");
      })
      .auth("admin","admin",false)
      .pipe(fs.createWriteStream("/mnt/bildergarten/latest.jpg"));
      ````</ip-address>
      posted in Skripten / Logik
      P
      Psens
    • Telegram Adapter und Sendestatus der Nachricht

      Hallo,

      gibt es die Möglichkeit den Sendestatus einer Nachricht die an eine ChatId gesendet wurde abzufragen, also nicht die Callbackfunktion, sondern die drei Statusebenen wie man sie auch in seiner Telegram App hat:

      1 Hacken = Nachricht an den Server übermittelt

      2 Häcken = Nachricht an Client gesendet

      2 grüne Häcken = Nachricht durch User am Client gelesen

      Vielen Dank für die Unterstützung.

      posted in Skripten / Logik
      P
      Psens
    • RE: [gelöst] Ordner Global und das Problem mit Klassen

      @Dutchman:

      Wen man ein globales Script speichert wird immer der JavaScript Adapter neu gestartet.

      Das muss so sein damit die Definitionen im Global fornallen regulären Scripten angehängt werden kann.

      Als der Neustart (kein Absturz) ist "works AS Designed"

      Sent from my iPhone using Tapatalk `

      Dankeschön, klappt alles war eine Fehlinterpretierung meinerseits.

      posted in Skripten / Logik
      P
      Psens
    • [gelöst] Ordner Global und das Problem mit Klassen

      Hallo,

      vielleicht könnt ihr mir weiter Helfen, ich habe im Global, nachfolgende Klasse definiert, wenn ich jetzt versuche das Script auszuführen, stürzt der Javascript Adapter ab und startet neu, ich möchte diese Klassendefinition Global haben da ich immer wieder das gleiche Konstrukt brauche, welches ich dann über einzelne Funktionen aufrufe um somit die Möglichkeit zu haben die einzelnen Instanzen getrennt von einander zu starten und zu stoppen.

      Skript Global: global/V1

      const request = require("request");
      const fs = require("fs");
      
      function BmaTelegramBot(bmaName, password, ipAddress, abrufIntervall, telegramInstance){
          this._bmaName = bmaName;
          this._password = password;
          this._ipAddress = ipAddress;
          this._abrufIntervall = abrufIntervall;
          this._telegramInstance = telegramInstance;
      
          this._historyFile = "history.txt";
          this._usersFile = "users.conf";
          this._jsInstance = "javascript.0.";
      
          this._rawRequest = this._telegramInstance + ".communicate.requestRaw";
          this._usersState = this._jsInstance + this._bmaName + ".users";
          this._msgLast = this._jsInstance + this._bmaName + ".lastMsg";
          this._msgMan = this._jsInstance + this._bmaName + ".manMsg";
      
          createState(this._msgLast, "");
          createState(this._usersState, '{}');
          createState(this._msgMan, "");
      
          if(!fs.existsSync("\\" + this._bmaName + "\\")){
              fs.mkdirSync("\\" + this._bmaName + "\\");
              console.log("Ordern angelegt");
          }
      
          if(!fs.existsSync("\\" + this._bmaName + "\\" + this._historyFile)){
              fs.writeFile("\\" + this._bmaName + "\\" + this._historyFile,"");
              console.log("History angelegt");
          }
      
          this.getUsers = function(){
              return JSON.parse(getState(this._usersState).val);
          };
      
          this.sendTxtMsg = function(userId, text){
              sendTo(this._telegramInstance, {chatId: userId, text: text, parse_mode: "HTML"});
          };
      }
      

      Logeinträge: (ps: habe gerade festgestellt das er den javascript Adapter auch neu Startet wenn ich das V1 Skript nur speichere ohne das es läuft)

      javascript.0	2018-10-05 09:18:36.111	info	received all objects
      javascript.0	2018-10-05 09:18:36.033	info	received all states
      javascript.0	2018-10-05 09:18:35.924	info	requesting all objects
      javascript.0	2018-10-05 09:18:35.924	info	requesting all states
      javascript.0	2018-10-05 09:18:35.924	info	starting. Version 3.6.4 in C:/ioBroker/node_modules/iobroker.javascript, node: v8.12.0
      host.srv-1037099-1	2018-10-05 09:18:35.142	info	instance system.adapter.javascript.0 started with pid 9168
      host.srv-1037099-1	2018-10-05 09:18:32.626	info	instance system.adapter.javascript.0 terminated with code null ()
      host.srv-1037099-1	2018-10-05 09:18:32.626	warn	instance system.adapter.javascript.0 terminated due to SIGTERM
      host.srv-1037099-1	2018-10-05 09:18:32.626	info	stopInstance system.adapter.javascript.0 killing pid 8804
      host.srv-1037099-1	2018-10-05 09:18:32.626	info	stopInstance system.adapter.javascript.0
      host.srv-1037099-1	2018-10-05 09:18:32.611	info	object change system.adapter.javascript.0
      

      Kann mir hier jemand Helfen?

      Gruß Dominic

      posted in Skripten / Logik
      P
      Psens
    • Quelltext Html Seite in Variable

      Hallo,

      ich würde gerne eine den Quelltext einer HTML Website in eine Variable speichern, nachfolgen mein Ansatz, mein Problem ist das ich die Daten nur innerhalb der request Funktion verarbeiten kann aber nicht an eine außerhalb liegende Variable übergeben kann.

      Kann mir hier jemand helfen?

      Die Variable strHtmlQuelltext bleibt leer.

      `var fs = require("fs");
      var fn = "D:\\RK Montage Archiv 05.09.2014\\RK Montage 2013\\test.txt";
      var request = require("request");
      var lastMsg = "javascript.0.lastMsg";
      
      createState(lastMsg, "");
      
      var strHtmlQuelltext = "";
      
      request("http://10.24.49.10/volatile/historie_liste.html", function (error, response, body) {
          var htmlInput = response.body;
          var intStart = htmlInput.search('') + 48;
          var intStop = htmlInput.search('
      
      ');
          htmlInput = htmlInput.substr(intStart, intStop - intStart);
      
          htmlInput = htmlInput.split("").join("");
          htmlInput = htmlInput.split("").join(";");
          htmlInput = htmlInput.split("").join("");
      
          var msg = htmlInput.split("\n");
          var msgNew = [];
      
          for(var i = 1; i < msg.length-1; i++){
              var nachricht = msg[i].split(";");
              msgNew.push({
                              geraet:nachricht[1],
                              type:nachricht[2],
                              text:nachricht[3],
                              zeit:nachricht[4]
              });
          }
          msgNew = msgNew.reverse();
      
          strHtmlQuelltext = JSON.stringify(msgNew);
      
          setState(lastMsg, JSON.stringify(msgNew[msgNew.length - 1]));
      
          fs.writeFile(fn, JSON.stringify(msgNew));
      });
      
      console.log(strHtmlQuelltext);` 
      
      Output im Log Fenster:
      
      16:49:45.275	[info]	javascript.0 Stop script script.js.Skript2
      
      16:49:45.291	[info]	javascript.0 Start javascript script.js.Skript2
      
      **~~[b]~~16:49:45.291	[info]	javascript.0 script.js.Skript2:[/b]**
      
      16:49:45.291	[info]	javascript.0 script.js.Skript2: registered 0 subscriptions and 0 schedules[/i]
      
      posted in Skripten / Logik
      P
      Psens
    • RE: New Line \n

      @AlCalzone:

      mach aus \ ein \ `

      Dankeschön hat geklappt … manchmal kann es so einfach sein.

      posted in Skripten / Logik
      P
      Psens
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo