Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. IP Devices im Netzwerk - HTML Tabelle vis, Iqontrol

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    IP Devices im Netzwerk - HTML Tabelle vis, Iqontrol

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      luft-post last edited by

      Moin zusammen,

      ich versuche gerade meine

      javascript.0 (27161) script.js.Tabelle_Netzwerk: no Array
      

      Einträge wegzubekommen. Daher den Eintrag mit nmap unter /etc/sudoers.d/iobroker hinzugefügt.
      Jetzt kommt aber

      javascript.0 (27161) at script.js.Tabelle_Netzwerk:303:146
      javascript.0 (27161) at Object.<anonymous> (script.js.Tabelle_Netzwerk:301:18)
      

      und hier bin ich leider raus 😐
      Jemand eine Idee für mich?

      gruß
      Matthias

      liv-in-sky 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @luft-post last edited by

        @luft-post

        nutzt du das alte oder neue script ?

        poste mal bitte die script zeilen um zeile 303 (+/- 10 zeilen) - damit ich die fehlermeldung deuten kann

        L 1 Reply Last reply Reply Quote 0
        • L
          luft-post @liv-in-sky last edited by

          @liv-in-sky
          moin,
          erstmal danke für dein Support 🙂
          benutzen tue ich aktuell die

          //@liv-in-sky Januar 2020 9.3-20:15
          

          Version.
          Hab aber auch schon das aktuelle Skript getestet mit ähnlichen Problem.
          Hier die Zeilen aus den 2020 Skript

           for (var i=0;i<myObjOld.length;i++){                // ist gerät noch da ???
               //  if (i>0 && i<10)  log("-----"+myObjOld[i][0]+" alles: ") ;     if (i>0 && i<2) log(myObj.toString())
                     if (!myObj.toString().includes(myObjOld[i][1]))  {  varhelp1=myObjOld[i][0].trim() ; varhelp2=myObjOld[i][1]; varhelp3="false"; 
                                                              let help=[varhelp1,varhelp2,varhelp3]; /*if (i>=0 && i<80)  log("+++++++???+++++++++help "+help.toString())*/
                                                              myObj.push(help)               
                                               }                      }
           
             // log("------------------------------------------------"+myObjOld[1].toString())
           
              if (braucheMaterialDesignWidget || braucheMaterialDesignWidgetList) sortiereClient=true
           
           /*    if (sortiereClient){ 
          {1}
                  myObj.sort(function (alpha, beta) {
                      if (alpha[0].toUpperCase().trim() > beta[0].toUpperCase().trim())
                         return 1;
                      if (beta[0].toUpperCase().trim() > alpha[0].toUpperCase().trim())
                         return -1;
                      return 0;
                     });} else {  */
          if (!sortiereClient){ 
                     myObj.sort(function (alpha, beta) {
                      //   if (parseFloat(beta[1].replace(/.+\.(.+)$/,"$1")) > parseFloat(alpha[1].replace(/.+\.(.+)$/,"$1")))
                       if ((parseFloat(beta[1].replace(/.+\.(.+)$/,"$1")))+(parseFloat(beta[1].replace(/.+\.(.+)\..+$/,"$1"))*1000) > (parseFloat(alpha[1].replace(/.+\.(.+)$/,"$1")))+(parseFloat(alpha[1].replace(/.+\.(.+)\..+$/,"$1"))*1000))
                             return -1;
                         if ((parseFloat(alpha[1].replace(/.+\.(.+)$/,"$1")))+(parseFloat(alpha[1].replace(/.+\.(.+)\..+$/,"$1"))*1000) > (parseFloat(beta[1].replace(/.+\.(.+)$/,"$1")))+(parseFloat(beta[1].replace(/.+\.(.+)\..+$/,"$1"))*1000))
                             return 1;
                      return 0;
                     });  
                     }
              var1="scanned in" //nur scanned seconds
             var3="true"
             var2=myTimeScanArr[0].replace(/.+ (\d+\.\d+.+$)/,"$1");//log(var2)
             let help=[var1,var2,var3]
            if (sortiereClient) help=["xxxx"+var1,var2,var3]
            myObj.push(help)
          if (!rootcount)  setState(dpPrefix+"Tabellen.IPDevices.Device_Collection", myObjOld)
          ///////////////////////////log("myObject ------- "+myObj.length.toString()+"---- ")
           // setState("0_userdata.0.Tabellen.IPDeviceERROR", myObj.toString())   // zur fehlersuche
          for(var i=0;i<myObj.length;i++) {            // hier eigene schleife definieren und den wert counter++ nicht vergessen  !!!
           
                    counter++;                                       // SEHR WICHTIG - MUSS IN JEDER SCHLEIFE INTEGRIERT SEIN
                  //  log(myObj[i][0].toString())
                    val0=myObj[i][0].replace("for","").trim()
                    val0=val0.replace("."+domainName,"")
                    val0=val0.replace(/[(,)]/g,"")
                    val1=myObj[i][1]
                    val1=val1.replace(/[(,)]/g,"")
          

          gruß
          Matthias

          L 1 Reply Last reply Reply Quote 0
          • L
            luft-post @luft-post last edited by

            @luft-post
            Zeile: 303 wäre hier zeile 24

            liv-in-sky 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @luft-post last edited by

              @luft-post alles sehr verwirrend - die version im erstem post für das alte script und auch die version des neuen scriptes passen beide nicht mit deiner angegebenen version zusammen - daher bitte eines von beiden installieren - das neue wäre mir lieber ( https://forum.iobroker.net/post/600610 )

              dann wäre noch wichtig,

              • ist das ein debian system (buster) ?
              • was ist der ip-bereich in deinem setting
              • evtl wäre es mal gut den befehl in der console einzugeben und mal einen ausschnitt davon zu posten
              sudo -u root nmap -sPR --dns-servers <dnsServer> <ipbereich> 
              

              bei mir:

              sudo -u root nmap -sPR --dns-servers 192.168.178.1 192.168.178.0/24
              

              wenn du <dnsserver> und <ipbereich> mal von dir nutzt und in der console aufrufst, was kommt dann ?
              (am besten du installierst dir den terminal-adapter. wenn du darin deinen befehl eingibst, ist ds wie im script mit dem iobroker user) (poste auch mal deinen ganzen befehl)

              hier mal mein ergebnis im terminal adapter:

              Image 2.png

              1 Reply Last reply Reply Quote 0
              • L
                luft-post last edited by

                Ok habe jetzt das Aktuelle Script in Betrieb.

                //@liv-in-sky Januar 2020 9.3-20:15
                

                auch hier ist die Fehlermeldung ähnlich

                18:42:34.945	info	javascript.0 (27161) Start javascript script.js.14_Tabelle_Netzwerk
                18:42:35.049	info	javascript.0 (27161) script.js.14_Tabelle_Netzwerk: registered 1 subscription and 1 schedule
                18:42:49.403	warn	javascript.0 (27161) at script.js.14_Tabelle_Netzwerk:379:22
                18:42:49.404	warn	javascript.0 (27161) at writeHTML (script.js.14_Tabelle_Netzwerk:262:1)
                18:42:49.418	error	javascript.0 (27161) script.js.14_Tabelle_Netzwerk: TypeError: Cannot read property 'replace' of undefined
                18:42:49.419	error	javascript.0 (27161) at script.js.14_Tabelle_Netzwerk:390:21
                18:42:49.419	error	javascript.0 (27161) at writeHTML (script.js.14_Tabelle_Netzwerk:262:1)
                

                hier Zeilen aus den Skript

                if (mysortiereClient==2){ 
                           myObj.sort(function (alpha, beta) {
                            //   if (parseFloat(beta[1].replace(/.+\.(.+)$/,"$1")) > parseFloat(alpha[1].replace(/.+\.(.+)$/,"$1")))
                             if ((parseFloat(beta[1].replace(/.+\.(.+)$/,"$1")))+(parseFloat(beta[1].replace(/.+\.(.+)\..+$/,"$1"))*1000) > (parseFloat(alpha[1].replace(/.+\.(.+)$/,"$1")))+(parseFloat(alpha[1].replace(/.+\.(.+)\..+$/,"$1"))*1000))
                                   return -1;
                               if ((parseFloat(alpha[1].replace(/.+\.(.+)$/,"$1")))+(parseFloat(alpha[1].replace(/.+\.(.+)\..+$/,"$1"))*1000) > (parseFloat(beta[1].replace(/.+\.(.+)$/,"$1")))+(parseFloat(beta[1].replace(/.+\.(.+)\..+$/,"$1"))*1000))
                                   return 1;
                            return 0;
                           });  
                           }
                    var1="scanned in" //nur scanned seconds
                   var3="true"
                   var2=myTimeScanArr[0].replace(/.+ (\d+\.\d+.+$)/,"$1");//log(var2)
                   let help=[var1,var2,var3]
                 
                  if (mysortiereClient==1) help=["xxxx"+var1,var2,var3]
                  myObj.push(help)
                /*if (!rootcount)*/  setState(dpPrefix+"Tabellen.IPDevices.Device_Collection", myObjOld)
                ///////////////////////////log("myObject ------- "+myObj.length.toString()+"---- ")
                 // setState("0_userdata.0.Tabellen.IPDeviceERROR", myObj.toString())   // zur fehlersuche
                        for(var i=0;i<myObj.length;i++) {            // hier eigene schleife definieren und den wert counter++ nicht vergessen  !!!
                 
                          counter++;                                       // SEHR WICHTIG - MUSS IN JEDER SCHLEIFE INTEGRIERT SEIN
                        //  log(myObj[i][0].toString())
                          val0=myObj[i][0].replace("for","").trim()
                          val0=val0.replace("."+domainName,"")
                          val0=val0.replace(/[(,)]/g,"")
                          val1=myObj[i][1]
                          val1=val1.replace(/[(,)]/g,"")
                 
                      //  log(val0+" --- "myDeviceNamesNew[].ip)
                 
                for (var index in myDeviceNames) {                   //ersetze mit aliasnamen
                                              //log(index)
                                               if ((val1.trim()).match(index.trim()) && val1.trim().length == index.trim().length) {val0=myDeviceNames[index];
                                                                                                                                    
                                               //log(val0+" - "+index)
                                                 } } 
                let helperIP=""
                let helperlink=""
                
                L liv-in-sky 2 Replies Last reply Reply Quote 0
                • L
                  luft-post @luft-post last edited by

                  Zeile 390 ist hier die 29

                  Meine IP Setting:

                  let mySchedule=" */15 * * * * ";                       //jede minute  -  nicht unter eine minute gehen -besser 3 oder 5 minuten nutzen !!!
                  const domainName="fritz.box";                  // domainname in der fritzbox definiert
                  const ipbereich="192.168.2.0/24";           //  gilt nicht für windows
                  const dnsServer="192.168.2.1"               // gilt nicht für windows
                  let mysortiereClient=1;        
                  

                  Verwenden tu ich ein PI4 mit Buster.
                  Und hier die Ausgabe von nmap:
                  ipliste.JPG

                  1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @luft-post last edited by

                    @luft-post das ist wieder eine seltsame version - die ist von 2020 - aber ich denke , es gibt da eh ein anderes thema

                    ist es möglich mit anydesk bei dir drauf zu gehen - wäre einfacher und wahrscheinlich schneller

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      luft-post @liv-in-sky last edited by

                      @liv-in-sky
                      Anydesk bekomme ich hier gerade nicht installiert, hätte Skype im Angebot bittet aber keine Übernahme der Steuerung 😐
                      Mit der Version hast du recht würde gerade versuchen die aktuellste zu übernehmen (Hätte gedacht, dass ich es gemacht habe...)
                      Anydesk könnten wir heute Abend oder Morgen versuchen wenn ich wieder einen Freien Rechner zur Verfügung habe.

                      dank und gruß
                      Matthias

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @luft-post last edited by

                        @luft-post anydesk wäre schon gut

                        was ist den heute abend - bei mir ist schon abend 🙂

                        1 Reply Last reply Reply Quote 0
                        • L
                          luft-post last edited by

                          so ab 22Uhr, wenn ich Feierabend habe...

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @luft-post last edited by

                            @luft-post sorry - das ist zu spät

                            gibt es eine andere möglichkeit - oder evtl. wochenende

                            L 1 Reply Last reply Reply Quote 0
                            • L
                              luft-post @liv-in-sky last edited by

                              @liv-in-sky

                              hier jetzt die Fehlermeldung von der Januar 2021 13.3-19:00 version

                              9:08:45.211	info	javascript.0 (27161) Stop script script.js.15-Tabelle_Netzwerk
                              19:08:52.189	info	javascript.0 (27161) Start javascript script.js.15-Tabelle_Netzwerk
                              19:08:52.263	info	javascript.0 (27161) script.js.15-Tabelle_Netzwerk: registered 1 subscription and 1 schedule
                              19:09:04.480	warn	javascript.0 (27161) at script.js.15-Tabelle_Netzwerk:378:22
                              19:09:04.480	warn	javascript.0 (27161) at writeHTML (script.js.15-Tabelle_Netzwerk:261:1)
                              19:09:04.494	error	javascript.0 (27161) script.js.15-Tabelle_Netzwerk: TypeError: Cannot read property 'replace' of undefined
                              19:09:04.495	error	javascript.0 (27161) at script.js.15-Tabelle_Netzwerk:389:21
                              19:09:04.495	error	javascript.0 (27161) at writeHTML (script.js.15-Tabelle_Netzwerk:261:1)
                              
                              L 1 Reply Last reply Reply Quote 0
                              • L
                                luft-post @luft-post last edited by

                                @luft-post
                                wieder die selbe stelle.

                                19:14:08.262	info	javascript.0 (27161) script.js.15-Tabelle_Netzwerk: for Google-Home.fritz.box
                                19:14:08.262	info	javascript.0 (27161) script.js.15-Tabelle_Netzwerk: for D797424.fritz.box
                                19:14:08.262	info	javascript.0 (27161) script.js.15-Tabelle_Netzwerk: for Chromecast-Ultra.fritz.box
                                19:14:08.263	info	javascript.0 (27161) script.js.15-Tabelle_Netzwerk: for Galaxy-S9Plus.fritz.box
                                19:14:08.263	info	javascript.0 (27161) script.js.15-Tabelle_Netzwerk: 192.168.2.251
                                19:14:08.263	info	javascript.0 (27161) script.js.15-Tabelle_Netzwerk: for iobroker.fritz.box
                                19:14:08.264	info	javascript.0 (27161) script.js.15-Tabelle_Netzwerk: f
                                19:14:08.267	error	javascript.0 (27161) script.js.15-Tabelle_Netzwerk: TypeError: Cannot read property 'replace' of undefined
                                19:14:08.267	error	javascript.0 (27161) at script.js.15-Tabelle_Netzwerk:389:21
                                19:14:08.267	error	javascript.0 (27161) at writeHTML (script.js.15-Tabelle_Netzwerk:261:1)
                                

                                mit log

                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @luft-post last edited by

                                  @luft-post

                                  da verennt sich der regex, der die daten aufbereitet - die ip und das f sehen seltsam aus - du kannst ja mal den consolen befehl nochmal machen und die ausgabe nach dem galaxys9 zeigen - was da ankommt

                                  L 1 Reply Last reply Reply Quote 0
                                  • L
                                    luft-post @liv-in-sky last edited by

                                    @liv-in-sky
                                    ipliste2.JPG

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @luft-post last edited by

                                      @luft-post wenn du zuhause bist, ist es möglich die 2.251 mal vom netz zu nehmen und das script dann laufen zu lassen

                                      L 1 Reply Last reply Reply Quote 0
                                      • L
                                        luft-post @liv-in-sky last edited by

                                        @liv-in-sky
                                        ich bin gerade auf der suche nach der 2.251
                                        Habe gerade keine Idee was es ist, meine Fritzbox zeigt mir das gerät nicht an

                                        L liv-in-sky 2 Replies Last reply Reply Quote 0
                                        • L
                                          luft-post @luft-post last edited by

                                          Antworten auf ein ping tut es auch nicht

                                          1 Reply Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @luft-post last edited by

                                            @luft-post irgendwas "chinesisches" - evtl mit fester ip, wenn du es nicht in fritzbox siehst

                                            shenzen - evtl etwas "billiges"

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            957
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript template
                                            26
                                            493
                                            65632
                                            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