Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  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.1k

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

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

SONOFF NSPanel mit Lovelace UI

Scheduled Pinned Locked Moved Hardware
lovelace uinspanelsonoff
7.7k Posts 271 Posters 6.7m Views 253 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ArmilarA Armilar

    @rene55 sagte in SONOFF NSPanel mit Lovelace UI:

    Was macht eigentlich triggeredSensor ?

    Speicher verbrauchen, da ungenutzt... 😉

    obj.id hat ja die Infos

    Mache mir bei den funktionalen Scripten nicht immer die Arbeit alles überflüssige zu entfernen... Ist ja nur ein Beispiel - nicht das Bestreben damit einen Preis zu gewinnen 😊

    Rene55R Offline
    Rene55R Offline
    Rene55
    wrote on last edited by Rene55
    #5243

    @armilar @theknut @ticaki Um dieses Thema abzuschließen habe ich das Script jetzt soweit angepasst, dass es für mich passt. Es wäre schön, wenn einer von Euch mal drübergucken könnte.

    /*
       *   Grundgedanke von //https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/Blockly/CardLChart_Influx2.ts
       *   Anpassungen für InfluxDB-Aliase by Rene55 [02.02.2024]
       *
    */
    const Debug = false;
    //
    const NSPanel_Path = '0_userdata.0.NSPanel.';
    const Path = NSPanel_Path + 'Influx2NSPanel.cardLChart.';
    const InfluxInstance = 'influxdb.0';
    const influxDbBucket = 'storage_short';
    const numberOfHoursAgo = 24;
    const xAxisTicksEveryM = 60;
    const xAxisLabelEveryM = 240;
    //
    
    const sensors : Record<string, Record<string,string>> = {};
    /*      ↓ Id of the sensor     ↓ Id of the data source for the charts  [↓ Alias for measurement]  */
    sensors['mqtt.0.arexx.bad'] = {'target':'EG.Bad_Temperatur'}
    sensors['mqtt.0.arexx.badH'] = {'target':'EG.Bad_Luftfeuchte'}
    sensors['mqtt.0.arexx.vorne'] = {'target':'aussen_temperature', 'dbAlias':'Temperatur_vorne'}
    
    //  #####   ab hier keine Änderungen mehr nötig   #####
    
    //___________________________
    // Beschreibe diese Funktion: create data source for NsPanel on script startup
    Object.keys(sensors).forEach(async id => {
       await generateDateAsync(id);
    });
    
    //___________________________
    // Beschreibe diese Funktion: 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);
    });
    
    //___________________________
    // Beschreibe diese Funktion: Daten generieren
    async function generateDateAsync(sensorId: string) {
       let measurement:string = sensors[sensorId].dbAlias
       if (measurement =='' ||measurement == undefined) {measurement = sensorId}
       const dataPointId:string = Path + sensors[sensorId].target +'.ACTUAL'
       if (Debug) log(`(f) generateDateAsync: ${sensorId} ${dataPointId} > ${measurement}`)
       
       const query =[
           'from(bucket: "' + influxDbBucket + '")',
           '|> range(start: -' + numberOfHoursAgo + 'h)',
           '|> filter(fn: (r) => r["_measurement"] == "' + measurement + '")',
           '|> 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);
    }
    
    //___________________________
    // Beschreibe diese Funktion: Datenpunkte anlegen bzw. schreiben
    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);
       }
    }
    //
    //   E N D E
    //
    


    Das mit const sensors : Record<string, string> passt dann bei mir nicht so richtig. Ich hoffe, es ist trotzdem noch TS-Konform.

    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 Reply Last reply
    0
    • Rene55R Rene55

      @armilar @theknut @ticaki Um dieses Thema abzuschließen habe ich das Script jetzt soweit angepasst, dass es für mich passt. Es wäre schön, wenn einer von Euch mal drübergucken könnte.

      /*
         *   Grundgedanke von //https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/Blockly/CardLChart_Influx2.ts
         *   Anpassungen für InfluxDB-Aliase by Rene55 [02.02.2024]
         *
      */
      const Debug = false;
      //
      const NSPanel_Path = '0_userdata.0.NSPanel.';
      const Path = NSPanel_Path + 'Influx2NSPanel.cardLChart.';
      const InfluxInstance = 'influxdb.0';
      const influxDbBucket = 'storage_short';
      const numberOfHoursAgo = 24;
      const xAxisTicksEveryM = 60;
      const xAxisLabelEveryM = 240;
      //
      
      const sensors : Record<string, Record<string,string>> = {};
      /*      ↓ Id of the sensor     ↓ Id of the data source for the charts  [↓ Alias for measurement]  */
      sensors['mqtt.0.arexx.bad'] = {'target':'EG.Bad_Temperatur'}
      sensors['mqtt.0.arexx.badH'] = {'target':'EG.Bad_Luftfeuchte'}
      sensors['mqtt.0.arexx.vorne'] = {'target':'aussen_temperature', 'dbAlias':'Temperatur_vorne'}
      
      //  #####   ab hier keine Änderungen mehr nötig   #####
      
      //___________________________
      // Beschreibe diese Funktion: create data source for NsPanel on script startup
      Object.keys(sensors).forEach(async id => {
         await generateDateAsync(id);
      });
      
      //___________________________
      // Beschreibe diese Funktion: 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);
      });
      
      //___________________________
      // Beschreibe diese Funktion: Daten generieren
      async function generateDateAsync(sensorId: string) {
         let measurement:string = sensors[sensorId].dbAlias
         if (measurement =='' ||measurement == undefined) {measurement = sensorId}
         const dataPointId:string = Path + sensors[sensorId].target +'.ACTUAL'
         if (Debug) log(`(f) generateDateAsync: ${sensorId} ${dataPointId} > ${measurement}`)
         
         const query =[
             'from(bucket: "' + influxDbBucket + '")',
             '|> range(start: -' + numberOfHoursAgo + 'h)',
             '|> filter(fn: (r) => r["_measurement"] == "' + measurement + '")',
             '|> 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);
      }
      
      //___________________________
      // Beschreibe diese Funktion: Datenpunkte anlegen bzw. schreiben
      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);
         }
      }
      //
      //   E N D E
      //
      


      Das mit const sensors : Record<string, string> passt dann bei mir nicht so richtig. Ich hoffe, es ist trotzdem noch TS-Konform.

      T Do not disturb
      T Do not disturb
      ticaki
      wrote on last edited by ticaki
      #5244

      @rene55
      alles geschriebene von mir ist unnötig. Mit record gehts auch - zumindest in vscode. Wieder was gelernt.

      Ok nach genauerem Hinsehen müsste das wohl so ausssehen:

      Record<string, Record<string,string>>
      

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      Rene55R 1 Reply Last reply
      0
      • icebearI Online
        icebearI Online
        icebear
        wrote on last edited by
        #5245

        Hallo zusammen

        Ich hab grad auf die V4.3.3.39 das update gemacht (vorher v4.3.3.31), jetzt bekomm ich beim Start folgenden Fehler:

        
        javascript.0
        2024-02-02 13:32:47.495	error	script.js.NSPanel.NSPanelTS_1_v4_3_3_39: TypeScript compilation failed:let WLAN: PageType = { ^ERROR: Type '{ type: "cardQR"; heading: string; subPage: true; prev: string; home: string; homeIcon: string; items: [{ id: string; hidePassword: true; autoCreateALias: true; }, { id: string; }]; }' is not assignable to type 'PageType'. Types of property ''items'' are incompatible. Type '[{ id: string; hidePassword: true; autoCreateALias: true; }, { id: string; }]' is not assignable to type '[PageItem] & PageItem[]'. Type '[{ id: string; hidePassword: true; autoCreateALias: true; }, { id: string; }]' is not assignable to type '[PageItem]'. Source has 2 element(s) but target allows only 1
        

        Hab ich irgendwas verpasst?

        T T 2 Replies Last reply
        0
        • icebearI icebear

          Hallo zusammen

          Ich hab grad auf die V4.3.3.39 das update gemacht (vorher v4.3.3.31), jetzt bekomm ich beim Start folgenden Fehler:

          
          javascript.0
          2024-02-02 13:32:47.495	error	script.js.NSPanel.NSPanelTS_1_v4_3_3_39: TypeScript compilation failed:let WLAN: PageType = { ^ERROR: Type '{ type: "cardQR"; heading: string; subPage: true; prev: string; home: string; homeIcon: string; items: [{ id: string; hidePassword: true; autoCreateALias: true; }, { id: string; }]; }' is not assignable to type 'PageType'. Types of property ''items'' are incompatible. Type '[{ id: string; hidePassword: true; autoCreateALias: true; }, { id: string; }]' is not assignable to type '[PageItem] & PageItem[]'. Type '[{ id: string; hidePassword: true; autoCreateALias: true; }, { id: string; }]' is not assignable to type '[PageItem]'. Source has 2 element(s) but target allows only 1
          

          Hab ich irgendwas verpasst?

          T Offline
          T Offline
          TT-Tom
          wrote on last edited by TT-Tom
          #5246

          @icebear

          zeige mal die config von der Page.

          sieht aus als ob due 2 pageItem hast

          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

          icebearI 1 Reply Last reply
          0
          • T TT-Tom

            @icebear

            zeige mal die config von der Page.

            sieht aus als ob due 2 pageItem hast

            icebearI Online
            icebearI Online
            icebear
            wrote on last edited by
            #5247

            @tt-tom

            let WLAN: PageType = 
            {
                'type': 'cardQR',
                'heading': 'Gäste WLAN',
                'subPage': true,
            	'prev': 'Abfall',
            	'home': 'Grundstueck',
            	'homeIcon': 'home-roof',
                'items': [
            		{ id: 'alias.0.NSPanel.GuestWifi', hidePassword: true, autoCreateALias: true },
                    { id: 'alias.0.NSPanel.GuestWifi.SWITCH'},
            	
            	]
            };
            
            T 1 Reply Last reply
            0
            • icebearI icebear

              Hallo zusammen

              Ich hab grad auf die V4.3.3.39 das update gemacht (vorher v4.3.3.31), jetzt bekomm ich beim Start folgenden Fehler:

              
              javascript.0
              2024-02-02 13:32:47.495	error	script.js.NSPanel.NSPanelTS_1_v4_3_3_39: TypeScript compilation failed:let WLAN: PageType = { ^ERROR: Type '{ type: "cardQR"; heading: string; subPage: true; prev: string; home: string; homeIcon: string; items: [{ id: string; hidePassword: true; autoCreateALias: true; }, { id: string; }]; }' is not assignable to type 'PageType'. Types of property ''items'' are incompatible. Type '[{ id: string; hidePassword: true; autoCreateALias: true; }, { id: string; }]' is not assignable to type '[PageItem] & PageItem[]'. Type '[{ id: string; hidePassword: true; autoCreateALias: true; }, { id: string; }]' is not assignable to type '[PageItem]'. Source has 2 element(s) but target allows only 1
              

              Hab ich irgendwas verpasst?

              T Do not disturb
              T Do not disturb
              ticaki
              wrote on last edited by
              #5248

              @icebear sagte in SONOFF NSPanel mit Lovelace UI:

              Source has 2 element(s) but target allows only 1

              Denke mal 1 Pageitem zuviel angegeben -> [{ id: string; hidePassword: true; autoCreateALias: true; }, { id: string; }]

              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

              Spenden

              1 Reply Last reply
              2
              • icebearI icebear

                @tt-tom

                let WLAN: PageType = 
                {
                    'type': 'cardQR',
                    'heading': 'Gäste WLAN',
                    'subPage': true,
                	'prev': 'Abfall',
                	'home': 'Grundstueck',
                	'homeIcon': 'home-roof',
                    'items': [
                		{ id: 'alias.0.NSPanel.GuestWifi', hidePassword: true, autoCreateALias: true },
                        { id: 'alias.0.NSPanel.GuestWifi.SWITCH'},
                	
                	]
                };
                
                T Offline
                T Offline
                TT-Tom
                wrote on last edited by
                #5249

                @icebear sagte in SONOFF NSPanel mit Lovelace UI:

                { id: 'alias.0.NSPanel.GuestWifi.SWITCH'},

                der kann weg. den Switch sucht er sich alleine.

                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

                icebearI 1 Reply Last reply
                2
                • T TT-Tom

                  @icebear sagte in SONOFF NSPanel mit Lovelace UI:

                  { id: 'alias.0.NSPanel.GuestWifi.SWITCH'},

                  der kann weg. den Switch sucht er sich alleine.

                  icebearI Online
                  icebearI Online
                  icebear
                  wrote on last edited by
                  #5250

                  @tt-tom said in SONOFF NSPanel mit Lovelace UI:

                  @icebear sagte in SONOFF NSPanel mit Lovelace UI:

                  { id: 'alias.0.NSPanel.GuestWifi.SWITCH'},

                  der kann weg. den Switch sucht er sich alleine.

                  Ich danke dir, das wars.

                  1 Reply Last reply
                  0
                  • T ticaki

                    @rene55
                    alles geschriebene von mir ist unnötig. Mit record gehts auch - zumindest in vscode. Wieder was gelernt.

                    Ok nach genauerem Hinsehen müsste das wohl so ausssehen:

                    Record<string, Record<string,string>>
                    
                    Rene55R Offline
                    Rene55R Offline
                    Rene55
                    wrote on last edited by
                    #5251

                    @ticaki Jepp, det funzt. Ich muss mich noch schwer in TS reinfuchsen. Danke.

                    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

                    1 Reply Last reply
                    3
                    • ArmilarA Armilar

                      @rene55 sagte in SONOFF NSPanel mit Lovelace UI:

                      Was macht eigentlich triggeredSensor ?

                      Speicher verbrauchen, da ungenutzt... 😉

                      obj.id hat ja die Infos

                      Mache mir bei den funktionalen Scripten nicht immer die Arbeit alles überflüssige zu entfernen... Ist ja nur ein Beispiel - nicht das Bestreben damit einen Preis zu gewinnen 😊

                      Rene55R Offline
                      Rene55R Offline
                      Rene55
                      wrote on last edited by
                      #5252

                      @armilar Gibt es für cardChart auch ein Script für die Aufbereitung der Daten? Ich wollte auch so etwas umsetzen wie 'ChartsDemo' für Gas oder 'Stromzähler L1+L2+L3'.

                      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

                      ArmilarA T 2 Replies Last reply
                      0
                      • Rene55R Rene55

                        @armilar Gibt es für cardChart auch ein Script für die Aufbereitung der Daten? Ich wollte auch so etwas umsetzen wie 'ChartsDemo' für Gas oder 'Stromzähler L1+L2+L3'.

                        ArmilarA Offline
                        ArmilarA Offline
                        Armilar
                        Most Active Forum Testing
                        wrote on last edited by Armilar
                        #5253

                        @rene55

                        https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#cardchart-ab-ts-script-v370

                        etwas unterhalb ist ein abgebildetes Blockly für influxDB2

                        darunter der Link zum Blockly

                        yAxisTicks sind im Gegensatz zur cardLChart nicht automatisiert und müssen definiert werden.

                        Der Daten-String ist anders aufgebaut, da er keine Koordinaten, sondern Werte zum Zeitpunkt X enthält...

                        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.

                        theknutT 1 Reply Last reply
                        1
                        • Rene55R Rene55

                          @armilar Gibt es für cardChart auch ein Script für die Aufbereitung der Daten? Ich wollte auch so etwas umsetzen wie 'ChartsDemo' für Gas oder 'Stromzähler L1+L2+L3'.

                          T Offline
                          T Offline
                          TT-Tom
                          wrote on last edited by
                          #5254

                          @rene55
                          offiziell im Wiki für Influx nur als Blockly. BalkenChart oder auf meinem git als TypeScript.

                          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 Reply Last reply
                          1
                          • T TT-Tom

                            @rene55
                            offiziell im Wiki für Influx nur als Blockly. BalkenChart oder auf meinem git als TypeScript.

                            Rene55R Offline
                            Rene55R Offline
                            Rene55
                            wrote on last edited by
                            #5255

                            @tt-tom Oh, sehr gut - schau ich mir sofort an.

                            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

                            1 Reply Last reply
                            0
                            • ArmilarA Armilar

                              @rene55

                              https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#cardchart-ab-ts-script-v370

                              etwas unterhalb ist ein abgebildetes Blockly für influxDB2

                              darunter der Link zum Blockly

                              yAxisTicks sind im Gegensatz zur cardLChart nicht automatisiert und müssen definiert werden.

                              Der Daten-String ist anders aufgebaut, da er keine Koordinaten, sondern Werte zum Zeitpunkt X enthält...

                              theknutT Offline
                              theknutT Offline
                              theknut
                              wrote on last edited by theknut
                              #5256

                              @armilar said in SONOFF NSPanel mit Lovelace UI:

                              @rene55

                              https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#cardchart-ab-ts-script-v370

                              etwas unterhalb ist ein abgebildetes Blockly für influxDB2

                              darunter der Link zum Blockly

                              yAxisTicks sind im Gegensatz zur cardLChart nicht automatisiert und müssen definiert werden.

                              Der Daten-String ist anders aufgebaut, da er keine Koordinaten, sondern Werte zum Zeitpunkt X enthält...

                              gäbe es einen Grund, dass man/ich das nicht noch so umschreiben könnte, dass es auch berechnet wird?

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

                              Rene55R T 2 Replies Last reply
                              0
                              • theknutT theknut

                                @armilar said in SONOFF NSPanel mit Lovelace UI:

                                @rene55

                                https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#cardchart-ab-ts-script-v370

                                etwas unterhalb ist ein abgebildetes Blockly für influxDB2

                                darunter der Link zum Blockly

                                yAxisTicks sind im Gegensatz zur cardLChart nicht automatisiert und müssen definiert werden.

                                Der Daten-String ist anders aufgebaut, da er keine Koordinaten, sondern Werte zum Zeitpunkt X enthält...

                                gäbe es einen Grund, dass man/ich das nicht noch so umschreiben könnte, dass es auch berechnet wird?

                                Rene55R Offline
                                Rene55R Offline
                                Rene55
                                wrote on last edited by
                                #5257

                                @theknut Das würde ich auch gerne in Anspruch nehmen. Meine aktuell generierten Balken zeigen alle ins Minus! 🤕 . Vielleicht hab ich auch noch nicht gerafft, welchen Datenpunkt ich nehmen muss.

                                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 Reply Last reply
                                0
                                • Rene55R Rene55

                                  @theknut Das würde ich auch gerne in Anspruch nehmen. Meine aktuell generierten Balken zeigen alle ins Minus! 🤕 . Vielleicht hab ich auch noch nicht gerafft, welchen Datenpunkt ich nehmen muss.

                                  T Offline
                                  T Offline
                                  TT-Tom
                                  wrote on last edited by
                                  #5258

                                  @rene55
                                  das kann auch der Bug bei der Card sein.

                                  https://github.com/joBr99/nspanel-lovelace-ui/issues/934

                                  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 Reply Last reply
                                  0
                                  • theknutT theknut

                                    @armilar said in SONOFF NSPanel mit Lovelace UI:

                                    @rene55

                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#cardchart-ab-ts-script-v370

                                    etwas unterhalb ist ein abgebildetes Blockly für influxDB2

                                    darunter der Link zum Blockly

                                    yAxisTicks sind im Gegensatz zur cardLChart nicht automatisiert und müssen definiert werden.

                                    Der Daten-String ist anders aufgebaut, da er keine Koordinaten, sondern Werte zum Zeitpunkt X enthält...

                                    gäbe es einen Grund, dass man/ich das nicht noch so umschreiben könnte, dass es auch berechnet wird?

                                    T Offline
                                    T Offline
                                    TT-Tom
                                    wrote on last edited by
                                    #5259

                                    @theknut

                                    kannst du gerne machen.

                                    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 Reply Last reply
                                    0
                                    • T TT-Tom

                                      @rene55
                                      das kann auch der Bug bei der Card sein.

                                      https://github.com/joBr99/nspanel-lovelace-ui/issues/934

                                      Rene55R Offline
                                      Rene55R Offline
                                      Rene55
                                      wrote on last edited by
                                      #5260

                                      @tt-tom Ich glaube, ich stell meine Balken erstmal zurück. Hab mir das Issue mal angesehen, sagt mir aber nix. Die Werte, die ich gerade zum Panel schicke sehen so aus:
                                      Werte: 4304^3~9475~5080~7928~5684~5661~5531~5711^3~5511~5372~5647~5263~4955~4901~4862^4~4991~4812~4809~4860~4931~5912~9183^4~5116~9032~5595~
                                      Scale: [0,2369,4738,7107,9476]

                                      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

                                      ArmilarA T 3 Replies Last reply
                                      0
                                      • Rene55R Rene55

                                        @tt-tom Ich glaube, ich stell meine Balken erstmal zurück. Hab mir das Issue mal angesehen, sagt mir aber nix. Die Werte, die ich gerade zum Panel schicke sehen so aus:
                                        Werte: 4304^3~9475~5080~7928~5684~5661~5531~5711^3~5511~5372~5647~5263~4955~4901~4862^4~4991~4812~4809~4860~4931~5912~9183^4~5116~9032~5595~
                                        Scale: [0,2369,4738,7107,9476]

                                        ArmilarA Offline
                                        ArmilarA Offline
                                        Armilar
                                        Most Active Forum Testing
                                        wrote on last edited by
                                        #5261

                                        @rene55

                                        Rechne die Werte in kW um - dann sollte es passen... Die Skala schafft da keine W

                                        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.

                                        Rene55R 1 Reply Last reply
                                        0
                                        • ArmilarA Armilar

                                          @rene55

                                          Rechne die Werte in kW um - dann sollte es passen... Die Skala schafft da keine W

                                          Rene55R Offline
                                          Rene55R Offline
                                          Rene55
                                          wrote on last edited by
                                          #5262

                                          @armilar Nochmals die (dumme) Frage: welche Daten muss ich da nehmen. Ziel ist, dass ich den Verbrauch vom Haus im Stundenraster sehe, damit ich erkennen kann, zu welcher Stunde die meiste Energie verbraten wird.

                                          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

                                          ArmilarA 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          384

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe