Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

SONOFF NSPanel mit Lovelace UI

Geplant Angeheftet Gesperrt Verschoben Hardware
lovelace uinspanelsonoff
7.8k Beiträge 272 Kommentatoren 6.7m Aufrufe 254 Watching
  • Ä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.
  • theknutT Offline
    theknutT Offline
    theknut
    schrieb am zuletzt editiert von theknut
    #5029

    öhm sorry Leute, scheinbar kann jeder das Wiki editieren, ich dachte der macht dann einen PR drauß, aber er hat es einfach gespeichert....
    Bitte noch mal drüber schauen, aber bei mir läuft das schon seit ein paar Tagen problemlos: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#typescript-für-influx2

    Hier das aktualisierte Skript:

    • jetzt mit async/await
    • kann mehrere States überwachen
    • generiert sofort die States
      • man muss nicht erst warten, bis ein neuer Wert kommt
      • das ist gerade fürs Testen bisschen nervig
    • Bucket ist konfigurierbar
    const Debug = false;
    
    const NSPanel_Path = '0_userdata.0.NSPanel.1.';
    const Path = NSPanel_Path + 'Influx2NSPanel.cardLChart.';
    const InfluxInstance = 'influxdb.1';
    const influxDbBucket = 'iobroker';
    const numberOfHoursAgo = 24;
    const xAxisTicksEveryM = 60;
    const xAxisLabelEveryM = 240;
    
    // this records holds all sensors and their corresponding states which act as the data source for the charts
    // add all sensors which are to be displayed in this script, there is no need to use multiple scripts
    const sensors : Record<string, string> = {};
    /*         ↓ Id of the sensor                 ↓ Id of the data source for the charts */
    sensors['deconz.0.Sensors.65.temperature'] = Path + 'buero_temperature';
    sensors['deconz.0.Sensors.65.humidity'] = Path + 'buero_luftfeuchte';
    
    // create data source for NsPanel on script startup
    Object.keys(sensors).forEach(async x => {
        await generateDateAsync(x, sensors[x]);
    });
    
    // then listen to the sensors and update the data source states accordingly
    on({ id: Object.keys(sensors), change: 'any' }, async function (obj) {
        if (!obj.id) {
            return;
        }
    
        await generateDateAsync(obj.id, sensors[obj.id]);
    });
    
    async function generateDateAsync(sensorId: string, dataPointId: string) {
        const query =[
            'from(bucket: "' + influxDbBucket + '")',
            '|> range(start: -' + numberOfHoursAgo + 'h)',
            '|> filter(fn: (r) => r["_measurement"] == "' + sensorId + '")',
            '|> filter(fn: (r) => r["_field"] == "value")',
            '|> drop(columns: ["from", "ack", "q"])',
            '|> aggregateWindow(every: 1h, fn: last, createEmpty: false)',
            '|> map(fn: (r) => ({ r with _rtime: int(v: r._time) - int(v: r._start)}))',
            '|> yield(name: "_result")'].join('');
    
        if (Debug) console.log('Query: ' + query);
    
        const result : any = await sendToAsync(InfluxInstance, 'query', query);
        if (result.error) {
            console.error(result.error);
            return;
        }
        
        if (Debug) console.log(result);
        const numResults = result.result.length;
        let coordinates : string = '';
        for (let r = 0; r < numResults; r++) 
        {
            const list : string[] = []
            const numValues = result.result[r].length;
    
            for (let i = 0; i < numValues; i++) 
            {
                const time = Math.round(result.result[r][i]._rtime/1000/1000/1000/60);
                const value = Math.round(result.result[r][i]._value * 10);
                list.push(time + ":" + value);
            }
    
            coordinates = list.join("~");
    
            if (Debug) console.log(coordinates);
        }
    
        const ticksAndLabelsList : string[] = []
        const date = new Date();
        date.setMinutes(0, 0, 0);
        const ts = Math.round(date.getTime() / 1000);
        const tsYesterday = ts - (numberOfHoursAgo * 3600);
        if (Debug) console.log('Iterate from ' + tsYesterday + ' to ' + ts + ' stepsize=' + (xAxisTicksEveryM * 60));
        for (let x = tsYesterday, i = 0; x < ts; x += (xAxisTicksEveryM * 60), i += xAxisTicksEveryM)
        {
            if ((i % xAxisLabelEveryM))
                ticksAndLabelsList.push('' + i);
            else
            {
                const currentDate = new Date(x * 1000);
                // Hours part from the timestamp
                const hours = "0" + String(currentDate.getHours());
                // Minutes part from the timestamp
                const minutes = "0" + String(currentDate.getMinutes());
                const formattedTime = hours.slice(-2) + ':' + minutes.slice(-2);
    
                ticksAndLabelsList.push(String(i) + "^" + formattedTime);
            }
        }
        if (Debug) console.log('Ticks & Label: ' + ticksAndLabelsList);
        if (Debug) console.log('Coordinates: ' + coordinates);
        await setOrCreate(dataPointId, ticksAndLabelsList.join("+") + '~' + coordinates, true);
    }
    
    async function setOrCreate(id : string, value : any, ack : boolean) {
        if (!(await existsStateAsync(id))) {
             await createStateAsync(id, value, {
                name: id.split('.').reverse()[0],
                desc: 'Sensor Values [~<time>:<value>]*',
                type: 'string',
                role: 'value',
            });
        } else {
            await setStateAsync(id, value, ack);
        }
    }
    

    ☕ @ https://ko-fi.com/theknut

    Rene55R 1 Antwort Letzte Antwort
    1
    • ArmilarA Armilar

      @doggie

      Ich habe den Eindruck du hast den Zweck des Alias nicht wirklich verstanden...

      Du suchst nach der Erstellung des Alias nach dem Datenpunkt des Gaszählers? ... Es ist genau anders herum.

      1. Zunächst brauchst du den Datenpunkt aus einem Adapter, der dir den Wert des Gaszählers anzeigt, den du im Panel darstellen willst.
      2. Jetzt öffnest du den Gerätemanger, vergibst einen Namen und wählst den Gerätetypen Info aus
      3. In dem Fenster, in dem der .ACTUAL erscheint ordnest du den Datenpunkt aus Punkt 1) zu.

      speichern. Das wars...

      In der Seitenvariable für den Gaszähler trägst du den eben erstellen Alias (ohne das .ACTUAL) ein.

      fertig...

      Da wird nichts im NSPanel-Verzeichnis wie aus Geisterhand erscheinen... Punkt 1 - 3 und fertig ist das Ding

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

      @armilar eigentlich hat er es richtig angefangen, aber irgendwie ist es in den Alias nicht aufgetaucht. Ich traue diesem Adapter eh nicht mehr.

      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
      • Florian KlanteF Offline
        Florian KlanteF Offline
        Florian Klante
        schrieb am zuletzt editiert von
        #5031

        Guten morgen zusammen.
        Vorab ein herzliches Dankeschön für die Arbeit die hier geleistet wird.
        Ich bin neu in der Thematik NSpanel mit Lovelace UI und dank der Community hier schon verdammt weit gekommen. Allerdings habe ich ein paar Herausforderungen bei denen ihr bestimmt helfen könnt. Ich hoffe das es an dieser Stelle richtig ist, ansonsten lasst es mich wissen - danke ;-)
        Ich habe im Forum schon gesucht aber nichts gefunden, evtl. liegt es an meiner Handhabung...

        Button1/2:
        Ich habe die Rule2 definiert und auch im TS Script die entsprechenden Anpassungen für Toggle vorgenommen.
        Wenn ich jetzt die Button betätige, dann wird auch entsprechend geschaltet, aber ich muss danach immer erst auf eine andere Page wechseln um erneut ein Toggle auszuführen.
        Also konkretes Bsp.:
        NSpanel ist im Screensaver. Drücke ich Button1 wird Licht eingeschaltet.
        Drücke ich Button1 erneut, bleibt das Licht eingeschaltet.
        Wecke ich das NSpanel auf und meine Startseite wird angezeigt, kann ich über Button1 das Licht wieder ausschalten.
        Drücke ich im Startbildschirm wieder Button1, wird das LIcht nicht eingeschaltet.
        Wechsel ich auf eine andere Seite oder aber es geht in den Screensaver, kann ich über Button1 das Licht wieder einschalten.

        Jemand eine Idee?

        theknutT 1 Antwort Letzte Antwort
        0
        • Florian KlanteF Florian Klante

          Guten morgen zusammen.
          Vorab ein herzliches Dankeschön für die Arbeit die hier geleistet wird.
          Ich bin neu in der Thematik NSpanel mit Lovelace UI und dank der Community hier schon verdammt weit gekommen. Allerdings habe ich ein paar Herausforderungen bei denen ihr bestimmt helfen könnt. Ich hoffe das es an dieser Stelle richtig ist, ansonsten lasst es mich wissen - danke ;-)
          Ich habe im Forum schon gesucht aber nichts gefunden, evtl. liegt es an meiner Handhabung...

          Button1/2:
          Ich habe die Rule2 definiert und auch im TS Script die entsprechenden Anpassungen für Toggle vorgenommen.
          Wenn ich jetzt die Button betätige, dann wird auch entsprechend geschaltet, aber ich muss danach immer erst auf eine andere Page wechseln um erneut ein Toggle auszuführen.
          Also konkretes Bsp.:
          NSpanel ist im Screensaver. Drücke ich Button1 wird Licht eingeschaltet.
          Drücke ich Button1 erneut, bleibt das Licht eingeschaltet.
          Wecke ich das NSpanel auf und meine Startseite wird angezeigt, kann ich über Button1 das Licht wieder ausschalten.
          Drücke ich im Startbildschirm wieder Button1, wird das LIcht nicht eingeschaltet.
          Wechsel ich auf eine andere Seite oder aber es geht in den Screensaver, kann ich über Button1 das Licht wieder einschalten.

          Jemand eine Idee?

          theknutT Offline
          theknutT Offline
          theknut
          schrieb am zuletzt editiert von theknut
          #5032

          @florian-klante poste mal wie du button1 und button2 in der Config konfiguriert hast und bist du dir sicher, dass deine zu schaltenden States wirklich boolean sind? Wichtig ist, dass die States, falls es Aliase sind, eine richtige Convert-Funktion haben um bspw. aus "true" ein true machen zu können.

          So habe ich es bei mir:

          button1: {
                  mode: "toggle",
                  page: null,
                  entity: "alias.0.Rooms.Wohnzimmer.Stehlampe.SET",
                  setValue: null
              },
              button2: {
                  mode: "toggle",
                  page: null,
                  entity: "alias.0.Rooms.Wohnzimmer.HueGradientLightStrips.ON",
                  setValue: null
              }
          

          de824b9e-c916-41bb-8b6d-3acb952c96f2-image.png

          ☕ @ https://ko-fi.com/theknut

          Florian KlanteF 1 Antwort Letzte Antwort
          0
          • theknutT theknut

            öhm sorry Leute, scheinbar kann jeder das Wiki editieren, ich dachte der macht dann einen PR drauß, aber er hat es einfach gespeichert....
            Bitte noch mal drüber schauen, aber bei mir läuft das schon seit ein paar Tagen problemlos: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#typescript-für-influx2

            Hier das aktualisierte Skript:

            • jetzt mit async/await
            • kann mehrere States überwachen
            • generiert sofort die States
              • man muss nicht erst warten, bis ein neuer Wert kommt
              • das ist gerade fürs Testen bisschen nervig
            • Bucket ist konfigurierbar
            const Debug = false;
            
            const NSPanel_Path = '0_userdata.0.NSPanel.1.';
            const Path = NSPanel_Path + 'Influx2NSPanel.cardLChart.';
            const InfluxInstance = 'influxdb.1';
            const influxDbBucket = 'iobroker';
            const numberOfHoursAgo = 24;
            const xAxisTicksEveryM = 60;
            const xAxisLabelEveryM = 240;
            
            // this records holds all sensors and their corresponding states which act as the data source for the charts
            // add all sensors which are to be displayed in this script, there is no need to use multiple scripts
            const sensors : Record<string, string> = {};
            /*         ↓ Id of the sensor                 ↓ Id of the data source for the charts */
            sensors['deconz.0.Sensors.65.temperature'] = Path + 'buero_temperature';
            sensors['deconz.0.Sensors.65.humidity'] = Path + 'buero_luftfeuchte';
            
            // create data source for NsPanel on script startup
            Object.keys(sensors).forEach(async x => {
                await generateDateAsync(x, sensors[x]);
            });
            
            // then listen to the sensors and update the data source states accordingly
            on({ id: Object.keys(sensors), change: 'any' }, async function (obj) {
                if (!obj.id) {
                    return;
                }
            
                await generateDateAsync(obj.id, sensors[obj.id]);
            });
            
            async function generateDateAsync(sensorId: string, dataPointId: string) {
                const query =[
                    'from(bucket: "' + influxDbBucket + '")',
                    '|> range(start: -' + numberOfHoursAgo + 'h)',
                    '|> filter(fn: (r) => r["_measurement"] == "' + sensorId + '")',
                    '|> filter(fn: (r) => r["_field"] == "value")',
                    '|> drop(columns: ["from", "ack", "q"])',
                    '|> aggregateWindow(every: 1h, fn: last, createEmpty: false)',
                    '|> map(fn: (r) => ({ r with _rtime: int(v: r._time) - int(v: r._start)}))',
                    '|> yield(name: "_result")'].join('');
            
                if (Debug) console.log('Query: ' + query);
            
                const result : any = await sendToAsync(InfluxInstance, 'query', query);
                if (result.error) {
                    console.error(result.error);
                    return;
                }
                
                if (Debug) console.log(result);
                const numResults = result.result.length;
                let coordinates : string = '';
                for (let r = 0; r < numResults; r++) 
                {
                    const list : string[] = []
                    const numValues = result.result[r].length;
            
                    for (let i = 0; i < numValues; i++) 
                    {
                        const time = Math.round(result.result[r][i]._rtime/1000/1000/1000/60);
                        const value = Math.round(result.result[r][i]._value * 10);
                        list.push(time + ":" + value);
                    }
            
                    coordinates = list.join("~");
            
                    if (Debug) console.log(coordinates);
                }
            
                const ticksAndLabelsList : string[] = []
                const date = new Date();
                date.setMinutes(0, 0, 0);
                const ts = Math.round(date.getTime() / 1000);
                const tsYesterday = ts - (numberOfHoursAgo * 3600);
                if (Debug) console.log('Iterate from ' + tsYesterday + ' to ' + ts + ' stepsize=' + (xAxisTicksEveryM * 60));
                for (let x = tsYesterday, i = 0; x < ts; x += (xAxisTicksEveryM * 60), i += xAxisTicksEveryM)
                {
                    if ((i % xAxisLabelEveryM))
                        ticksAndLabelsList.push('' + i);
                    else
                    {
                        const currentDate = new Date(x * 1000);
                        // Hours part from the timestamp
                        const hours = "0" + String(currentDate.getHours());
                        // Minutes part from the timestamp
                        const minutes = "0" + String(currentDate.getMinutes());
                        const formattedTime = hours.slice(-2) + ':' + minutes.slice(-2);
            
                        ticksAndLabelsList.push(String(i) + "^" + formattedTime);
                    }
                }
                if (Debug) console.log('Ticks & Label: ' + ticksAndLabelsList);
                if (Debug) console.log('Coordinates: ' + coordinates);
                await setOrCreate(dataPointId, ticksAndLabelsList.join("+") + '~' + coordinates, true);
            }
            
            async function setOrCreate(id : string, value : any, ack : boolean) {
                if (!(await existsStateAsync(id))) {
                     await createStateAsync(id, value, {
                        name: id.split('.').reverse()[0],
                        desc: 'Sensor Values [~<time>:<value>]*',
                        type: 'string',
                        role: 'value',
                    });
                } else {
                    await setStateAsync(id, value, ack);
                }
            }
            
            Rene55R Online
            Rene55R Online
            Rene55
            schrieb am zuletzt editiert von
            #5033

            @theknut Danke für das Script. Jetzt habe ich das Problem, wo der Alias ins Spiel kommen soll. Es ist ja eigentlich gut beschrieben:

            
            /*         ↓ Id of the sensor                 ↓ Id of the data source for the charts */
            sensors['deconz.0.Sensors.65.temperature'] = Path + 'buero_temperature';
            

            Damit konnte ich soweit umgehen. Aktuell Fragezeichen??

            Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
            ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
            Wetterstation: Froggit WH3000SE V1.6.6

            T 1 Antwort Letzte Antwort
            0
            • theknutT theknut

              @florian-klante poste mal wie du button1 und button2 in der Config konfiguriert hast und bist du dir sicher, dass deine zu schaltenden States wirklich boolean sind? Wichtig ist, dass die States, falls es Aliase sind, eine richtige Convert-Funktion haben um bspw. aus "true" ein true machen zu können.

              So habe ich es bei mir:

              button1: {
                      mode: "toggle",
                      page: null,
                      entity: "alias.0.Rooms.Wohnzimmer.Stehlampe.SET",
                      setValue: null
                  },
                  button2: {
                      mode: "toggle",
                      page: null,
                      entity: "alias.0.Rooms.Wohnzimmer.HueGradientLightStrips.ON",
                      setValue: null
                  }
              

              de824b9e-c916-41bb-8b6d-3acb952c96f2-image.png

              Florian KlanteF Offline
              Florian KlanteF Offline
              Florian Klante
              schrieb am zuletzt editiert von Florian Klante
              #5034

              @theknut ich habe es eigentlich so wie du auch.
              Ich nutze für die Aliase den "Geräte verwalten" Adapter, daher bin ich etwas verwirrt über deinen Screenshot mit den Funktionen für Read/Write.
              Boolean sollte der Shelly Switch sein.
              f29219cf-1423-4950-bcdc-afc3a0c52a4f-image.png

                  button2: {
                      mode: 'toggle',
                      page: null,
                      entity: 'alias.0.Licht.Aussenbeleuchtung.SET',
                      setValue: null
                  },
              

              Es funktioniert ja auch der Toggle, ich muss halt nur immer erst einen anderen Befehl ausführen. Danach schaltet er dann auch den anderen Zustand auf dem Button wieder.
              Kann es sein das bei der Rule2 was falsch ist? Ich habe da den Standard genommen.

              {"Rule2":{"State":"ON","Once":"OFF","StopOnError":"OFF","Length":189,"Free":322,"Rules":"on Button1#state do Publish SmartHome/%topic%/tele/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish SmartHome/%topic%/tele/RESULT {"CustomRecv":"event,button2"} endon"}}

              T 1 Antwort Letzte Antwort
              0
              • Florian KlanteF Florian Klante

                @theknut ich habe es eigentlich so wie du auch.
                Ich nutze für die Aliase den "Geräte verwalten" Adapter, daher bin ich etwas verwirrt über deinen Screenshot mit den Funktionen für Read/Write.
                Boolean sollte der Shelly Switch sein.
                f29219cf-1423-4950-bcdc-afc3a0c52a4f-image.png

                    button2: {
                        mode: 'toggle',
                        page: null,
                        entity: 'alias.0.Licht.Aussenbeleuchtung.SET',
                        setValue: null
                    },
                

                Es funktioniert ja auch der Toggle, ich muss halt nur immer erst einen anderen Befehl ausführen. Danach schaltet er dann auch den anderen Zustand auf dem Button wieder.
                Kann es sein das bei der Rule2 was falsch ist? Ich habe da den Standard genommen.

                {"Rule2":{"State":"ON","Once":"OFF","StopOnError":"OFF","Length":189,"Free":322,"Rules":"on Button1#state do Publish SmartHome/%topic%/tele/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish SmartHome/%topic%/tele/RESULT {"CustomRecv":"event,button2"} endon"}}

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

                @florian-klante
                zeig mal bitte die Seite MQTT Einstellungen aus dem verwendeten MQTT Adapter.

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                Florian KlanteF 1 Antwort Letzte Antwort
                1
                • T ticaki

                  @florian-klante
                  zeig mal bitte die Seite MQTT Einstellungen aus dem verwendeten MQTT Adapter.

                  Florian KlanteF Offline
                  Florian KlanteF Offline
                  Florian Klante
                  schrieb am zuletzt editiert von
                  #5036

                  @ticaki meinst du diese?
                  bc01905a-7c9a-410f-8aa7-37287028adb4-image.png

                  T 1 Antwort Letzte Antwort
                  0
                  • Florian KlanteF Florian Klante

                    @ticaki meinst du diese?
                    bc01905a-7c9a-410f-8aa7-37287028adb4-image.png

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

                    @florian-klante
                    so siehts in der anleitung aus ;)

                    270724871-f2c4e065-8c46-44d5-9aa7-a79096a3fc15.png

                    Ist zwar nicht logisch, weil ich verstehe das so das er nur bei Änderungen dinge verschickt, aber scheinbar aktualisiert er states dann nur bei veränderungen. Zumindest ist dein Fehler 100% ein raus filtern wegen wiederholter gleicher nachricht.

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    Florian KlanteF 1 Antwort Letzte Antwort
                    1
                    • T ticaki

                      @florian-klante
                      so siehts in der anleitung aus ;)

                      270724871-f2c4e065-8c46-44d5-9aa7-a79096a3fc15.png

                      Ist zwar nicht logisch, weil ich verstehe das so das er nur bei Änderungen dinge verschickt, aber scheinbar aktualisiert er states dann nur bei veränderungen. Zumindest ist dein Fehler 100% ein raus filtern wegen wiederholter gleicher nachricht.

                      Florian KlanteF Offline
                      Florian KlanteF Offline
                      Florian Klante
                      schrieb am zuletzt editiert von
                      #5038

                      @ticaki aus welcher Anleitung hast du das?

                      T 1 Antwort Letzte Antwort
                      0
                      • Florian KlanteF Florian Klante

                        @ticaki aus welcher Anleitung hast du das?

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

                        @florian-klante
                        https://github.com/joBr99/nspanel-lovelace-ui/wiki/iobroker---Basisinstallation#6-mqtt-iobroker-config

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        Florian KlanteF 2 Antworten Letzte Antwort
                        1
                        • T ticaki

                          @florian-klante
                          https://github.com/joBr99/nspanel-lovelace-ui/wiki/iobroker---Basisinstallation#6-mqtt-iobroker-config

                          Florian KlanteF Offline
                          Florian KlanteF Offline
                          Florian Klante
                          schrieb am zuletzt editiert von
                          #5040

                          @ticaki großartig, jetzt funktioniert es.
                          Kaum macht man es richtig...
                          herzlichen Dank!

                          1 Antwort Letzte Antwort
                          1
                          • T ticaki

                            @florian-klante
                            https://github.com/joBr99/nspanel-lovelace-ui/wiki/iobroker---Basisinstallation#6-mqtt-iobroker-config

                            Florian KlanteF Offline
                            Florian KlanteF Offline
                            Florian Klante
                            schrieb am zuletzt editiert von
                            #5041

                            @ticaki somit ist dann auch mein zweites Problem behoben.
                            Die Pages konnte ich nicht sauber blättern.

                            ArmilarA 1 Antwort Letzte Antwort
                            1
                            • Florian KlanteF Florian Klante

                              @ticaki somit ist dann auch mein zweites Problem behoben.
                              Die Pages konnte ich nicht sauber blättern.

                              ArmilarA Offline
                              ArmilarA Offline
                              Armilar
                              Most Active Forum Testing
                              schrieb am zuletzt editiert von Armilar
                              #5042

                              @florian-klante

                              Ja, die Einstellungen des MQTT-Adapters sind da ebenfalls dran beteiligt. Konnte auch nie nachvollziehen, warum die Einstellung:
                              f44ea5a3-8992-438a-a7ae-1a6f32d59e4b-image.png so kontrovers benannt wurde...

                              Daher in der Wiki auch explizit nochmal erwähnt ;-)

                              Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                              https://github.com/joBr99/nspanel-lovelace-ui/wiki

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              1 Antwort Letzte Antwort
                              0
                              • D Offline
                                D Offline
                                danny_v1
                                schrieb am zuletzt editiert von
                                #5043

                                Hallo habe mir gerade mal die letzten Änderungen in Skript angeschaut, kann mir jemand erklären was es mir dem letzten Punkt im Changelog aus sich hat?

                                20.01.2024 - v4.3.3.38 Add: click on indicatorIcon navigate to Page

                                Vielen Dank schon mal

                                ArmilarA 1 Antwort Letzte Antwort
                                0
                                • D danny_v1

                                  Hallo habe mir gerade mal die letzten Änderungen in Skript angeschaut, kann mir jemand erklären was es mir dem letzten Punkt im Changelog aus sich hat?

                                  20.01.2024 - v4.3.3.38 Add: click on indicatorIcon navigate to Page

                                  Vielen Dank schon mal

                                  ArmilarA Offline
                                  ArmilarA Offline
                                  Armilar
                                  Most Active Forum Testing
                                  schrieb am zuletzt editiert von
                                  #5044

                                  @danny_v1

                                  https://forum.iobroker.net/post/1116411

                                  ich hab's mal für dich zurückgeblättert ;-)

                                  dritter Punkt :blush:

                                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  D 1 Antwort Letzte Antwort
                                  0
                                  • T TT-Tom

                                    @rene55 Sorry Fehler lag bei mir / Script, bitte nochmal neu von Github ziehen.

                                    ? Offline
                                    ? Offline
                                    Ein ehemaliger Benutzer
                                    schrieb am zuletzt editiert von
                                    #5045

                                    @tt-tom

                                    Hallo, habe gerade dein Abfallscript auf dem Schirm, das geht soweit, nur scheint in meiner Konfig noch etwas zu fehlen, denn im Datum steht zwar das Datum, aber immer ein "heute" hintendran..???

                                    3b65d1fc-b0fa-49fb-94c7-8d377b8951d2-image.png

                                    Im script bekomme ich in der function currentDate dies: (sieht so aus, als ob Date eine globale Variable ist bei dir??)
                                    940c8773-811c-4038-be92-76867f9bb1ab-image.png

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • ArmilarA Armilar

                                      @doggie

                                      Ich habe den Eindruck du hast den Zweck des Alias nicht wirklich verstanden...

                                      Du suchst nach der Erstellung des Alias nach dem Datenpunkt des Gaszählers? ... Es ist genau anders herum.

                                      1. Zunächst brauchst du den Datenpunkt aus einem Adapter, der dir den Wert des Gaszählers anzeigt, den du im Panel darstellen willst.
                                      2. Jetzt öffnest du den Gerätemanger, vergibst einen Namen und wählst den Gerätetypen Info aus
                                      3. In dem Fenster, in dem der .ACTUAL erscheint ordnest du den Datenpunkt aus Punkt 1) zu.

                                      speichern. Das wars...

                                      In der Seitenvariable für den Gaszähler trägst du den eben erstellen Alias (ohne das .ACTUAL) ein.

                                      fertig...

                                      Da wird nichts im NSPanel-Verzeichnis wie aus Geisterhand erscheinen... Punkt 1 - 3 und fertig ist das Ding

                                      D Offline
                                      D Offline
                                      Doggie
                                      schrieb am zuletzt editiert von
                                      #5046

                                      @armilar Also ich glaube ich habe mich nicht klar genug ausgedrückt. Das Fenster unter deinem Punkt 3 öffnet sich nicht. Also erscheint kein ACTUAL und ich kann die Verknüpfung mit dem eigentlichen Datenpunkt in dem der Zählerstand drin steht nicht zuordnen . Dies passiert oder besser passiert nicht ausschließlich unter NSPanel. Ich habe schon mehrere Alias angelegt und immer erscheint das Fenster in dem die Zuordnung eingetragen wird, nur unter NSPanel nicht. Das ist mein Problem!
                                      Als Beispiel hier mal ein Foto wie es normalerweise aussieht:
                                      a6a8ed61-73c8-4a3d-ae4d-b4642ac00f6a-image.png
                                      Hier der Gaszähler:
                                      4387acfa-0277-42b8-ac1d-f9e8731f70da-image.png

                                      Es tut mir ja leid, dass ich hier dauernd nachfrage, aber ich glaube nicht, dass es ein Verständnisproblem meinerseits ist. Der von die beschriebene Vorgang ist ja leicht zu verstehen. Aber genau so funktioniert es nicht.

                                      ArmilarA 1 Antwort Letzte Antwort
                                      0
                                      • Rene55R Rene55

                                        @theknut Danke für das Script. Jetzt habe ich das Problem, wo der Alias ins Spiel kommen soll. Es ist ja eigentlich gut beschrieben:

                                        
                                        /*         ↓ Id of the sensor                 ↓ Id of the data source for the charts */
                                        sensors['deconz.0.Sensors.65.temperature'] = Path + 'buero_temperature';
                                        

                                        Damit konnte ich soweit umgehen. Aktuell Fragezeichen??

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

                                        @rene55 in die eckige Klammer kommt der DatenPunkt von deinem Sensor. Hinter Path + kommt der Name des Datenpunkt, wo die Daten hingeschrieben werden sollen.

                                        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

                                        Rene55R 1 Antwort Letzte Antwort
                                        1
                                        • D Doggie

                                          @armilar Also ich glaube ich habe mich nicht klar genug ausgedrückt. Das Fenster unter deinem Punkt 3 öffnet sich nicht. Also erscheint kein ACTUAL und ich kann die Verknüpfung mit dem eigentlichen Datenpunkt in dem der Zählerstand drin steht nicht zuordnen . Dies passiert oder besser passiert nicht ausschließlich unter NSPanel. Ich habe schon mehrere Alias angelegt und immer erscheint das Fenster in dem die Zuordnung eingetragen wird, nur unter NSPanel nicht. Das ist mein Problem!
                                          Als Beispiel hier mal ein Foto wie es normalerweise aussieht:
                                          a6a8ed61-73c8-4a3d-ae4d-b4642ac00f6a-image.png
                                          Hier der Gaszähler:
                                          4387acfa-0277-42b8-ac1d-f9e8731f70da-image.png

                                          Es tut mir ja leid, dass ich hier dauernd nachfrage, aber ich glaube nicht, dass es ein Verständnisproblem meinerseits ist. Der von die beschriebene Vorgang ist ja leicht zu verstehen. Aber genau so funktioniert es nicht.

                                          ArmilarA Offline
                                          ArmilarA Offline
                                          Armilar
                                          Most Active Forum Testing
                                          schrieb am zuletzt editiert von
                                          #5048

                                          @doggie

                                          Ah oh okay!

                                          warum machst du es dann nicht in einem anderen Verzeichnis?

                                          Unter den vom NSPanel angelegten Aliassen würde ich eh keine weiteren einbauen. Für den Fall dass es mal hakt, kannst du den kompletten Objektbaum wegwerffen und das NSPanelTs.ts legt es wieder an. Dann wären deine Aliasse ja auch weg...

                                          Nimm einfach dann ein anderes Verzeichnis...

                                          Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                          https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          D 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          249

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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