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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  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.9k

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

SONOFF NSPanel mit Lovelace UI

Geplant Angeheftet Gesperrt Verschoben Hardware
lovelace uinspanelsonoff
7.8k Beiträge 272 Kommentatoren 6.7m Aufrufe 254 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Markus S.M Markus S.

    Hallo,

    ich bin neu in dem Thema und habe bereits gesucht, aber nichts gefunden.
    Ich habe am Wochenende die Installation durchgeführt.
    Tasmota für das NSPanel 12.2 drauf, das Berry Script autoexec.be drauf.
    Dann das FlashNextion durchgeführt - das Display wird blau und zeigt "Write 0% 4096".
    Blieb doirt hängen und nach knapp 2 Minuten machte das Display ein Reboot.
    Nun zeigt das Display "System Data ERROR!"

    Ich versuche es erneut mit Flashen - die Anzeige in der Console ist:

    15:48:26.855 CMD: FlashNextion http://nspanel.pky.eu/lui-release.tft
    15:48:26.865 RSL: RESULT = {"FlashNextion":"Done"}
    15:48:26.899 FLH: host: nspanel.pky.eu, port: 80, get: /lui-release.tft

    Danach kommt nichts mehr - der Bildschirm auf dem Display wird auch nicht mehr "blau". Der Tasmota Teil läuft weiter - sieht man, denn das Log zeigt weitere Nachrichten an, z.B. wenn man schaltet, oder die Temperatur an dem Teil ändert sich.

    Sollte ich was übersehen habe - ich bin für jeden Tipp dankbar! Ich hoffe ich habe nun keinen Schalter mit schwarzem Display.

    Vielen, vielen Dank,
    Markus

    W Offline
    W Offline
    Wuschl
    schrieb am zuletzt editiert von Wuschl
    #923

    @markus-s said in SONOFF NSPanel mit Lovelace UI:

    FlashNextion http://nspanel.pky.eu/lui-release.tft

    Probier mal das
    FlashNextion http://nspanel.pky.eu/lui.tft

    Ich hatte letztens auch ein Panel das sich nicht flashen lies, funktionierte aber dann mit nem anderen Link. Weiß nur nicht ob es dieser war. Den hatte @Armilar in seiner Anleitung stehen. Ich finde Ihn aber leider nicht mehr.

    Oder dieser
    FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.1.0.tft

    Markus S.M 1 Antwort Letzte Antwort
    0
    • ArmilarA Armilar

      @matze_hh

      In diesem Fall ist es leicht...

      Den unteren Teil ab

      // _________________________________ Ab hier keine Konfiguration mehr ____________
      ....
      

      einfach ersetzten und die 3 Farbkonstanten (nachfolgend Zeile 3 - 5) hinzufügen.

      //Screensaver Default Theme Colors
      const scbackground:     RGB = { red:   0, green:    0, blue:   0};
      const scbackgroundInd1: RGB = { red: 255, green:   0,  blue:   0};
      const scbackgroundInd2: RGB = { red: 121, green: 222,  blue: 121};
      const scbackgroundInd3: RGB = { red: 255, green: 255,  blue:   0};
      

      Den Rest macht das TS-Script mit dem ersten Start selbst.

      Ach ja und

      FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.6.0.tft
      

      in der Tasmota-Console ausführen.

      Das wäre dann schon alles...

      M Offline
      M Offline
      Matze_HH
      schrieb am zuletzt editiert von
      #924

      @armilar said in SONOFF NSPanel mit Lovelace UI:

      FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.6.0.tft

      Ok dann mache ich es schon richtig, bekomme aber einen riesen Haufen Fehler 😞

      javascript.0 (689) script.js.NSPanel.Panel_1_3_5: TypeScript compilation failed: "yAxis": "Gas [kWh]", ^ ERROR: Type '{ type: "cardChart"; heading: string; useColor: true; subPage: false; parent: undefined; yAxis: string; yAxisTicks: number[]; items: PageItem[]; }' is not assignable to type 'PageChart'. Object literal may only specify known properties, and '"yAxis"' does not exist in type 'PageChart'. await createAliasAsync(config.weatherEntity + '.ICON', 'accuweather.0.Current.WeatherIcon', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ICON' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP', 'accuweather.0.Current.Temperature', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature', name: 'TEMP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP_MIN', 'accuweather.0.Daily.Day1.Temperature.Minimum', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature.forecast.0', name: 'TEMP_MIN' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP_MAX', 'accuweather.0.Daily.Day1.Temperature.Maximum', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature.max.forecast.0', name: 'TEMP_MAX' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourDay.SET', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourNight.SET', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'autoUpdate.ACTUAL', NSPanel_Path + 'NSPanel_autoUpdate', true, <iobJS.StateCommon>{ type: 'boolean', role: 'switch', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'autoUpdate.SET', NSPanel_Path + 'NSPanel_autoUpdate', true, <iobJS.StateCommon>{ type: 'boolean', role: 'switch', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'ipAddress.ACTUAL', NSPanel_Path + 'NSPanel_ipAddress', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.BerryDriver.ACTUAL', NSPanel_Path + 'Berry_Driver.currentVersion', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Uptime.ACTUAL', NSPanel_Path + 'Tasmota.Uptime', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Version.ACTUAL', NSPanel_Path + 'Tasmota.Version', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Hardware.ACTUAL', NSPanel_Path + 'Tasmota.Hardware', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.AP.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.AP', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.SSId.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.SSId', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.BSSId.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.BSSId', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Channel.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Channel', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Mode.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Mode', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.RSSI.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.RSSI', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Signal.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Signal', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.TFTVersion.ACTUAL', NSPanel_Path + 'Display_Firmware.currentVersion', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.Model.ACTUAL', NSPanel_Path + 'NSPanel_Version', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + '.Player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + '.Player.currentAlbum', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + '.Player.currentArtist', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + '.Player.currentTitle', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + '.Player.controlNext', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + '.Player.controlPrevious', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + '.Player.controlPlay', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + '.Player.controlPause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + '.Commands.deviceStop', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + '.Player.currentState', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + '.Player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + 'player.album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + 'player.artistName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + 'player.trackName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + 'player.contextDescription', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + 'player.skipPlus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + 'player.skipMinus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + 'player.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + 'player.isPlaying', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + '.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + '.current_album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + '.current_artist', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + '.current_title', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + '.current_station', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + '.next', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + '.prev', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + '.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + '.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + '.stop', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + '.state_simple', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + '.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. scrSvrBGCol = rgb_dec565(scbackgroundInd1); ^ ERROR: Cannot find name 'scbackgroundInd1'. scrSvrBGCol = rgb_dec565(scbackgroundInd2); ^ ERROR: Cannot find name 'scbackgroundInd2'. scrSvrBGCol = rgb_dec565(scbackgroundInd3); ^ ERROR: Cannot find name 'scbackgroundInd3'. await createAliasAsync(AliasPath + 'Sensor.ANALOG.Temperature.ACTUAL', NSPanel_Path + 'Sensor.ANALOG.Temperature', true, <iobJS.StateCommon>{ type: 'number', 'unit': '°C' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Sensor.ESP32.Temperature.ACTUAL', NSPanel_Path + 'Sensor.ESP32.Temperature', true, <iobJS.StateCommon>{ type: 'number', 'unit': '°C' }); ^ ERROR: Cannot find name 'createAliasAsync'.
      
      
      ArmilarA 1 Antwort Letzte Antwort
      0
      • M Matze_HH

        @armilar said in SONOFF NSPanel mit Lovelace UI:

        FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.6.0.tft

        Ok dann mache ich es schon richtig, bekomme aber einen riesen Haufen Fehler 😞

        javascript.0 (689) script.js.NSPanel.Panel_1_3_5: TypeScript compilation failed: "yAxis": "Gas [kWh]", ^ ERROR: Type '{ type: "cardChart"; heading: string; useColor: true; subPage: false; parent: undefined; yAxis: string; yAxisTicks: number[]; items: PageItem[]; }' is not assignable to type 'PageChart'. Object literal may only specify known properties, and '"yAxis"' does not exist in type 'PageChart'. await createAliasAsync(config.weatherEntity + '.ICON', 'accuweather.0.Current.WeatherIcon', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ICON' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP', 'accuweather.0.Current.Temperature', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature', name: 'TEMP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP_MIN', 'accuweather.0.Daily.Day1.Temperature.Minimum', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature.forecast.0', name: 'TEMP_MIN' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP_MAX', 'accuweather.0.Daily.Day1.Temperature.Maximum', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature.max.forecast.0', name: 'TEMP_MAX' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourDay.SET', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourNight.SET', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'autoUpdate.ACTUAL', NSPanel_Path + 'NSPanel_autoUpdate', true, <iobJS.StateCommon>{ type: 'boolean', role: 'switch', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'autoUpdate.SET', NSPanel_Path + 'NSPanel_autoUpdate', true, <iobJS.StateCommon>{ type: 'boolean', role: 'switch', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'ipAddress.ACTUAL', NSPanel_Path + 'NSPanel_ipAddress', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.BerryDriver.ACTUAL', NSPanel_Path + 'Berry_Driver.currentVersion', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Uptime.ACTUAL', NSPanel_Path + 'Tasmota.Uptime', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Version.ACTUAL', NSPanel_Path + 'Tasmota.Version', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Hardware.ACTUAL', NSPanel_Path + 'Tasmota.Hardware', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.AP.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.AP', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.SSId.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.SSId', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.BSSId.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.BSSId', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Channel.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Channel', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Mode.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Mode', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.RSSI.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.RSSI', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Signal.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Signal', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.TFTVersion.ACTUAL', NSPanel_Path + 'Display_Firmware.currentVersion', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.Model.ACTUAL', NSPanel_Path + 'NSPanel_Version', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + '.Player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + '.Player.currentAlbum', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + '.Player.currentArtist', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + '.Player.currentTitle', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + '.Player.controlNext', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + '.Player.controlPrevious', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + '.Player.controlPlay', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + '.Player.controlPause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + '.Commands.deviceStop', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + '.Player.currentState', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + '.Player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + 'player.album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + 'player.artistName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + 'player.trackName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + 'player.contextDescription', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + 'player.skipPlus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + 'player.skipMinus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + 'player.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + 'player.isPlaying', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + '.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + '.current_album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + '.current_artist', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + '.current_title', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + '.current_station', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + '.next', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + '.prev', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + '.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + '.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + '.stop', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + '.state_simple', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + '.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. scrSvrBGCol = rgb_dec565(scbackgroundInd1); ^ ERROR: Cannot find name 'scbackgroundInd1'. scrSvrBGCol = rgb_dec565(scbackgroundInd2); ^ ERROR: Cannot find name 'scbackgroundInd2'. scrSvrBGCol = rgb_dec565(scbackgroundInd3); ^ ERROR: Cannot find name 'scbackgroundInd3'. await createAliasAsync(AliasPath + 'Sensor.ANALOG.Temperature.ACTUAL', NSPanel_Path + 'Sensor.ANALOG.Temperature', true, <iobJS.StateCommon>{ type: 'number', 'unit': '°C' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Sensor.ESP32.Temperature.ACTUAL', NSPanel_Path + 'Sensor.ESP32.Temperature', true, <iobJS.StateCommon>{ type: 'number', 'unit': '°C' }); ^ ERROR: Cannot find name 'createAliasAsync'.
        
        
        ArmilarA Offline
        ArmilarA Offline
        Armilar
        Most Active Forum Testing
        schrieb am zuletzt editiert von Armilar
        #925

        @matze_hh

        Ja perfekt. Das Beispiel ist zwar schon drin, aber die cardChart ist noch nicht in der TFT-Firmware. Daher mit der cardChart noch ein wenig warten. Das TS-Script kann das schon, aber das NSPanel ist noch nicht so weit.

        Mit anderen Worten. Die cardChart darf aktuell noch nicht in den Seiten aufgerufen werden.

        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.

        M 1 Antwort Letzte Antwort
        1
        • ArmilarA Armilar

          @matze_hh

          Ja perfekt. Das Beispiel ist zwar schon drin, aber die cardChart ist noch nicht in der TFT-Firmware. Daher mit der cardChart noch ein wenig warten. Das TS-Script kann das schon, aber das NSPanel ist noch nicht so weit.

          Mit anderen Worten. Die cardChart darf aktuell noch nicht in den Seiten aufgerufen werden.

          M Offline
          M Offline
          Matze_HH
          schrieb am zuletzt editiert von
          #926

          @armilar ah, ok. Es läuft aber so erstmal?! 🙂

          ArmilarA 2 Antworten Letzte Antwort
          0
          • M Matze_HH

            @armilar ah, ok. Es läuft aber so erstmal?! 🙂

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

            @matze_hh

            Ja, sollte alles wie gewohnt, auch erst abwärtskompatibel laufen.

            Alle anderen beschriebenen Funktionen kannst du natürlich einbauen oder testen. Nur halt die Charts noch nicht.

            In der HMI-DEV ist die schon drin, aber in dem aktuellen TFT-Release noch nicht...

            Kann aber nicht mehr lang dauern.

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

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

            1 Antwort Letzte Antwort
            0
            • M Matze_HH

              @armilar ah, ok. Es läuft aber so erstmal?! 🙂

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

              @matze_hh

              Hast du es auch genauso gemacht?

              Den unteren Teil ausgetauscht und nur oben die 3 Screensaver Konstanten hinzugefügt?

              Es dürfte am rechten Rand nichts rot sein.

              Deine alten Variablen und Config bleiben so wie sie sind. Ist dann höchstens 5 Minuten Umstellung auf die neue Version...

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

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

              1 Antwort Letzte Antwort
              0
              • ArmilarA Armilar

                SONOFF NSPanel Touch Display Switch

                mit Lovelace UI und TASMOTA Firmware

                60848839-53b0-4e2b-a370-28e02960bfcd-image.png

                Das Thema https://forum.iobroker.net/topic/50888/sonoff-nspanel/1542 wird hier jetzt fortgesetzt...

                An alle begeisterten NSPanel'er

                Dieser Thread soll sich jetzt ausschließlich mit den Fragen und Themen rund um das SONOFF NSPanel mit Lovelace UI beschäftigen.

                Wie alles begann:

                • 22.10.2021
                  Blakadder's Dokumentation der Dekodierung des NSPanel-Kommunikationsprotokolls und Einrichtung der Steuerung des Nextion-Bildschirms mit benutzerdefinierter Firmware.
                  https://blakadder.com/nspanel-hacking/
                • 01.01.2022
                  Erste Gehversuche mit Blockly-Scripts auf der Original-Firmware nach einer ersten coolen Anleitung für den ioBroker von @haus-automatisierung.
                • ...
                  Funkstille auf allen Kanälen, da das Panel in der Originalsoftware einfach zu wenig Funktionalität hat. Ein Vergleich mit "Jugend forscht" wäre maßlos übertrieben...
                • 15.01.2022
                  @jobr99 Erstes POC von Lovelace Konzept mit ESPhome Komponente, da Nextion Upload Protcol unter tasmota nicht umsetzbar ist (berry tcpclient crashed ESP, HTTP Libary ist auf viel zu kleine Dateien limitiert)
                • 17.01.2022
                  peepshow-21 Erste implementierung von Nextion Upload Protocol 1.1 mit Workaround für HTTP Libary über Java Converter um tft files für tasmota vorzubereiten
                • 20.01.2022
                  s-hadinger fixt bug in berry tcpclient
                • 31.01.2022
                  Erste Version für HomeAssistant mit Nodered und Tasmota
                • 08.02.2022
                  @joBr99 Erste Implementierung von Nextion Upload Protokoll 1.2 in Berry basiertend auf HTTP Range Header Requests und lokalem Buffer (funktioniert nur mit -nspanel tasmota build uns PSRAM Support)
                • 12.02.2022
                  peepshow-21 Implementierung von Nextion Upload Protocol 1.2 mit vollständigem Download und "streaming" zum Nextion Screen während dem Download
                • 05.03.2022
                  @joBr99 Portierung von Node-Red Flow zu AppDaemon, da AppDaemon sich besser eignet zur Implementierung vom Backend
                • 13.03.2022
                  @joBr99 Erste Version von Lovelace Berry Driver basierend auf Upload Protocol Implementierung von peepshow-21, da diese etwas stabiler läuft mit zusätzlichem Error Handling
                • 30.03.2022
                  @joBr99 kommt mit der Info um die Ecke, dass es ein erstes Script v1.9.0 für den ioBroker von @Britzelpuf gibt. Zu diesem Zeitpunkt gab es bereits den Screensaver die Seitennavigation und die Möglichkeit eine Lampe, einen Dimmer eine Taste und eine Info, sowie die popUps für Licht (Brightness) und Shutter (Position) und einen Thermostaten zur Steuerung einzubinden.
                • 10.04.2022
                  @joBr99 Firmware got bigger and bigger with >15 Minutes Flashing Time for the tft file
                  Increased Flashing Speed of Berry Driver from 115200 to 921600 and added skipping to the End with HTTP Range Headers, resulted in faster display flashing
                • 11.04.2022
                  @Armilar macht seine ersten Änderungen auf github und hört seit dem nicht mehr auf, weitere Funktionen in das TSScript hinzuzufügen... 😉
                  @joBr99 entwickelt die HMI und neue Funktionen für Home Assistant schneller als der Wind - und macht das Panel zur echten Bereicherung für jedes Smart Home 😊 👏

                heute

                • Eine der besten Community's die ich jemals erlebt habe. Hilfsbereit und kompetent wird jeder mit Hilfestellungen und Problemlösungen in kürzester Zeit versorgt.

                Es macht großen Spaß zusammen mit euch...

                VG
                Armilar


                Beispiele:

                09ae2c13-c606-4ef5-88dc-26fccd14dd85-image.png

                cf500331-70d8-4150-ac59-aabff1a27f7f-image.png

                a5dbb6f4-403b-4081-b2e9-a17cbc3af26c-image.png

                b41e2fed-abaa-4993-ae6f-2344f4e3afc8-image.png

                048fc1af-d72e-45fe-9102-688d40b2df18-image.png

                08edcab4-03b7-4c0f-923e-0f5b1c639cca-image.png

                ad94cddf-a0d0-40a7-971c-16504e8949fd-image.png

                263b23cc-d003-4af6-98b6-ed994c244890-image.png

                07373515-a92e-4cc9-b717-716e4fd4413f-image.png

                7c4a1f2f-26d7-4aeb-987d-3e30a671378d-image.png


                Features:

                • cardEntities für die Unterstützung diverser Steuerelemente (siehe Beispiele)
                • cardGrid (3x2-Raster) für die Unterstützung diverser Steuerelemente (siehe Beispiele)
                • cardGrid2 (4x2) für die Unterstützung diverser Steuerelemente (siehe Beispiele)
                • cardGrid3 (2x2) für die Unterstützung diverser Steuerelemente (siehe Beispiele)
                • cardPower zur Visualisierung der Energieverteilung
                • cardAlarm als Seite für Alarmanlagen
                • cardMedia - der Media-Player (Diverse Adapter)
                • cardThermo - Seite für Thermostat oder Klimaanlage
                • cardQR - Seite mit QRCode zur Anzeige von WLAN-Informationen
                • cardChart - Balkendiagramme
                • Detailseiten für Leuchtmittel (Helligkeit, Temperatur und Farbe)
                • Detailseite für Jalousien/Rollos (Position und Tilt)
                • Detailseite für Ventilatoren
                • Detailseite für Timer
                • Auswahl Detailseite für Werteliste
                • Bildschirmschonerseite mit Uhrzeit, Datum und Wetterinformationen oder/und Infos
                • Multilingual (unterstützt über 40 Sprachen)
                • Unbegrenzte Anzahl an Seiten und Unterseiten
                • Abfallkalender
                • Favoritenseiten
                • etc.

                  ich glaube da ist eine verbesserte "cardMedia" in der Entwicklung - sieht cool aus...
                  72571469-4a78-4caf-ba0e-7a67865bb13c-image.png

                NsPanel Lovelace UI ist eine Firmware für den Nextion-Bildschirm innerhalb des NSPanel.

                Die allgemeine Idee ist, dass das Nextion-Display einen Seitenzähler durchläuft und der ESP32 dem Display sagt, was zu tun ist. Alles ist dynamisch durch Alias-Erstellung konfigurierbar, es ist nicht erforderlich, Nextion Editor zu programmieren. Neben der Seiten-Definition sind im ioBroker keine Programmierkenntnisse erforderlich. Es ist im ioBroker ebenfalls kein Lovelace-Adapter erforderlich.

                Das Panel arbeitet mit Tasmota und MQTT. Um das Panel zu steuern und mit Inhalten von ioBroker zu aktualisieren, gibt es ein vordefiniertes TypeScript (TS) für den JavaScript-Adapter.


                Aktuelle Wiki (Anleitung) für den ioBroker

                https://github.com/joBr99/nspanel-lovelace-ui/wiki by @Kuckuckmann

                NsPanelTs.ts (TypeScript) für ioBroker v4.9.3.X

                zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar und @TT-Tom
                https://github.com/joBr99/nspanel-lovelace-ui/tree/main/ioBroker
                abgestimmt auf:

                • TFT 58 / v4.9.3 ( by @joBr99 / Armilar > 4.4.0)
                • BerryDriver 9 ( by peepshow-21 (based on code by blakadder and s-hadinger))
                • Tasmota 15.1.0 ( by Theo Arends ) --> Theo-Arends-Sonoff-MQTT-OTA

                Projekt:

                by @joBr99

                • main (Home Assistant - Version und Nextion HMI): https://github.com/joBr99/nspanel-lovelace-ui by @joBr99
                • ioBroker: https://github.com/joBr99/nspanel-lovelace-ui/tree/main/ioBroker by @Armilar (HA - Adaption)

                Icon-Mapper:

                • icon_mapping.ts:
                  https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts
                  (TypeScript muss in global liegen)

                Icons:

                unter: https://docs.nspanel.pky.eu/icon-cheatsheet.html

                Video-Tutorial:

                https://www.youtube.com/watch?v=ZPLJk2ZLo_8 by @haus-automatisierung

                berlinchris81B Offline
                berlinchris81B Offline
                berlinchris81
                schrieb am zuletzt editiert von
                #929

                Hi Leute gute Arbeit die Ihr macht - Respect. Ich hab jetzt alle Einstellungen 3 mal gemacht - aber es funktiert nicht - ich hab folgens im log kann aber damit nichts anfangen - icon mapping habe ich eingebunden es wird auch nicht rot unterschrichen. zum einen habe ich ein "Waiting for content" sceen und ich bekommen folgendes im log angezeigt - ich verzweifle langsam

                LG Chris! Ich nutze den IOBroker.2022-11-28 22_39_07-logs - iobroker-iobroker1.png MeineConfig.txt

                K ArmilarA 2 Antworten Letzte Antwort
                0
                • berlinchris81B berlinchris81

                  Hi Leute gute Arbeit die Ihr macht - Respect. Ich hab jetzt alle Einstellungen 3 mal gemacht - aber es funktiert nicht - ich hab folgens im log kann aber damit nichts anfangen - icon mapping habe ich eingebunden es wird auch nicht rot unterschrichen. zum einen habe ich ein "Waiting for content" sceen und ich bekommen folgendes im log angezeigt - ich verzweifle langsam

                  LG Chris! Ich nutze den IOBroker.2022-11-28 22_39_07-logs - iobroker-iobroker1.png MeineConfig.txt

                  K Offline
                  K Offline
                  Kuckuckmann
                  schrieb am zuletzt editiert von
                  #930

                  @berlinchris81

                  Hallo und willkommen hier im Forum 🙂

                  Du hast in deiner Config eine cardEntities die keinen Inhalt hat, insofern kann auch nichts angezeigt werden.
                  Da auch dadurch keine Icons definiert sind, kommt es zu Fehlermeldungen. Heißt aber auch im Umkehrschluss, Du hast schon ganz viel richtig gemacht, von Flashen bis hin zu MQTT und so.

                  Schau dir doch mal im Wiki an, wie man so eine Seite mit einem Alias und Icons, etc. bestückt.

                  Wenn Du nicht weiter kommt, gerne nochmal melden.

                  LG

                  NSPanel Dokumentation im GitHub Wiki:

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

                  1 Antwort Letzte Antwort
                  0
                  • berlinchris81B berlinchris81

                    Hi Leute gute Arbeit die Ihr macht - Respect. Ich hab jetzt alle Einstellungen 3 mal gemacht - aber es funktiert nicht - ich hab folgens im log kann aber damit nichts anfangen - icon mapping habe ich eingebunden es wird auch nicht rot unterschrichen. zum einen habe ich ein "Waiting for content" sceen und ich bekommen folgendes im log angezeigt - ich verzweifle langsam

                    LG Chris! Ich nutze den IOBroker.2022-11-28 22_39_07-logs - iobroker-iobroker1.png MeineConfig.txt

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

                    @berlinchris81

                    Irgendwie wird das global-Script des IconsSelector nicht geladen. Das wird auch der Grund sein, warum du aus dem "Waiting for Content" nicht raus kommst. Das TypeScript kompiliert nicht.

                    Mache jetzt Schluss für heute. Ab wann bist du morgen wieder verfügbar? Dann gehen wir es mal zusammen durch und bringen es zum Laufen...

                    Wenn du aus dem Log postest, dann kannst du die Code-Tags 7f6d0fc8-6d7b-4a38-8068-13f5dfecef64-image.png oben in der Menüleiste benutzen. Wird dann für uns einfacher es zu lesen.

                    Wäre noch Interessant zu wissen, welche node.js-Version und welche JS-Adapter-Version du aktuell nutzt.

                    Nach welcher Anleitung bist du vorgegangen?

                    Falls die:
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation
                    dann hast du die richtige.

                    Ab Punkt 8 wird das IconScript beschrieben. Es muss im "global"-Verzeichnis liegen. Unter github liegen zwei. Ein IconScript für TypeScript (muss als TypeScript angelegt sein) oder alternativ ein IconScript für JS (muss dann als JavaScript angelegt sein, es wurde für eine fehlerbehaftete Version des JS-Adapters abgelegt). Könntest sonst mal beide Varianten versuchen.

                    Auf der anderen Seite, möchte der Kompiler eine Version aus dem Speicher benutzen. Sagt mir an erster Stelle mal, dass es schon mal funktioniert hat. Stimmt das?

                    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.

                    berlinchris81B 1 Antwort Letzte Antwort
                    0
                    • ArmilarA Armilar

                      @berlinchris81

                      Irgendwie wird das global-Script des IconsSelector nicht geladen. Das wird auch der Grund sein, warum du aus dem "Waiting for Content" nicht raus kommst. Das TypeScript kompiliert nicht.

                      Mache jetzt Schluss für heute. Ab wann bist du morgen wieder verfügbar? Dann gehen wir es mal zusammen durch und bringen es zum Laufen...

                      Wenn du aus dem Log postest, dann kannst du die Code-Tags 7f6d0fc8-6d7b-4a38-8068-13f5dfecef64-image.png oben in der Menüleiste benutzen. Wird dann für uns einfacher es zu lesen.

                      Wäre noch Interessant zu wissen, welche node.js-Version und welche JS-Adapter-Version du aktuell nutzt.

                      Nach welcher Anleitung bist du vorgegangen?

                      Falls die:
                      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation
                      dann hast du die richtige.

                      Ab Punkt 8 wird das IconScript beschrieben. Es muss im "global"-Verzeichnis liegen. Unter github liegen zwei. Ein IconScript für TypeScript (muss als TypeScript angelegt sein) oder alternativ ein IconScript für JS (muss dann als JavaScript angelegt sein, es wurde für eine fehlerbehaftete Version des JS-Adapters abgelegt). Könntest sonst mal beide Varianten versuchen.

                      Auf der anderen Seite, möchte der Kompiler eine Version aus dem Speicher benutzen. Sagt mir an erster Stelle mal, dass es schon mal funktioniert hat. Stimmt das?

                      berlinchris81B Offline
                      berlinchris81B Offline
                      berlinchris81
                      schrieb am zuletzt editiert von berlinchris81
                      #932

                      @armilar

                      Der Tipp mit der icons Datei hat funktioniert - er ist aus dem scenn raus. Danke schön. Jetzt kann ich weiter probieren. Toll. Aller Dings nur mit der Notlösung ... JS Script und ich habe jetzt neue Warnungen drin, die sind zwar "nur" Warungen aber vielleicht interessierts euch.

                      2022-11-29 07_16_07-javascript - iobroker-iobroker1.png

                      JS Adapter: v6.14
                      Node JS weiß ich nicht läuft in nem Docker container.

                      Ich muss jetzt erstmal Arbeiten - melde mich dann.

                      1 Antwort Letzte Antwort
                      0
                      • W Wuschl

                        @markus-s said in SONOFF NSPanel mit Lovelace UI:

                        FlashNextion http://nspanel.pky.eu/lui-release.tft

                        Probier mal das
                        FlashNextion http://nspanel.pky.eu/lui.tft

                        Ich hatte letztens auch ein Panel das sich nicht flashen lies, funktionierte aber dann mit nem anderen Link. Weiß nur nicht ob es dieser war. Den hatte @Armilar in seiner Anleitung stehen. Ich finde Ihn aber leider nicht mehr.

                        Oder dieser
                        FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.1.0.tft

                        Markus S.M Offline
                        Markus S.M Offline
                        Markus S.
                        schrieb am zuletzt editiert von
                        #933

                        @wuschl Leider auch kein Erfolg, trotzdem Danke! Es scheint, dass das Display keine Antwort mehr gibt...

                        1 Antwort Letzte Antwort
                        0
                        • ArmilarA Armilar

                          @carlos

                          Habe den Fehler gefunden und bereits im github ein Bugfix angelegt.

                          War ein - "ich sag es mal so" - selten dämlicher Fehler von mir in der bExit... 😰

                          Einfach den Code im unteren Teil ab:

                          // _________________________________ Ab hier keine Konfiguration mehr ________
                          

                          komplett austauschen. Dann sollte es wieder laufen.

                          C Offline
                          C Offline
                          carlos
                          schrieb am zuletzt editiert von
                          #934

                          @armilar
                          Super, danke funktioniert wieder alles wie vorher.
                          Gute Arbeit, ich muss hier auch mal ein großes Lob loswerden

                          1 Antwort Letzte Antwort
                          0
                          • Markus S.M Offline
                            Markus S.M Offline
                            Markus S.
                            schrieb am zuletzt editiert von
                            #935

                            Danke an @joBr99 - es geht wieder! Jetzt kann ich weiter machen!

                            J M 2 Antworten Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              SuFra
                              schrieb am zuletzt editiert von
                              #936

                              Hallo

                              Ich versuche gerade ein 2. Panel in Betrieb zu nehmen scheitere aber massiv.
                              Das erste läuft mit der Script Version v3.4.0.5 problemlos.
                              Das 2. habe ich jetzt mit der neuen Version versucht, bekomme jedoch jede Menge Compiler Fehler.
                              Ich denke es liegt an meiner Javasript Version, V6.0.3.
                              Ich möchte jedoch nicht auf eine Beta des Javascript Adapters umsteigen.

                              Welche Möglichkeit habe ich das 2. Panel in Betrieb zu nehmen?

                              HA-Cluster 1x NUC11TNHI50L00, 2x NUC11TNHI30L00, 1x BSi3, 1x BSi5
                              LXC's: ioBroker, (3x Redis), PiHole, Grafana, Heimdall, MariaDB, InfulxDB, TasmoAdmin, NTP Server, Zabbix, Frigate, nextCloud, PeaNUT
                              VM's: PBS, trueNAS (Plex)

                              ArmilarA 1 Antwort Letzte Antwort
                              0
                              • S SuFra

                                Hallo

                                Ich versuche gerade ein 2. Panel in Betrieb zu nehmen scheitere aber massiv.
                                Das erste läuft mit der Script Version v3.4.0.5 problemlos.
                                Das 2. habe ich jetzt mit der neuen Version versucht, bekomme jedoch jede Menge Compiler Fehler.
                                Ich denke es liegt an meiner Javasript Version, V6.0.3.
                                Ich möchte jedoch nicht auf eine Beta des Javascript Adapters umsteigen.

                                Welche Möglichkeit habe ich das 2. Panel in Betrieb zu nehmen?

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

                                @sufra

                                Musst du auch nicht. Habe auch unterschiedlichste Versionen im Einsatz, jedoch sollte die JS-Adapter-Version ab Script 3.5.0.5 mindestens 6.1.3 sein. Es werden im TS-Script Funktionen genutzt, die erst ab v6.1.3 zur Verfügung stehen.

                                Ich würde den aber in jedem Fall Updaten, denn deine 6.0.3 Version ist bei Type-Script fehlerbehaftet.

                                Also in Kombination damit sollte deine node.js bestenfalls auch aktuell auf der 16.18.1 sein.

                                Da die JS-Adapter-Version 6.1.4 bereits raus ist, kann dich die gar nicht sagen, ob die 6.1.3 überhaupt noch eine BETA ist?

                                Als Alternative kannst du natürlich auch eine ältere Version des TS-Scriptes verwenden. Wäre dann die 3.5.0.4 aus der Historie:
                                https://github.com/joBr99/nspanel-lovelace-ui/tree/2bf1c9b49c0fc874bef29df8ffebebec59e6499d/ioBroker

                                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.

                                S 1 Antwort Letzte Antwort
                                1
                                • ArmilarA Armilar

                                  @sufra

                                  Musst du auch nicht. Habe auch unterschiedlichste Versionen im Einsatz, jedoch sollte die JS-Adapter-Version ab Script 3.5.0.5 mindestens 6.1.3 sein. Es werden im TS-Script Funktionen genutzt, die erst ab v6.1.3 zur Verfügung stehen.

                                  Ich würde den aber in jedem Fall Updaten, denn deine 6.0.3 Version ist bei Type-Script fehlerbehaftet.

                                  Also in Kombination damit sollte deine node.js bestenfalls auch aktuell auf der 16.18.1 sein.

                                  Da die JS-Adapter-Version 6.1.4 bereits raus ist, kann dich die gar nicht sagen, ob die 6.1.3 überhaupt noch eine BETA ist?

                                  Als Alternative kannst du natürlich auch eine ältere Version des TS-Scriptes verwenden. Wäre dann die 3.5.0.4 aus der Historie:
                                  https://github.com/joBr99/nspanel-lovelace-ui/tree/2bf1c9b49c0fc874bef29df8ffebebec59e6499d/ioBroker

                                  S Offline
                                  S Offline
                                  SuFra
                                  schrieb am zuletzt editiert von
                                  #938

                                  @armilar

                                  node.js ist auf v16.18.1

                                  Als Stable wird nur die V6.0.3 des JS Adapters angezeigt.

                                  Probiere mal die 3.5.0.4, Danke

                                  HA-Cluster 1x NUC11TNHI50L00, 2x NUC11TNHI30L00, 1x BSi3, 1x BSi5
                                  LXC's: ioBroker, (3x Redis), PiHole, Grafana, Heimdall, MariaDB, InfulxDB, TasmoAdmin, NTP Server, Zabbix, Frigate, nextCloud, PeaNUT
                                  VM's: PBS, trueNAS (Plex)

                                  ArmilarA 1 Antwort Letzte Antwort
                                  0
                                  • S SuFra

                                    @armilar

                                    node.js ist auf v16.18.1

                                    Als Stable wird nur die V6.0.3 des JS Adapters angezeigt.

                                    Probiere mal die 3.5.0.4, Danke

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

                                    @sufra

                                    Ja, habe eben auch noch nachgesehen

                                    922eaaad-5c0b-490e-80cc-f58c49e53607-image.png

                                    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.

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • J Offline
                                      J Offline
                                      joBr99
                                      schrieb am zuletzt editiert von
                                      #940

                                      Hey,
                                      als Warnung mit der aktuellen DEV Version von Tasmota funktioniert das Flashen der Nextion Firmware nicht mehr. Aktuelles Release (12.2.0) funktioniert noch.

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

                                      ArmilarA J 2 Antworten Letzte Antwort
                                      1
                                      • J joBr99

                                        Hey,
                                        als Warnung mit der aktuellen DEV Version von Tasmota funktioniert das Flashen der Nextion Firmware nicht mehr. Aktuelles Release (12.2.0) funktioniert noch.

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

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

                                        @jobr99 sagte in SONOFF NSPanel mit Lovelace UI:

                                        mit der aktuellen DEV Version (12.2.0.3) von Tasmota funktioniert das Flashen der Nextion Firmware nicht

                                        Danke für die Info... wird ne Menge Fragen klären... 👍

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

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

                                        1 Antwort Letzte Antwort
                                        0
                                        • ArmilarA Armilar

                                          @sufra

                                          Ja, habe eben auch noch nachgesehen

                                          922eaaad-5c0b-490e-80cc-f58c49e53607-image.png

                                          S Offline
                                          S Offline
                                          SuFra
                                          schrieb am zuletzt editiert von
                                          #942

                                          @armilar

                                          Danke erstmal.
                                          Das 2. Panel zeigt was an 🙂
                                          Ist zwar noch ne Warnung im Log, lüppt aber.

                                          HA-Cluster 1x NUC11TNHI50L00, 2x NUC11TNHI30L00, 1x BSi3, 1x BSi5
                                          LXC's: ioBroker, (3x Redis), PiHole, Grafana, Heimdall, MariaDB, InfulxDB, TasmoAdmin, NTP Server, Zabbix, Frigate, nextCloud, PeaNUT
                                          VM's: PBS, trueNAS (Plex)

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          615

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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