Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Warn Meldungen???

    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

    UNSOLVED Warn Meldungen???

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      denjo last edited by denjo

      ich habe das gleiche problemmit meiner Anwesenheit Steuerung, könntest du da mal überweg gucken wenn zeit hättest.

      hier die Steuerung:


      // Anwesenheitsliste aus TR064 bauen
      // Autor Looxer01 01.01.2017
      // Das Programm basiert auf den Adapter TR064 der die WLAN verfügbarkeit von allen Geräten überwacht
      // Die States fuer USER1 - USERx müssen aus dem Adapter TR064 entnommen werden
      // Funktionen:
      // Ermittlung ob irgendwer anwesend ist
      // Speichern von kommt und gehtzeiten
      // Speichern der Anwesenheitsliste mit kommt und geht als Json
      // Log schreiben für jede Atkualisierung der Anwesenheit

      //-----------------------------------------------------------------------------------------------------
      // Einstellbereich
      //-----------------------------------------------------------------------------------------------------

      // Hier ist der State für den die Deviceermittlung der durch den TR064 ermittelt wird
      var StateTR064Device = "tr-064-community.0.devices.";

      // Hier ist der State für den die Anwesenheitssimulation. Bei True wird die AWS (separates Programm) gestartet
      var IDAWSAktiv = "javascript.0.Anwesenheitssteuerung.AWSAktiv"; // ID AWS flag

      // Falls die Anwesenheitssimulation verknüpft werden soll dann hier TRUE eintragen und dann die Zeit in Sekunden nach Abwesenheit, die vergehen soll bis die Simulation aktiviert wird
      var AWSCheckAktiv = false; // auf true setzen, wenn die Anwesenheitssimulation genutzt wird
      var AWSZeit = 600; // nach diesen Sekunden verzoegerung wird die Simulation aktiviert // Maximale Anzahl der User mit Anwesenheitsueberwachung

      // die Deviceliste aus TR064, die ueberwacht werden soll muss hier eingetragen werden
      var User = { "Dennis-S10": "Dennis", "Yvonne-S9": "Yvonne"};

      // Allgemeine Anwesenheiten. Die Namen koennen geändert werden
      var UserAllText = "JemandDa";
      var UserString = "Liste";

      // Pfad für die userliste nach .0. kann der Name frei vergeben werden und wird entsprechend in die Objektliste geschrieben
      var path = 'javascript.0.Anwesenheitssteuerung.'; // Pfad für create states

      //Logging
      var logflag = false; // logging enabled
      var LogPath = "/opt/iobroker/iobroker-data/Anwesenheiten.csv"; // Pfad und Dateiname des externen Logs

      //-----------------------------------------------------------------------------------------------------
      // Ende Einstellbereich
      //-----------------------------------------------------------------------------------------------------

      for (var key in User){
      createState(path + 'Userlist.' + User[key], false, {read: true, write: true, type: 'boolean', name: 'Anwesenheit '+User[key], desc: 'Anwesenheit '+User[key]});

      createState(path + 'Userlist.KommtGeht.' + User[key]+"Geht", CreationTime, {read: true, write: true, type: 'string', name: 'Anwesenheit Zeit ausloggen aus FB', desc: 'Zeit Verlassen '+User[key]});
      createState(path + 'Userlist.KommtGeht.' + User[key]+"Kommt", CreationTime, {read: true, write: true, type: 'string', name: 'Anwesenheit Zeit ausloggen in FB', desc: 'Zeit kommen '+User[key]});
      }

      var CreationTime = " ";
      var fs = require('fs'); // enable write fuer externes log

      // Datenpunkte erzeugen
      createState(path + 'Userlist.' + UserString, "Niemand", {read: true, write: true, type: 'string', name: 'Anwesenheit Userliste', desc: 'Anwesenheit Userliste'});
      createState(path + 'Userlist.' + UserAllText, false, {read: true, write: true, type: 'boolean', name: 'Anwesenheit alle User', desc: 'Anwesenheit alle User'});

      createState(path + 'Userlist.KommtGeht.' + "AnwesenheitJson", CreationTime, {read: true, write: true, type: 'string', name: 'Anwesenheitsstatus Json Liste', desc: 'UserListe als Json'});
      createState(path + 'Userlist.KommtGeht.' + "AnwesenheitHTML", CreationTime, {read: true, write: true, type: 'string', name: 'Anwesenheitsstatus HTML String', desc: 'UserListe als HTML String'});

      if (AWSCheckAktiv === true){
      createState(IDAWSAktiv,false);
      }

      // Funktion synchronisiert Status mit TR064 beim Aufruf des Programmes
      anwesenheit("ProgramInitialisierung",0);

      for (var key in User){
      on({id: StateTR064Device + key, valNe: 0 }, function(obj) {
      if (obj.state.ack) {
      anwesenheit('UserKommtGeht',obj.id.split(".").pop(-1));
      }
      });
      }

      //-----------------------------------------------------------------------------------------------------
      // Funktion Erstellung der Anwesenheitsliste
      //-----------------------------------------------------------------------------------------------------
      function anwesenheit (Ausloeser, Userkey) {
      log ("Ausloeser: " + Ausloeser,"info");
      CreationTime = formatDate(new Date(),"TT.MM.JJJJ SS:mm:ss");

      var CurrentUserList = "";
      var StatusCurrentUser = false;
      var StatusAllUser = false;
      var JsonString = "[";
      var HTMLString = "<table style='width:100%'><thead><tr><th style='text-align:left;'>Name</th><th style='text-align:left;'>Status</th><th style='text-align:left;'>Kommt</th><th style='text-align:left;'>Geht</th></tr></thead><tbody>";
      var kommttime = "";
      var gehttime = "";

      for (var key in User){
      StatusCurrentUser = getState(StateTR064Device + key).val; // Lesen des status des users
      setState(path + 'Userlist.' + User[key], StatusCurrentUser); // Den Status aus TR64 setzen

      kommttime = getState(path + 'Userlist.KommtGeht.' + User[key]+"Kommt").val;
      gehttime = getState(path + 'Userlist.KommtGeht.' + User[key]+"Geht").val;

      if (key === Userkey) {
      setState(path + 'Userlist.KommtGeht.' + User[key]+(StatusCurrentUser ? "Kommt": "Geht"),CreationTime); // Schreibe den Zeitstempel für den user der grerade gegangen ist
      if(StatusCurrentUser) kommttime = CreationTime; else gehttime = CreationTime;
      writelog(User[key] + ";" + (StatusCurrentUser ? "Kommt": "Geht"));
      }

      if (StatusCurrentUser === false && StatusAllUser !== true) { // user geht mmt es ist niemand mehr da
      StatusAllUser = false; // jetzt wird der Status "niemand mehr da" gesetzt
      } // Ende Anwesenheit auf false gesetzt

      if (StatusCurrentUser) { // Wenn der user der gerade gecheckt wird anwesend ist
      CurrentUserList += User[key] + " "; // user in der userlist aufnehmen
      StatusAllUser = true;
      } // Ende Anwesenheit auf true gesetzt

      log("Anwesenheit " + User[key] +" " + StatusCurrentUser,"info");

      JsonString += JsonCreate ("Name", User[key], "Status", StatusCurrentUser, "Kommt", kommttime, "Geht", gehttime) + ",";

      HTMLString+="<tr>";
      HTMLString+="<td>"+User[key]+"</td>"
      HTMLString+="<td>"+(StatusCurrentUser ? '<div class="mdui-green-bg mdui-state mdui-card">anwesend</div>' : '<div class="mdui-red-bg mdui-state mdui-card">abwesend</div>')+"</td>"
      HTMLString+="<td>"+kommttime+"</td>"
      HTMLString+="<td>"+gehttime+"</td>"
      HTMLString+="</tr>";

      } // ende for

      JsonString += "]";
      HTMLString += "</body></table>";

      setState(path + 'Userlist.KommtGeht.' + "AnwesenheitJson", JsonString);
      setState(path + 'Userlist.KommtGeht.' + "AnwesenheitHTML", HTMLString);
      if (!StatusAllUser) {
      CurrentUserList = "Niemand"; // es ist niemand da
      }

      setState(path + 'Userlist.' + UserAllText,StatusAllUser); // Setzen des All Status
      setState(path + 'Userlist.' + UserString,CurrentUserList); // userlist speichern
      log("Anwesenheit genereller Status " + StatusAllUser,"info");
      log("Anwesenheitsliste " + CurrentUserList,"info");

      // Anwesenheitssimulation ein-oder ausschalten
      if (AWSCheckAktiv === true){
      if (StatusAllUser === true) {
      setState(IDAWSAktiv,false);
      } else {
      if (getState(IDAWSAktiv).val === false) { // prüfe status AWS flag
      setStateDelayed(IDAWSAktiv,true,AWSZeit*1000);
      log("EVENT Anwesenheit ist auf false gesetzt - AWSFlag wird aktiviert in " + AWSZeit + " Sekunden","info");
      } // endif AWS aktiv
      } // endif StatusAllUser
      } // AWSCheckAktiv

      } // Ende Funktion Anwesenheit

      //-----------------------------------------------------------------------------------------------------
      // Erstellung von json strings zur Tabellendarstellung
      //-----------------------------------------------------------------------------------------------------
      function JsonCreate (Desc1, Wert1, Desc2, Wert2, Desc3,Wert3, Desc4,Wert4,anzahlzeilen,aktuellezeile) {
      var buildzeile = "{";
      buildzeile += '"' + Desc1+ '":';
      buildzeile += '"' + Wert1 + '"' + ",";
      buildzeile += '"' + Desc2 + '"' + ":";
      buildzeile += '"' + Wert2 + '"' + ",";
      buildzeile += '"' + Desc3 + '"' + ":";
      buildzeile += '"' + Wert3 + '"' + ",";
      buildzeile += '"' + Desc4 + '"' + ":";
      buildzeile += '"' + Wert4 + '"' + "}";

      return buildzeile;
      } // Ende Funktion

      //-----------------------------------------------------------------------------------------------------
      // Funktion schreibt einen Logeintrag in das Filesystem und auch in das interne Log-System
      //-----------------------------------------------------------------------------------------------------
      function writelog(string) {
      if (logflag === true) {
      var logdate = formatDate(new Date(),"TT.MM.JJJJ");
      var logtime = formatDate(new Date(),"SS:mm:ss");

      if (fs.existsSync(LogPath)) {
      fs.appendFileSync(LogPath, logdate+" ;"+logtime+" ;"+string + "\n"); // Füge Satz in Datei ein
      } else {
      log("Logfile nicht gefunden - wird angelegt"), "info";
      var headerLine= "Datum;Uhrzeit;Name;Kommt-Geht";
      fs.appendFileSync(LogPath, headerLine + "\n"); // Füge Satz in Datei ein
      fs.appendFileSync(LogPath, logdate+" ;"+logtime+" ;"+string + "\n"); // Füge Satz in Datei ein
      } // endif Filecheck
      } // Ende check on logflag
      } // Ende Funktion "tr-064.0.devices.Davens-S10.active"/active/

      und hier die warn Meldung

      	You are assigning a boolean to the state "javascript.0.Anwesenheitssteuerung.Userlist.Dennis" which expects a object. Please fix your code to use a object or change the state type to boolean.
      
      paul53 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @denjo last edited by paul53

        @denjo
        Der Datenpunkt "javascript.0.Anwesenheitssteuerung.Userlist.Dennis" wird im Skript mit dem Typ "boolean" erzeugt. Weshalb jetzt ein Objekt erwartet wird, ist unklar (versehentliche Fehleingabe ?). Ändere im Reiter "Objekte" den Typ von "Objekt" zurück in "Logikwert".

        D 1 Reply Last reply Reply Quote 0
        • D
          denjo @paul53 last edited by

          @paul53 dort meinst du??13-09-_2019_10-23-05.png

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @denjo last edited by paul53

            @denjo sagte:

            dort meinst du??

            Ja, oder unter ALLGEMEIN.
            Objekte_Allg.JPG

            D 1 Reply Last reply Reply Quote 0
            • D
              denjo @paul53 last edited by

              @paul53 dort ist er aber als Logikwert eingestellt

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @denjo last edited by paul53

                @denjo sagte:

                dort ist er aber als Logikwert eingestellt

                You are assigning a boolean to the state "javascript.0.Anwesenheitssteuerung.Userlist.Dennis" which expects a object. Please fix your code to use a object or change the state type to boolean.
                

                Dann käme nicht diese Warnung.

                D 1 Reply Last reply Reply Quote 0
                • D
                  denjo @paul53 last edited by

                  @paul53 13-09-_2019_11-00-12.png

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @denjo last edited by

                    @denjo
                    Der angemeckerte Datenpunkt ist "javascript.0.Anwesenheitssteuerung.Userlist.Dennis".

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      denjo @paul53 last edited by

                      @paul53 ja das stimmt aber der ist auch logikwert

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @denjo last edited by

                        @denjo sagte:

                        aber der ist auch logikwert

                        Sollte sich der Javascript-Adapter so irren ?

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          denjo @paul53 last edited by

                          @paul53 ja ich versteh es langsam, und du hast auch recht. aber hier siehst du13-09-_2019_11-46-15.png

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @denjo last edited by

                            @denjo sagte:

                            hier siehst du

                            Kommt die Warnung noch ?

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              denjo @paul53 last edited by Negalein

                              @paul53
                              You are assigning a boolean to the state "javascript.0.Anwesenheitssteuerung.Userlist.Dennis" which expects a Logikwert. Please fix your code to use a Logikwert or change the state type to boolean.

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @denjo last edited by paul53

                                @denjo sagte:

                                which expects a Logikwert.

                                Das ist was Neues: "Logikwert" gibt es im Englischen nicht. Ändere bitte in der RAW-Ansicht unter common

                                     type: "boolean",
                                
                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  denjo @paul53 last edited by Negalein

                                  @paul53 okay schon besser, jetzt hab ich noch die Warnungen

                                  javascript.0	2019-09-13 12:07:23.227	warn	at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
                                  javascript.0	2019-09-13 12:07:23.226	warn	at Socket.Readable.push (_stream_readable.js:224:10)
                                  javascript.0	2019-09-13 12:07:23.226	warn	at readableAddChunk (_stream_readable.js:269:11)
                                  javascript.0	2019-09-13 12:07:23.226	warn	at addChunk (_stream_readable.js:288:12)
                                  javascript.0	2019-09-13 12:07:23.225	warn	at Socket.emit (events.js:198:13)
                                  javascript.0	2019-09-13 12:07:23.225	warn	at Socket.DataHandler.redis.stream.on.data (/opt/iobroker/node_modules/ioredis/built/DataHandler.js:25:20)
                                  javascript.0	2019-09-13 12:07:23.224	warn	at JavascriptRedisParser.execute (/opt/iobroker/node_modules/redis-parser/lib/parser.js:544:14)
                                  javascript.0	2019-09-13 12:07:23.224	warn	at JavascriptRedisParser.returnReply (/opt/iobroker/node_modules/ioredis/built/DataHandler.js:21:22)
                                  javascript.0	2019-09-13 12:07:23.223	warn	at DataHandler.returnReply (/opt/iobroker/node_modules/ioredis/built/DataHandler.js:47:18)
                                  javascript.0	2019-09-13 12:07:23.223	warn	at DataHandler.handleSubscriberReply (/opt/iobroker/node_modules/ioredis/built/DataHandler.js:87:32)
                                  javascript.0	2019-09-13 12:07:23.222	warn	at Redis.emit (events.js:198:13)
                                  javascript.0	2019-09-13 12:07:23.222	warn	at Redis.sub.on (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:198:33)
                                  javascript.0	2019-09-13 12:07:23.222	warn	at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4520:37)
                                  javascript.0	2019-09-13 12:07:23.221	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:378:25)
                                  javascript.0	2019-09-13 12:07:23.221	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1003:38)
                                  javascript.0	2019-09-13 12:07:23.220	warn	at Object.<anonymous> (script.js.Test.Anwesenheit:73:1)
                                  javascript.0	2019-09-13 12:07:23.220	warn	at anwesenheit (script.js.Test.Anwesenheit:94:21)
                                  javascript.0	2019-09-13 12:07:23.217	warn	getState "tr-064-community.0.devices.Yvonne-S9" not found (3)
                                  

                                  Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion ---> </>

                                  sigi234 1 Reply Last reply Reply Quote 0
                                  • sigi234
                                    sigi234 Forum Testing Most Active @denjo last edited by

                                    @denjo sagte in Warn Meldungen???:

                                    Yvonne-S9

                                    Gibt es im Adapter unter Geräte auch eine Yvonne-S9 mit der Richtigen IP und Mac?

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      denjo @sigi234 last edited by denjo

                                      @sigi234 oh ich merke gerade der adapter läuft nicht richtig, ich werde ihn heut abend nach der arbeit mal neu installieren. danke erst mal.

                                      so hab ihn wieder am laufen und ja ist vorhanden.
                                      13-09-_2019_12-31-31.png

                                      und ip und mac stimmen auch

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      521
                                      Online

                                      31.8k
                                      Users

                                      80.0k
                                      Topics

                                      1.3m
                                      Posts

                                      warnmeldung
                                      6
                                      37
                                      1155
                                      Loading More Posts
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                      The ioBroker Community 2014-2023
                                      logo