Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Betatest Adapter NSPanel-lovelace-ui v0.13.x

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    733

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Betatest Adapter NSPanel-lovelace-ui v0.13.x

Geplant Angeheftet Gesperrt Verschoben Tester
998 Beiträge 30 Kommentatoren 179.6k Aufrufe 35 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Nicht stören
    T Nicht stören
    ticaki
    schrieb am zuletzt editiert von ticaki
    #989

    0.15.2 (2026-03-26)

    • (tt-tom17) added: message dialog when berry installation fails due to missing internet access on the panel
    • (ticaki) added: improved offline detection for panels
    • (ticaki) improved: version info caching (15–60 min) to reduce external API calls
    • (ticaki) fixed: admin panel info tab now displays state labels in the correct system language

    Bemerkung:

    Es wird jetzt mehr überprüft ob die Initalisierung klappen kann und ob sie geklappt hat.
    Das Caching der Versionsdaten wird mit einem adapter neustart aktualisiert oder wenn die 60 Min seit dem letzten Download rum sind vorher wurde für jedes panel extra runtergeladen

    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

    Spenden

    1 Antwort Letzte Antwort
    2
    • ilovegymI Offline
      ilovegymI Offline
      ilovegym
      schrieb am zuletzt editiert von
      #990

      Hi, die 0.15.2 laeuft, hat aber nach dem starten des Adapters ewig gebraucht, bis alle Panels online waren.. wollte schon wieder zurueck zur 0.15.1.. als dann doch nach und nach alle online gingen.. es wurden auch bei 3 Panels angemeckert, es waere script version 19.3 drauf, anstatt 20, dabei ist es aber Version 20.. sind ja alle gleich bei mir.. nur mal so..
      Tasmota ist bei 12 Panels die 15.3, bei einem die 15.0.1.
      Admin Version 7.8.9 und Nodejs 22.22.2

      ilovegym66 – ioBroker Projekte & Automationen
      GitHub: https://github.com/Ilovegym66 | Austausch im Discord: https://discord.gg/yC65zjr5uq

      1 Antwort Letzte Antwort
      0
      • T Nicht stören
        T Nicht stören
        ticaki
        schrieb am zuletzt editiert von ticaki
        #991

        Das Anmeckern der Skriptversion liegt an folgendem:

        Update your script and/or resend the configuration

        Du hast zwar im Javascript-Adapter die Skripte geupdatet - jedoch nicht an den Adapter gesendet. Dadurch wird beim Start des Adapter die Skriptversion als veraltet erkannt.

        Ich weiß nicht ob ich das ändern soll. Hat i.d.R. keine Nachteile das nicht zu senden. EDIT: Das Überprüfen der Skriptversion ist schon seit einer großen Anzahl von Monaten teils kaputt gewesen)

        Den Potenziel längere Startup kann ich mir gerade nicht erklären. Das passiert, wenn der Tasmota sich nicht im MQTT-Server anmelden kann, dann geht er in einen 10 Sekunden Interval der ansteigt. Oder er verpasst den startup - dann geht der Adapter in einen startup interval mit 5 Sekunden delay. Ist mir auch schon gelegentlich aufgefallen - aber meist hats nicht länger gedauert als meine sehr kurze Lunte :)

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        1 Antwort Letzte Antwort
        0
        • ilovegymI Offline
          ilovegymI Offline
          ilovegym
          schrieb am zuletzt editiert von
          #992

          ah, danke, ja das kann sein, dann starte ich die scripte alle mal durch.. ist ja kein fehler.
          Was mir auch noch einfaellt.. ich hatte schon den Fall, dass der nspanel-Adapter beim start hing, weil ich den javascript-Adapter gerade gestoppt hatte.. vielleicht kann man das noch irgendwie schoener abfangen .. probiers mal aus.. javascript adapter stop und dann den nspanel adapter neu starten.. der geigt dann ewig rum.. vielleicht soll er sich dann einfach mit fehler beenden?

          ilovegym66 – ioBroker Projekte & Automationen
          GitHub: https://github.com/Ilovegym66 | Austausch im Discord: https://discord.gg/yC65zjr5uq

          T 1 Antwort Letzte Antwort
          0
          • T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von
            #993

            oha em hm wirklich?
            Ich wüsste nicht das ich sowas eingebaut habe... Ich teste es mal

            @tt-tom bitte auch mal testen

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            T 1 Antwort Letzte Antwort
            1
            • T ticaki

              oha em hm wirklich?
              Ich wüsste nicht das ich sowas eingebaut habe... Ich teste es mal

              @tt-tom bitte auch mal testen

              T Offline
              T Offline
              TT-Tom
              schrieb am zuletzt editiert von
              #994

              @ticaki sagte in Betatest Adapter NSPanel-lovelace-ui v0.13.x:

              oha em hm wirklich?
              Ich wüsste nicht das ich sowas eingebaut habe... Ich teste es mal

              Kann keinen Fehler feststellen. ohne javascript gestartet, während Start abgeschaltet, nach Start abgeschaltet, alles ohne Probleme.

              Gruß Tom
              https://github.com/tt-tom17
              Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

              NSPanel Script Wiki
              https://github.com/joBr99/nspanel-lovelace-ui/wiki

              NSPanel Adapter Wiki
              https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

              1 Antwort Letzte Antwort
              0
              • ilovegymI ilovegym

                ah, danke, ja das kann sein, dann starte ich die scripte alle mal durch.. ist ja kein fehler.
                Was mir auch noch einfaellt.. ich hatte schon den Fall, dass der nspanel-Adapter beim start hing, weil ich den javascript-Adapter gerade gestoppt hatte.. vielleicht kann man das noch irgendwie schoener abfangen .. probiers mal aus.. javascript adapter stop und dann den nspanel adapter neu starten.. der geigt dann ewig rum.. vielleicht soll er sich dann einfach mit fehler beenden?

                T Nicht stören
                T Nicht stören
                ticaki
                schrieb am zuletzt editiert von ticaki
                #995

                @ilovegym sagte in Betatest Adapter NSPanel-lovelace-ui v0.13.x:

                Was mir auch noch einfaellt.. ich hatte schon den Fall, dass der nspanel-Adapter beim start hing, weil ich den javascript-Adapter gerade gestoppt hatte.. vielleicht kann man das noch irgendwie schoener abfangen .. probiers mal aus.. javascript adapter stop und dann den nspanel adapter neu starten.. der geigt dann ewig rum.. vielleicht soll er sich dann einfach mit fehler beenden?

                Es gibt nur eine stelle wo javascript.0 erwähnt wird und das ist beim erstmaligen erstellen des Skripts - ansonsten gibts im kompletten Backend code keine Erwähnung des Javascript Adapters:

                                const script: ioBroker.ScriptObject = {
                                    type: 'script',
                                    _id: scriptId,
                                    common: {
                                        name: 'Global page configuration',
                                        engineType: 'TypeScript/ts',
                                        engine: `system.adapter.javascript.0`,
                                        source: file,
                                        debug: false,
                                        verbose: false,
                                        enabled: o?.common.enabled ?? true,
                                    },
                                    native: {},
                                };
                

                EDIT - 2 mal sind ja 2 skripts :)

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                1 Antwort Letzte Antwort
                1
                • T Nicht stören
                  T Nicht stören
                  ticaki
                  schrieb am zuletzt editiert von ticaki
                  #996

                  Hab mir ein kleines ip/internetadressen überwachungsscript geschrieben. das mir ein Popup aufmacht wenn das gerät down ist

                  Falls es jemand gebrauchen kann:

                  Ah braucht linux als os - und exec muß erlaubt sein

                  async function main() {
                      // Einstellungen
                      const intervalTime = 30000;
                      const id = '0_userdata.0.pve2Online'; // Datenpunkt der geändert online status anzeigt
                      const target = '192.168.179.5'; // Adresse die überprüft werden soll string (Komma separierte Liste)
                  
                      const every = false; // true: jede ip muss online sein - false: eine ip muss online sein
                  
                      const nspanelInstance = 0;
                  
                      // Einstellungen Ende
                  
                      const stateObj: iobJS.StateObject = {
                          _id: id, 
                          type: 'state',
                          common: {
                              name: 'Ist PVE2 online',
                              desc: target,
                              type: 'boolean',
                              role: 'indicator',
                              def: false,
                              read: true,
                              write: false,
                          },
                          native: {},
                      }
                  
                      const targets: string[] = target.split(',').map(entry => {
                          return entry.trim()
                      })
                      await extendObject(stateObj._id, stateObj);
                  
                      let status = getState(stateObj._id).val
                      send({state: {val: status}}, true);
                      await sleep(15000)
                      
                      const endlessTask = () => {
                          setTimeout(async ()=> {
                              await checkTargets();
                              endlessTask();
                          }, intervalTime)
                      }
                      
                      await checkTargets();
                      endlessTask();
                  
                      
                  
                      function execPromise(cmd: string): Promise<string> {
                          return new Promise((resolve, reject) => {
                              exec(cmd, (err, stdout) => {
                                  if (err) return reject(err);
                                  resolve(stdout);
                              });
                          });
                      }
                  
                      async function checkTargets() {
                          const promises = targets.map(t =>
                              execPromise('ping -qc 2 ' + t)
                                  .then(res => {
                                      let should: string|number = res.substring(
                                          res.indexOf('statistics ---') + 'statistics ---'.length,
                                          res.indexOf(' packets transmitted')
                                      );
                                      should = Number(should);
                  
                                      let current: string|number = res.substring(
                                          res.indexOf('transmitted, ') + 'transmitted, '.length,
                                          res.indexOf('received')
                                      );
                                      current = Number(current);
                                      
                                      return should && should === current;
                                  })
                                  .catch(() => {
                                      log(`${t} is offline`)
                                  })
                          );
                  
                          const results = await Promise.all(promises);
                          
                          setState(stateObj._id, every ? results.every(Boolean) : results.some(Boolean), true);
                      }  
                  
                      on({id: stateObj._id, change: 'ne'}, send)
                      function send(obj, first?: boolean) {
                          if (!first && obj.state.val === status) return;
                          status = obj.state.val
                          sendRetry();
                      }
                      let timeoutRetry = undefined
                      
                      async function sendRetry() {
                          if (timeoutRetry) clearTimeout(timeoutRetry)
                          try {
                              if (!getState(`system.adapter.nspanel-lovelace-ui.${nspanelInstance}.alive`).val) throw new Error ('adapter offline');
                  
                              if (!status) await sendToAsync(`nspanel-lovelace-ui.${nspanelInstance}`, 'setPopupNotification', { id: 'PVE2Check', headline: 'Kritischer Fehler', text: 'PVE2 ist offline', priority: 30, colorHeadline: '#FF0000', textSize: 3, type: 'acknowledge', buttonRight: 'Ok' },{timeout:5000})
                              else await sendToAsync(`nspanel-lovelace-ui.${nspanelInstance}`, 'setPopupNotification', { id: 'PVE2Check', headline: 'Kritischer Fehler', text: 'PVE2 ist online', priority: -1 }, {timeout:5000})
                          } catch {
                              timeoutRetry = setTimeout(sendRetry, 10000);
                          }
                      }
                  }
                  main()
                  

                  online-check.ts

                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                  Spenden

                  1 Antwort Letzte Antwort
                  0
                  • T Nicht stören
                    T Nicht stören
                    ticaki
                    schrieb am zuletzt editiert von ticaki
                    #997

                    Wenn ihr obriges Skript verwendet oder anderweitig popups an den Adapter schickt - (sendTo Befehl setPopupNotification)

                    Bitte lesen:

                    In der nächsten Version des Adapters wird await sendToAsync('adapter', 'setPopupNotification', ... ); einen Fehler zurück gegen wenn kein Panel online ist. Heißt das muß zwingend in einem try {} catch {} Block stehen.

                    Das Skript oben wurde angepasst um (ab Version > 0.15.2)

                    1. zu gucken ob der Adapter überhaupt online ist (beim restart kommt zuerst der Javascript Adapter und dann deutlich später wird erst Nspanel gestartet)
                    2. Abfangen von timeout fehler, weil Adapter doch noch nicht bereit ist
                    3. Abfangen von Panel ist nicht online Fehler, weil Adapter zwar da aber noch keines der Panels überhaupt bereit ist ein Popup anzuzeigen. (sobald 1 online ist, gibts keinen Fehler mehr - speziellere Abfragen bitte selbst über states lösen, siehe die adapter alive abfrage im skript)
                    4. 1 weitere Fehler wurde im Skript behoben.

                    Wenn das Nicht beachtet wird, wird der "Fehler" bis nach oben im Javascript-Adapter durchlaufen und dort einen Restart auslösen.

                    Für Leutz die viel mit Javascript machen ist das ne gute Lösung - andere könnten sich ärgern weil "Wieso schießt das Skript meinen Javascript-Adapter ab - was ein Murks" :)

                    deshalb ne Vorwarnung - wegen dem timeout sollte await sendToAsync() eh immer in einem try block sein.

                    sendTo ohne await und async ist davon nicht betroffen.

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    1 Antwort Letzte Antwort
                    1
                    • T Nicht stören
                      T Nicht stören
                      ticaki
                      schrieb am zuletzt editiert von ticaki
                      #998

                      0.15.4 (2026-04-04)

                      • (tt-tom17) fixed: iCal / trash page – date display year format (2-digit vs. 4-digit) was swapped for short and long item lists
                      • (ticaki) fixed: panel rule timer increased from 120 s to 140 s to reduce false "panel disconnected" events after startup
                      • (ticaki) fixed: setPopupNotification now returns { error: 'No Panels Online' } via callback when no panel is online instead of silently ignoring the call

                      Die "panel rule" Begründung von copilot ist quark - hat damit was zu tun das 2 mal die Aktualisierung der Uhrzeit verpasst werden muß bevor er in den "wait for content" geht.

                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                      Spenden

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      634

                      Online

                      32.8k

                      Benutzer

                      82.7k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe