Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  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.7k

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

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

SONOFF NSPanel mit Lovelace UI

Scheduled Pinned Locked Moved Hardware
lovelace uinspanelsonoff
7.8k Posts 273 Posters 6.8m Views 256 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.
  • N Neral12

    @ticaki
    Auch so, das war also nur vorbereitet und ohne Funktion?

        export type ScreenSaverElement = {
            ScreensaverEntity: string;
            ScreensaverEntityText: string;
            /**
            * Value wird mit diesem Factor multipliziert.
            */
            ScreensaverEntityFactor?: number;
            ScreensaverEntityDecimalPlaces?: number;
            ScreensaverEntityDateFormat?: Intl.DateTimeFormatOptions;
            ScreensaverEntityIconOn?: string | null;
            ScreensaverEntityIconOff?: string | null;
            ScreensaverEntityUnitText?: string;
            ScreensaverEntityIconColor?: RGB | IconScaleElement | string;
            ScreensaverEntityOnColor?: RGB;
            ScreensaverEntityOffColor?: RGB;
            ScreensaverEntityOnText?: string | null;
            ScreensaverEntityOffText?: string | null;
            ScreensaverEntityNaviToPage?: PageType;
            /**
             * To show different icons for different values in the screensaver
             * 
             * Value is the threshold for the icon. Lower values are first.
             * Example:
             * [
                        {icon: 'sun-thermometer', value:40},
                        {icon: 'sun-thermometer-outline', value: 35},
                        {icon: 'thermometer-high', value: 30},
                        {icon: 'thermometer', value: 25},
                        {icon: 'thermometer-low', value: 15},
                        {icon: 'snowflake-alert', value: 2},
                        {icon: 'snowflake-thermometer', value: -2},
                        {icon: 'snowflake', value: -10},
                        ]
             */
            ScreensaverEntityIconSelect?: {icon:string, value: number}[] | null;
        };
    
    T Offline
    T Offline
    TT-Tom
    wrote on last edited by
    #7235

    @neral12

    ja, der @ticaki steht auf Typs ;) und formuliert sie immer gleich komplett aus.

    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

      @ticaki

      ich finde es laut Code nur in den mrIcon1 und 2. bei left, bottom und indicator ist nix zu finden.

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

      @tt-tom

      Das sind 2 verschiedene Funktionen hab das wohl zu unterschiedlichen Zeiten für unterschiedliche Zwecke eingebaut... ups :D

      In MrIcon ist es ein Array wie common.states. (HandleScreensaverStatusIcons)
      In bottom ein wenn Werte kleiner/gleich X zeige icon - geht von klein zu groß. (determineScreensaverStatusIcon)

      EDIT: anhand des Funktionsnamen wollte ich das wohl auch für die Statusicons nutzen, bin dann aber wohl abgelenkt worden und habs vergessen.

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      1 Reply Last reply
      0
      • N Neral12

        @ticaki
        Auch so, das war also nur vorbereitet und ohne Funktion?

            export type ScreenSaverElement = {
                ScreensaverEntity: string;
                ScreensaverEntityText: string;
                /**
                * Value wird mit diesem Factor multipliziert.
                */
                ScreensaverEntityFactor?: number;
                ScreensaverEntityDecimalPlaces?: number;
                ScreensaverEntityDateFormat?: Intl.DateTimeFormatOptions;
                ScreensaverEntityIconOn?: string | null;
                ScreensaverEntityIconOff?: string | null;
                ScreensaverEntityUnitText?: string;
                ScreensaverEntityIconColor?: RGB | IconScaleElement | string;
                ScreensaverEntityOnColor?: RGB;
                ScreensaverEntityOffColor?: RGB;
                ScreensaverEntityOnText?: string | null;
                ScreensaverEntityOffText?: string | null;
                ScreensaverEntityNaviToPage?: PageType;
                /**
                 * To show different icons for different values in the screensaver
                 * 
                 * Value is the threshold for the icon. Lower values are first.
                 * Example:
                 * [
                            {icon: 'sun-thermometer', value:40},
                            {icon: 'sun-thermometer-outline', value: 35},
                            {icon: 'thermometer-high', value: 30},
                            {icon: 'thermometer', value: 25},
                            {icon: 'thermometer-low', value: 15},
                            {icon: 'snowflake-alert', value: 2},
                            {icon: 'snowflake-thermometer', value: -2},
                            {icon: 'snowflake', value: -10},
                            ]
                 */
                ScreensaverEntityIconSelect?: {icon:string, value: number}[] | null;
            };
        
        T Do not disturb
        T Do not disturb
        ticaki
        wrote on last edited by ticaki
        #7237

        @neral12
        Nein, das ist drin, aber ich brauchte das nur für die ScreensaverBottomIcons, daher hab ich das nicht für andere implementiert. Ehrlich hatte daran auch nicht gedacht.

        Kürzer - wenn du das in die icons für bottom einbaust sollte es jetzt schon gehen, für indicator muß ich das noch einbauen und testen.

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        1 Reply Last reply
        0
        • N Offline
          N Offline
          Neral12
          wrote on last edited by
          #7238

          @ticaki
          Ich wollte das rechts für die 5 indicatorScreensaverEntity verwenden.

          https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#erweiterter-screensaver

          MrIcon kann ich nicht nehmen da fehlt leider ScreensaverEntityIconColor

          T 1 Reply Last reply
          0
          • N Neral12

            @ticaki
            Ich wollte das rechts für die 5 indicatorScreensaverEntity verwenden.

            https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#erweiterter-screensaver

            MrIcon kann ich nicht nehmen da fehlt leider ScreensaverEntityIconColor

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

            @neral12

            Ja und wie ich geschrieben habe, am Donnerstag baue ich das ein. :)

            @neral12 sagte in SONOFF NSPanel mit Lovelace UI:

            Das Beispiel für EntityIconSelect sagt Lower values are first, beginnt aber mit der höchsten Wert an ??

            Und hierzu noch: Lower values are first - heißt kleiner Werte erzeugen die ersten Treffer - Das hat nichts mit der Ordnung zu tun. Die Werte werden vorher von klein nach groß sortiert und dann ist der erste wert der <= Value ist der Treffer.

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            N 1 Reply Last reply
            0
            • T ticaki

              @neral12

              Ja und wie ich geschrieben habe, am Donnerstag baue ich das ein. :)

              @neral12 sagte in SONOFF NSPanel mit Lovelace UI:

              Das Beispiel für EntityIconSelect sagt Lower values are first, beginnt aber mit der höchsten Wert an ??

              Und hierzu noch: Lower values are first - heißt kleiner Werte erzeugen die ersten Treffer - Das hat nichts mit der Ordnung zu tun. Die Werte werden vorher von klein nach groß sortiert und dann ist der erste wert der <= Value ist der Treffer.

              N Offline
              N Offline
              Neral12
              wrote on last edited by
              #7240

              @ticaki
              Super :+1: Besten Dank! :100:

              T 1 Reply Last reply
              0
              • T TT-Tom

                @gargano
                Wenn du mit einer Beta Version vom Javascript Adapter arbeitest, musst du mit so etwas rechnen.
                Weitere Infos findest du im Testpost zum Adapter.

                B Offline
                B Offline
                bean
                wrote on last edited by
                #7241

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

                @gargano
                Wenn du mit einer Beta Version vom Javascript Adapter arbeitest, musst du mit so etwas rechnen.
                Weitere Infos findest du im Testpost zum Adapter.

                Sorry für die Nachfrage, aber wo finde ich die weiteren Infos? Welcher Testpost zum Adapter ist gemeint? (Habe das selbe "Problem")

                T 1 Reply Last reply
                0
                • B bean

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

                  @gargano
                  Wenn du mit einer Beta Version vom Javascript Adapter arbeitest, musst du mit so etwas rechnen.
                  Weitere Infos findest du im Testpost zum Adapter.

                  Sorry für die Nachfrage, aber wo finde ich die weiteren Infos? Welcher Testpost zum Adapter ist gemeint? (Habe das selbe "Problem")

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

                  @bean im Bereich Tester gibt es ein aktuellen Post zum Javascript Adapter

                  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

                  B 1 Reply Last reply
                  0
                  • T TT-Tom

                    @bean im Bereich Tester gibt es ein aktuellen Post zum Javascript Adapter

                    B Offline
                    B Offline
                    bean
                    wrote on last edited by bean
                    #7243

                    @tt-tom Danke, und sorry dass ich da gerade am Schlauch stehe, aber wo finde ich einen Bereich "Tester"? Hier? Im github zum Javascript? Github zum NSpanel?
                    EDIT: Gefunden, hier im Tester zu 9.0.1

                    1 Reply Last reply
                    1
                    • H Offline
                      H Offline
                      hmarius1
                      wrote on last edited by
                      #7244

                      Hallo zusammen,

                      bei mir läuft plötzlich das Script nicht mehr. Ich habe nichts geändert am System nicht mal ein Update gemacht das habe ich erst danach gemacht weil ich gedacht habe vielleicht löst das das Problem.

                      Das TypeScript gibt folgende Fehler aus. Jemand eine Idee wie ich das behebe? Bin ich der einzige damit aktuell?

                      19.6.2025, 20:36:16.913	[info ]: javascript.0 (26568) script.js.common.nspanel.panel3: Stopping script
                      19.6.2025, 20:36:17.214	[info ]: javascript.0 (26568) script.js.common.nspanel.panel3: Compiling TypeScript source
                      19.6.2025, 20:36:18.136	[error]: javascript.0 (26568) script.js.common.nspanel.panel3: TypeScript compilation failed:
                                  await setStateAsync(NSPanel_Path + 'PageNavi', <iobJS.State>{ val: "{ pagetype: 'page', pageId: 0 }", ack: true });
                                                                                        ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                      await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', <iobJS.State>{ val: 8, ack: true });
                                                                                                                 ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                      await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourDay', <iobJS.State>{ val: 7, ack: true });
                                                                                                           ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                      await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', <iobJS.State>{ val: 1, ack: true });
                                                                                                                   ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                      await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourNight', <iobJS.State>{ val: 22, ack: true });
                                                                                                             ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                              await setStateAsync(meanPower, <iobJS.State>{ val: meanConsumption, ack: true });
                                                                    ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(screensaverNotifyHeading, <iobJS.State>{ val: '', ack: true });
                                                                                       ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(screensaverNotifyText, <iobJS.State>{ val: '', ack: true });
                                                                                    ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                      await setStateAsync(obj.id, <iobJS.State>{ val: obj.state.val, ack: true }); // ack new value
                                                                         ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                      await setStateAsync(NSPanel_Path + 'NSPanel_locales_json', <iobJS.State>{ val: JSON.stringify(response.data), ack: true });
                                                                                                        ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                      await setStateAsync(NSPanel_Path + 'NSPanel_locales_service_json', <iobJS.State>{ val: JSON.stringify(response.data), ack: true });
                                                                                                                ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Tasmota_Firmware.onlineVersion').val, ack: true });
                                                                                                                           ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Berry_Driver.onlineVersion').val, ack: true });
                                                                                                                       ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                                  await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Display_Firmware.onlineVersion').val, ack: true });
                                                                                                                               ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(popupNotifyHeading, <iobJS.State>{ val: Headline, ack: false });
                                                                                 ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(popupNotifyHeadingColor, <iobJS.State>{ val: HeadlineColor, ack: false });
                                                                                      ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(popupNotifyButton1Text, <iobJS.State>{ val: Button1, ack: false });
                                                                                     ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(popupNotifyButton1TextColor, <iobJS.State>{ val: Button1Color, ack: false });
                                                                                          ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(popupNotifyButton2Text, <iobJS.State>{ val: Button2, ack: false });
                                                                                     ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(popupNotifyButton2TextColor, <iobJS.State>{ val: Button2Color, ack: false });
                                                                                          ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(popupNotifySleepTimeout, <iobJS.State>{ val: Timeout, ack: false });
                                                                                      ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(popupNotifyInternalName, <iobJS.State>{ val: InternalName, ack: false });
                                                                                      ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(popupNotifyLayout, <iobJS.State>{ val: Layout, ack: false });
                                                                                ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(popupNotifyText, <iobJS.State>{ val: [formatDate(getDateObject(new Date().getTime()), 'TT.MM.JJJJ SS:mm:ss'), '\r\n', '\r\n', Text].join(''), ack: false });
                                                                              ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(NSPanel_Path + 'NSPanel_ipAddress', <iobJS.State>{ val: get_current_tasmota_ip_address(), ack: true });
                                                                                                 ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                          await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.onlineVersion', <iobJS.State>{ val: TasmotaVersionOnline, ack: true });
                                                                                                                      ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                          await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: JSON.parse(JSON.stringify(response.data)).nlui_driver_version, ack: true });
                                                                                                                   ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.currentVersion', <iobJS.State>{ val: tasmoVersion, ack: true });
                                                                                                                           ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota.Uptime', <iobJS.State>{ val: Tasmota_JSON.StatusPRM.Uptime, ack: true });
                                                                                                          ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota.Version', <iobJS.State>{ val: Tasmota_JSON.StatusFWR.Version, ack: true });
                                                                                                           ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota.Hardware', <iobJS.State>{ val: TasmotaHardware[0] + '\r\n' + TasmotaHardware[1], ack: true });
                                                                                                            ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.AP', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.AP, ack: true });
                                                                                                           ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.SSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.SSId, ack: true });
                                                                                                             ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.BSSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.BSSId, ack: true });
                                                                                                              ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Channel', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Channel, ack: true });
                                                                                                                ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Mode', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Mode, ack: true });
                                                                                                             ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.RSSI', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.RSSI, ack: true });
                                                                                                             ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Signal', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Signal, ack: true });
                                                                                                               ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Tasmota.Product', <iobJS.State>{ val: 'SONOFF NSPanel', ack: true });
                                                                                                           ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              await setStateAsync(NSPanel_Path + 'Berry_Driver.onlineVersion', <iobJS.State>{ val: BerryDriverVersionOnline, ack: true });
                                                                                                                      ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                      await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: NSPanelVersion, ack: true });
                                                                                                              ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                      await setStateAsync(NSPanel_Path + 'Display_Firmware.onlineVersion', <iobJS.State>{ val: desired_display_firmware_version, ack: true });
                                                                                                                  ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                          await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: split[2], ack: true });
                                                                                                                       ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                          await setStateAsync(NSPanel_Path + 'Display_Firmware.currentRelease', <iobJS.State>{ val: split[4], ack: true });
                                                                                                                       ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                          await setStateAsync(NSPanel_Path + 'NSPanel_Version', <iobJS.State>{ val: split[3], ack: true });
                                                                                                       ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                                      await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: tft_version, ack: true });
                                                                                                                              ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                              if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.HUE').ts) {
                                                                                         ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                              if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.HUE').ts) {
                                                                                                                             ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                              if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RED').ts) {
                                                                                         ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                              if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RED').ts) {
                                                                                                                             ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                              if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.CIE').ts) {
                                                                                         ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                              if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.CIE').ts) {
                                                                                                                             ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                              if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RGB').ts) {
                                                                                         ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                              if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RGB').ts) {
                                                                                                                             ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                          setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true });
                                                                                   ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                          setState(popupNotifyAction, <iobJS.State>{ val: true, ack: true });
                                                                             ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                          setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true });
                                                                                   ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                          setState(popupNotifyAction, <iobJS.State>{ val: false, ack: true });
                                                                             ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                                      if (getState(id + '.TEMPERATURE').ts < getState(id + '.HUE').ts) {
                                                                                        ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                                      if (getState(id + '.TEMPERATURE').ts < getState(id + '.HUE').ts) {
                                                                                                                   ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                                      if (getState(id + '.TEMPERATURE').ts < getState(id + '.RED').ts) {
                                                                                        ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                                      if (getState(id + '.TEMPERATURE').ts < getState(id + '.RED').ts) {
                                                                                                                   ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                                      if (getState(id + '.TEMPERATURE').ts < getState(id + '.RGB').ts) {
                                                                                        ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                                      if (getState(id + '.TEMPERATURE').ts < getState(id + '.RGB').ts) {
                                                                                                                   ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                                      if (getState(id + '.TEMPERATURE').ts < getState(id + '.CIE').ts) {
                                                                                        ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                                      if (getState(id + '.TEMPERATURE').ts < getState(id + '.CIE').ts) {
                                                                                                                   ^
                      ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                        Property 'ts' does not exist on type 'TypedState<any>'.
                      
                                  unsubscribe(value);
                                              ^
                      ERROR: Argument of type 'unknown' is not assignable to parameter of type 'string | RegExp | string[]'.
                      
                              await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: dateTime[0] + '\r\n' + dateTime[1], ack: true });
                                                                                       ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                              await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                                                                           ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                                                                                         ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                                                                                                        ^
                      ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      
                                  val: iobJS.StateValue;
                                             ^
                      ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'?
                      
                                  val: iobJS.StateValue;
                                             ^
                      ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'?
                      
                      
                      ArmilarA 1 Reply Last reply
                      0
                      • H hmarius1

                        Hallo zusammen,

                        bei mir läuft plötzlich das Script nicht mehr. Ich habe nichts geändert am System nicht mal ein Update gemacht das habe ich erst danach gemacht weil ich gedacht habe vielleicht löst das das Problem.

                        Das TypeScript gibt folgende Fehler aus. Jemand eine Idee wie ich das behebe? Bin ich der einzige damit aktuell?

                        19.6.2025, 20:36:16.913	[info ]: javascript.0 (26568) script.js.common.nspanel.panel3: Stopping script
                        19.6.2025, 20:36:17.214	[info ]: javascript.0 (26568) script.js.common.nspanel.panel3: Compiling TypeScript source
                        19.6.2025, 20:36:18.136	[error]: javascript.0 (26568) script.js.common.nspanel.panel3: TypeScript compilation failed:
                                    await setStateAsync(NSPanel_Path + 'PageNavi', <iobJS.State>{ val: "{ pagetype: 'page', pageId: 0 }", ack: true });
                                                                                          ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                        await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', <iobJS.State>{ val: 8, ack: true });
                                                                                                                   ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                        await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourDay', <iobJS.State>{ val: 7, ack: true });
                                                                                                             ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                        await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', <iobJS.State>{ val: 1, ack: true });
                                                                                                                     ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                        await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourNight', <iobJS.State>{ val: 22, ack: true });
                                                                                                               ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                await setStateAsync(meanPower, <iobJS.State>{ val: meanConsumption, ack: true });
                                                                      ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(screensaverNotifyHeading, <iobJS.State>{ val: '', ack: true });
                                                                                         ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(screensaverNotifyText, <iobJS.State>{ val: '', ack: true });
                                                                                      ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                        await setStateAsync(obj.id, <iobJS.State>{ val: obj.state.val, ack: true }); // ack new value
                                                                           ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                        await setStateAsync(NSPanel_Path + 'NSPanel_locales_json', <iobJS.State>{ val: JSON.stringify(response.data), ack: true });
                                                                                                          ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                        await setStateAsync(NSPanel_Path + 'NSPanel_locales_service_json', <iobJS.State>{ val: JSON.stringify(response.data), ack: true });
                                                                                                                  ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Tasmota_Firmware.onlineVersion').val, ack: true });
                                                                                                                             ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Berry_Driver.onlineVersion').val, ack: true });
                                                                                                                         ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                    await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Display_Firmware.onlineVersion').val, ack: true });
                                                                                                                                 ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(popupNotifyHeading, <iobJS.State>{ val: Headline, ack: false });
                                                                                   ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(popupNotifyHeadingColor, <iobJS.State>{ val: HeadlineColor, ack: false });
                                                                                        ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(popupNotifyButton1Text, <iobJS.State>{ val: Button1, ack: false });
                                                                                       ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(popupNotifyButton1TextColor, <iobJS.State>{ val: Button1Color, ack: false });
                                                                                            ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(popupNotifyButton2Text, <iobJS.State>{ val: Button2, ack: false });
                                                                                       ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(popupNotifyButton2TextColor, <iobJS.State>{ val: Button2Color, ack: false });
                                                                                            ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(popupNotifySleepTimeout, <iobJS.State>{ val: Timeout, ack: false });
                                                                                        ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(popupNotifyInternalName, <iobJS.State>{ val: InternalName, ack: false });
                                                                                        ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(popupNotifyLayout, <iobJS.State>{ val: Layout, ack: false });
                                                                                  ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(popupNotifyText, <iobJS.State>{ val: [formatDate(getDateObject(new Date().getTime()), 'TT.MM.JJJJ SS:mm:ss'), '\r\n', '\r\n', Text].join(''), ack: false });
                                                                                ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(NSPanel_Path + 'NSPanel_ipAddress', <iobJS.State>{ val: get_current_tasmota_ip_address(), ack: true });
                                                                                                   ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                            await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.onlineVersion', <iobJS.State>{ val: TasmotaVersionOnline, ack: true });
                                                                                                                        ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                            await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: JSON.parse(JSON.stringify(response.data)).nlui_driver_version, ack: true });
                                                                                                                     ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.currentVersion', <iobJS.State>{ val: tasmoVersion, ack: true });
                                                                                                                             ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota.Uptime', <iobJS.State>{ val: Tasmota_JSON.StatusPRM.Uptime, ack: true });
                                                                                                            ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota.Version', <iobJS.State>{ val: Tasmota_JSON.StatusFWR.Version, ack: true });
                                                                                                             ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota.Hardware', <iobJS.State>{ val: TasmotaHardware[0] + '\r\n' + TasmotaHardware[1], ack: true });
                                                                                                              ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.AP', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.AP, ack: true });
                                                                                                             ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.SSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.SSId, ack: true });
                                                                                                               ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.BSSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.BSSId, ack: true });
                                                                                                                ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Channel', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Channel, ack: true });
                                                                                                                  ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Mode', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Mode, ack: true });
                                                                                                               ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.RSSI', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.RSSI, ack: true });
                                                                                                               ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Signal', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Signal, ack: true });
                                                                                                                 ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Tasmota.Product', <iobJS.State>{ val: 'SONOFF NSPanel', ack: true });
                                                                                                             ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                await setStateAsync(NSPanel_Path + 'Berry_Driver.onlineVersion', <iobJS.State>{ val: BerryDriverVersionOnline, ack: true });
                                                                                                                        ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                        await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: NSPanelVersion, ack: true });
                                                                                                                ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                        await setStateAsync(NSPanel_Path + 'Display_Firmware.onlineVersion', <iobJS.State>{ val: desired_display_firmware_version, ack: true });
                                                                                                                    ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                            await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: split[2], ack: true });
                                                                                                                         ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                            await setStateAsync(NSPanel_Path + 'Display_Firmware.currentRelease', <iobJS.State>{ val: split[4], ack: true });
                                                                                                                         ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                            await setStateAsync(NSPanel_Path + 'NSPanel_Version', <iobJS.State>{ val: split[3], ack: true });
                                                                                                         ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                        await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: tft_version, ack: true });
                                                                                                                                ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.HUE').ts) {
                                                                                           ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.HUE').ts) {
                                                                                                                               ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RED').ts) {
                                                                                           ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RED').ts) {
                                                                                                                               ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.CIE').ts) {
                                                                                           ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.CIE').ts) {
                                                                                                                               ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RGB').ts) {
                                                                                           ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RGB').ts) {
                                                                                                                               ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                            setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true });
                                                                                     ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                            setState(popupNotifyAction, <iobJS.State>{ val: true, ack: true });
                                                                               ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                            setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true });
                                                                                     ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                            setState(popupNotifyAction, <iobJS.State>{ val: false, ack: true });
                                                                               ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                                        if (getState(id + '.TEMPERATURE').ts < getState(id + '.HUE').ts) {
                                                                                          ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                        if (getState(id + '.TEMPERATURE').ts < getState(id + '.HUE').ts) {
                                                                                                                     ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                        if (getState(id + '.TEMPERATURE').ts < getState(id + '.RED').ts) {
                                                                                          ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                        if (getState(id + '.TEMPERATURE').ts < getState(id + '.RED').ts) {
                                                                                                                     ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                        if (getState(id + '.TEMPERATURE').ts < getState(id + '.RGB').ts) {
                                                                                          ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                        if (getState(id + '.TEMPERATURE').ts < getState(id + '.RGB').ts) {
                                                                                                                     ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                        if (getState(id + '.TEMPERATURE').ts < getState(id + '.CIE').ts) {
                                                                                          ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                                        if (getState(id + '.TEMPERATURE').ts < getState(id + '.CIE').ts) {
                                                                                                                     ^
                        ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'.
                          Property 'ts' does not exist on type 'TypedState<any>'.
                        
                                    unsubscribe(value);
                                                ^
                        ERROR: Argument of type 'unknown' is not assignable to parameter of type 'string | RegExp | string[]'.
                        
                                await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: dateTime[0] + '\r\n' + dateTime[1], ack: true });
                                                                                         ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                                                                             ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                                                                                           ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                                                                                                          ^
                        ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        
                                    val: iobJS.StateValue;
                                               ^
                        ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'?
                        
                                    val: iobJS.StateValue;
                                               ^
                        ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'?
                        
                        
                        ArmilarA Offline
                        ArmilarA Offline
                        Armilar
                        Most Active Forum Testing
                        wrote on last edited by Armilar
                        #7245

                        @hmarius1

                        Sieh mal kurz nach, ob da ein JS-Adapter 9.X.X (beta/latest) läuft... Da gibts noch irgendwie broken Types...

                        Falls ja, dann Downgrade auf die 8.9.2 (stable)

                        P.S.: Der hat sich übrigens heute bei mir auch selbstständig installiert, obwohl "Automatisches Upgrade" unter Repo's nicht angehakt ist... :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.

                        H 1 Reply Last reply
                        0
                        • ArmilarA Armilar

                          @hmarius1

                          Sieh mal kurz nach, ob da ein JS-Adapter 9.X.X (beta/latest) läuft... Da gibts noch irgendwie broken Types...

                          Falls ja, dann Downgrade auf die 8.9.2 (stable)

                          P.S.: Der hat sich übrigens heute bei mir auch selbstständig installiert, obwohl "Automatisches Upgrade" unter Repo's nicht angehakt ist... :blush:

                          H Offline
                          H Offline
                          hmarius1
                          wrote on last edited by
                          #7246

                          @armilar ja hatte 9.x.x drauf durch das update natürlich jetzt den latest was vorher war weiß ich nicht. danke. nach downgrade funktioniert es wieder. komisch ist das es erst mit der 9er Java ohne probleme lief.

                          ArmilarA 1 Reply Last reply
                          2
                          • H hmarius1

                            @armilar ja hatte 9.x.x drauf durch das update natürlich jetzt den latest was vorher war weiß ich nicht. danke. nach downgrade funktioniert es wieder. komisch ist das es erst mit der 9er Java ohne probleme lief.

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

                            @hmarius1

                            Beim JS-Adapter 9.X warten wir schon seit der 9.0.0 auf ein Bugfix der Types... Solange keiner sagt, dass es jetzt anders beabsichtigt ist, gehe ich nach wie vor von einem Bug aus...

                            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.

                            H 1 Reply Last reply
                            1
                            • ArmilarA Armilar

                              @hmarius1

                              Beim JS-Adapter 9.X warten wir schon seit der 9.0.0 auf ein Bugfix der Types... Solange keiner sagt, dass es jetzt anders beabsichtigt ist, gehe ich nach wie vor von einem Bug aus...

                              H Offline
                              H Offline
                              hansi44
                              wrote on last edited by
                              #7248

                              Re: SONOFF NSPanel mit Lovelace UI

                              Hallo liebe community,

                              ich bin kurz vorm Verzweifeln mit meinem NSPanel und hoffe irgendjemand kann mir hier weiterhelfen.
                              Ich habe das NSPanel schon ca 2-3 Jahre und damals nach der Anleitung von haus:automation eingestellt; es hatte damals einwandfrei funktioniert bis mich das display irgendwann aufgefordert hat ein update zu machen, das hatte ich am display bestätigt und danach ging gar nichts mehr außer "waiting for content".

                              Ich hab das display jetzt nach Ewigkeiten wieder mal in die Hand genommen, tasmota_nspanel neu geflasht, das panel entsprechend vorbereitet. Beim Flashen der nextion firmware zeigt das display auch mal ausnahmsweise den Ladebalken beim Flash-Vorgang statt "waiting for content / This is taking longer..".
                              In iobroker scheint die MQTT Anbindung des Display zu funktionieren. Ich habe die "CustomSend" und "Result" angelegt und in die skripte eingetragen, gespeichert und gestartet .. das Display zeigt aber immer nur "waiting for content" .. hat irgendjemand eine Idee wie ich weiter kommen kann?

                              Danke und VG

                              ArmilarA teletapiT 3 Replies Last reply
                              0
                              • H hansi44

                                Re: SONOFF NSPanel mit Lovelace UI

                                Hallo liebe community,

                                ich bin kurz vorm Verzweifeln mit meinem NSPanel und hoffe irgendjemand kann mir hier weiterhelfen.
                                Ich habe das NSPanel schon ca 2-3 Jahre und damals nach der Anleitung von haus:automation eingestellt; es hatte damals einwandfrei funktioniert bis mich das display irgendwann aufgefordert hat ein update zu machen, das hatte ich am display bestätigt und danach ging gar nichts mehr außer "waiting for content".

                                Ich hab das display jetzt nach Ewigkeiten wieder mal in die Hand genommen, tasmota_nspanel neu geflasht, das panel entsprechend vorbereitet. Beim Flashen der nextion firmware zeigt das display auch mal ausnahmsweise den Ladebalken beim Flash-Vorgang statt "waiting for content / This is taking longer..".
                                In iobroker scheint die MQTT Anbindung des Display zu funktionieren. Ich habe die "CustomSend" und "Result" angelegt und in die skripte eingetragen, gespeichert und gestartet .. das Display zeigt aber immer nur "waiting for content" .. hat irgendjemand eine Idee wie ich weiter kommen kann?

                                Danke und VG

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

                                @hansi44

                                RESULT muss nicht angelegt werden und wird, sofern der MQTT-Austausch erfolgt, unter /tele/ angelegt.

                                Bitte zeige kurz deine beiden Kommunikationsparameter im Script und die beiden in den mqtt.X. Objekten...

                                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.

                                H 1 Reply Last reply
                                1
                                • H hansi44

                                  Re: SONOFF NSPanel mit Lovelace UI

                                  Hallo liebe community,

                                  ich bin kurz vorm Verzweifeln mit meinem NSPanel und hoffe irgendjemand kann mir hier weiterhelfen.
                                  Ich habe das NSPanel schon ca 2-3 Jahre und damals nach der Anleitung von haus:automation eingestellt; es hatte damals einwandfrei funktioniert bis mich das display irgendwann aufgefordert hat ein update zu machen, das hatte ich am display bestätigt und danach ging gar nichts mehr außer "waiting for content".

                                  Ich hab das display jetzt nach Ewigkeiten wieder mal in die Hand genommen, tasmota_nspanel neu geflasht, das panel entsprechend vorbereitet. Beim Flashen der nextion firmware zeigt das display auch mal ausnahmsweise den Ladebalken beim Flash-Vorgang statt "waiting for content / This is taking longer..".
                                  In iobroker scheint die MQTT Anbindung des Display zu funktionieren. Ich habe die "CustomSend" und "Result" angelegt und in die skripte eingetragen, gespeichert und gestartet .. das Display zeigt aber immer nur "waiting for content" .. hat irgendjemand eine Idee wie ich weiter kommen kann?

                                  Danke und VG

                                  teletapiT Online
                                  teletapiT Online
                                  teletapi
                                  wrote on last edited by teletapi
                                  #7250

                                  @hansi44 Einmal vom Strom nehmen, (nur Neustart reicht nicht) nachdem das Stromlos war ging es bei mir auch wieder

                                  1 Reply Last reply
                                  1
                                  • H hansi44

                                    Re: SONOFF NSPanel mit Lovelace UI

                                    Hallo liebe community,

                                    ich bin kurz vorm Verzweifeln mit meinem NSPanel und hoffe irgendjemand kann mir hier weiterhelfen.
                                    Ich habe das NSPanel schon ca 2-3 Jahre und damals nach der Anleitung von haus:automation eingestellt; es hatte damals einwandfrei funktioniert bis mich das display irgendwann aufgefordert hat ein update zu machen, das hatte ich am display bestätigt und danach ging gar nichts mehr außer "waiting for content".

                                    Ich hab das display jetzt nach Ewigkeiten wieder mal in die Hand genommen, tasmota_nspanel neu geflasht, das panel entsprechend vorbereitet. Beim Flashen der nextion firmware zeigt das display auch mal ausnahmsweise den Ladebalken beim Flash-Vorgang statt "waiting for content / This is taking longer..".
                                    In iobroker scheint die MQTT Anbindung des Display zu funktionieren. Ich habe die "CustomSend" und "Result" angelegt und in die skripte eingetragen, gespeichert und gestartet .. das Display zeigt aber immer nur "waiting for content" .. hat irgendjemand eine Idee wie ich weiter kommen kann?

                                    Danke und VG

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

                                    @hansi44

                                    Im Übrigen bist du bei der Dokumentation (bei dir im Post unter "entsprechend vorbereitet") des Panels bei Home Assistant gelandet... Die Vorbereitung ist zwar gleich, jedoch ist die TFT-Firmware nicht mehr gleich...

                                    Unsere (ioBroker) Dokumentation findest du in der Wiki:

                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation#step-für-step---anleitung

                                    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.

                                    teletapiT 1 Reply Last reply
                                    2
                                    • ArmilarA Armilar

                                      @hansi44

                                      Im Übrigen bist du bei der Dokumentation (bei dir im Post unter "entsprechend vorbereitet") des Panels bei Home Assistant gelandet... Die Vorbereitung ist zwar gleich, jedoch ist die TFT-Firmware nicht mehr gleich...

                                      Unsere (ioBroker) Dokumentation findest du in der Wiki:

                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation#step-für-step---anleitung

                                      teletapiT Online
                                      teletapiT Online
                                      teletapi
                                      wrote on last edited by teletapi
                                      #7252

                                      Ich hätte da mal eine Frage, Auf dem Display werden mir ja symbole für die Leuchten angezeigt wenn die Lampe an ist wird das symbol gelb und wenn sie aus ist wird oder ist es Orange.
                                      Würde das irgendwie funktionieren das das Symbol die Farbe bekommt in der sie leuchtet.?
                                      Wenn zb. Blau beleuchtet wird das mi´r das symbol der Lampe ebenfalls blau wird.
                                      Gruß

                                      Hat sich erledigt habs gefunden Zauberwort heißt (interpolateColor: true)

                                      teletapiT 1 Reply Last reply
                                      0
                                      • H Offline
                                        H Offline
                                        hansi44
                                        wrote on last edited by
                                        #7253

                                        hallo @Armilar , hallo @teletapi , vielen Dank für eure schnelle Antwort, hier im Forum ist wirklich Verlass auf Unterstützung wenn man Probleme hat! Ich hab heute morgen das NSPanel mit wenig Hoffnung nochmal angeschlossen und es kommt tatsächlich ein Bild!:couplekiss: (Obwohl ich nicht wirklich etwas anders gemacht hab)
                                        Im javascript unten im iobroker kommen zwar noch etliche Fehlermeldungen, aber ich denke das ist normal und ich habe jetzt wieder Mut weiter an dem Thema zu arbeiten! Danke euch!

                                        1 Reply Last reply
                                        1
                                        • ArmilarA Armilar

                                          @hansi44

                                          RESULT muss nicht angelegt werden und wird, sofern der MQTT-Austausch erfolgt, unter /tele/ angelegt.

                                          Bitte zeige kurz deine beiden Kommunikationsparameter im Script und die beiden in den mqtt.X. Objekten...

                                          H Offline
                                          H Offline
                                          hansi44
                                          wrote on last edited by
                                          #7254

                                          @armilar

                                          das schaut bei mir im script so aus
                                          e4ed9cca-e187-41f0-9ed8-c7a47a77c342-grafik.png

                                          ich habe die id's direkt aus den objekten kopiert, passt das?

                                          Ich hab in letzter Zeit wenig mit iobroker gemacht, aber was mich auch gewundert hat, wenn ich in den Objekten in iobroker rechts neben dem ID namen "kopieren" geklickt habe, bilde ich mir ein wurde früher immer der komplette Pfad des Objekts übernommen
                                          43a73c33-00b6-4db6-a919-5024e1bc25a0-grafik.png

                                          also hier zB "mqtt.0.cmnd.tasmota_85D34C.CustomSend" .. er hat aber jetzt immer nur den Objektnamen kopiert, also nur "CustomSend" .. ging das nicht irgendwie mal anders? VG

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          1.0k

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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