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

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

Community Forum

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

NEWS

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

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

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

SONOFF NSPanel mit Lovelace UI

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

    Kann ich in einer cardGrid mit dem Icon "Power" ein Objekt (boole) in 0_userdata von
    false in true umschalten?
    Ich hätte gerne eine Seite um alle Verbarucher auszuschalten (Zentral-Aus) bzw. Zentral-Ein und alle Rolläden öffnen
    oder schließen.
    Das soll alles über einen Button passieren.
    Die entsprechenden Objekte habe ich in meinen Bloclys schon implementiert.
    Nur schaffe ich es nicht per Button umzuschalten.

    Vielen Dank

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

    @gregors
    Lies dir mal die Wiki Beitrag durch. Der Typ Steckdose hat die Eigenschaft ein/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 Antwort Letzte Antwort
    2
    • G Gre4t0ne

      Jetzt noch folgendes wiederkehrendes Warning imProtokoll:
      HandleScreensaverUopdate: parseFormat ist not a function

      Wenn ich im Skript Debugge dann kommen noch die tausende Warnings (habe jetzt einen großen Mittelteil davon rausgelöscht wg. der Länge):

      21.9.2024, 19:04:55.273	[info ]: javascript.0 (2118) Stopping script script.js.NSPanel_v4_4_0_5
      21.9.2024, 19:04:56.381	[info ]: javascript.0 (2118) Compiling TypeScript source script.js.NSPanel_v4_4_0_5
      21.9.2024, 19:04:57.919	[info ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: source code did not change, using cached compilation result...
      21.9.2024, 19:04:58.215	[error]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: Error: Cannot find module '@iobroker-javascript.0/moment-parseformat'
      21.9.2024, 19:04:58.217	[error]: javascript.0 (2118)     at script.js.NSPanel_v4_4_0_5:1176:19
      21.9.2024, 19:04:58.246	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.IoBroker.JavaScriptVersion, state={"val":"v8.7.6","ack":true,"ts":1726938298246,"q":0,"from":"system.adapter.javascript.0","lc":1726914394966,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.247	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.IoBroker.ScriptName, state={"val":"NSPanel_v4_4_0_5","ack":true,"ts":1726938298247,"q":0,"from":"system.adapter.javascript.0","lc":1726914553446,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.250	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.IoBroker.JavaScriptVersion, state={"val":"v8.7.6","ack":true,"ts":1726938298250,"q":0,"from":"system.adapter.javascript.0","lc":1726914394966,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.251	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.IoBroker.ScriptName, state={"val":"NSPanel_v4_4_0_5","ack":true,"ts":1726938298251,"q":0,"from":"system.adapter.javascript.0","lc":1726914553446,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.276	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.IoBroker.NodeJSVersion, state={"val":"v18.17.1","ack":true,"ts":1726938298276,"q":0,"from":"system.adapter.javascript.0","lc":1726914394488,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.280	[info ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObjects enabled - create Alias Channels possible
      21.9.2024, 19:04:58.284	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Display_Firmware.desiredVersion, state={"val":53,"ack":true,"ts":1726938298284,"q":0,"from":"system.adapter.javascript.0","lc":1695149197638,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.288	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: extendObject(id=0_userdata.0.NSPanel.1.ScreensaverInfo.bgColorIndicator, obj={"_id":"","type":"state","common":{"type":"number","name":"Color Indicator","role":"level","states":{"0":"black","1":"red","2":"green","3":"attention","4":"pink","5":"dark red"},"read":true,"write":true},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.292	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.ScreensaverInfo.activeBrightness, obj={"type":"channel","common":{"role":"slider","name":"activeBrightness"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.295	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Relay.1, obj={"type":"channel","common":{"role":"socket","name":"Relay.1"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.296	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Config.MRIcons.alternateMRIconSize.1, obj={"type":"channel","common":{"role":"socket","name":"alternateMRIconSize.1"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.300	[info ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: weather alias for accuweather.0. already exists
      21.9.2024, 19:04:58.303	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.ScreensaverInfo.weatherForecast, obj={"type":"channel","common":{"role":"socket","name":"weatherForecast"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.306	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=mqtt.0.cmnd.nspanel_0C007C.CustomSend, state={"val":"dimmode~8~100","ack":false,"ts":1726938298306,"q":0,"from":"system.adapter.javascript.0","lc":1726938298306,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.307	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=mqtt.0.cmnd.nspanel_0C007C.CustomSend, state={"val":"dimmode~8~100~6371~65535~0","ack":false,"ts":1726938298307,"q":0,"from":"system.adapter.javascript.0","lc":1726938298307,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.327	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=mqtt.0.cmnd.nspanel_0C007C.CustomSend, state={"val":"pageType~pageStartup","ack":false,"ts":1726938298327,"q":0,"from":"system.adapter.javascript.0","lc":1726938298327,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.332	[info ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: No Updates for NSPanel available
      21.9.2024, 19:04:58.333	[info ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: registered 40 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      21.9.2024, 19:04:58.336	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Consumtion.MeanPower, state={"val":1.24,"ack":true,"ts":1726938298336,"q":0,"from":"system.adapter.javascript.0","lc":1726935715855,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.338	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=mqtt.0.cmnd.nspanel_0C007C.CustomSend, state={"val":"dimmode~8~100~6371~65535~0","ack":false,"ts":1726938298338,"q":0,"from":"system.adapter.javascript.0","lc":1726938298338,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.338	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=mqtt.0.cmnd.nspanel_0C007C.CustomSend, state={"val":"dimmode~8~100~6371~65535~0","ack":false,"ts":1726938298338,"q":0,"from":"system.adapter.javascript.0","lc":1726938298338,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.340	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=mqtt.0.cmnd.nspanel_0C007C.CustomSend, state={"val":"time~19:04","ack":false,"ts":1726938298340,"q":0,"from":"system.adapter.javascript.0","lc":1726938298340,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.346	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=mqtt.0.cmnd.nspanel_0C007C.CustomSend, state={"val":"date~Samstag, 21. September 2024","ack":false,"ts":1726938298346,"q":0,"from":"system.adapter.javascript.0","lc":1726938298346,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.346	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=mqtt.0.cmnd.nspanel_0C007C.CustomSend, state={"val":"pageType~pageStartup","ack":false,"ts":1726938298346,"q":0,"from":"system.adapter.javascript.0","lc":1726938298346,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.349	[info ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: No Updates for NSPanel available
      21.9.2024, 19:04:58.357	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Config.Update.activ, state={"val":0,"ack":true,"ts":1726938298357,"q":0,"from":"system.adapter.javascript.0","lc":1695155409634,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.377	[info ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: Desired TFT Firmware: 53 / v4.4.0
      21.9.2024, 19:04:58.377	[info ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: Installed TFT Firmware: 53 / v4.4.0
      21.9.2024, 19:04:58.377	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Display_Firmware.TFT.currentVersion, state={"val":"53 / v4.4.0","ack":true,"ts":1726938298377,"q":0,"from":"system.adapter.javascript.0","lc":1726914394050,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.382	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Display_Firmware.TFT.desiredVersion, state={"val":"53 / v4.4.0","ack":true,"ts":1726938298382,"q":0,"from":"system.adapter.javascript.0","lc":1726914394141,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.384	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.IoBroker.ScriptVersion, obj={"type":"channel","common":{"role":"info","name":"Version NSPanelTS"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.384	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Config.ScripgtDebugStatus, obj={"type":"channel","common":{"role":"socket","name":"ScripgtDebugStatus"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.385	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Config.MQTT.portCheck, obj={"type":"channel","common":{"role":"socket","name":"mqttPortCheck"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.386	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Config.Screensaver.alternativeScreensaverLayout, obj={"type":"channel","common":{"role":"socket","name":"alternativeScreensaverLayout"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.387	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Config.Update.UpdateMessage, obj={"type":"channel","common":{"role":"socket","name":"UpdateMesssage"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.388	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Config.Update.UpdateMessage, obj={"type":"channel","common":{"role":"socket","name":"UpdateMesssage"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.543	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.IoBroker.NodeJSVersion, obj={"type":"channel","common":{"role":"info","name":"Version NodeJS"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.694	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Relay.2, obj={"type":"channel","common":{"role":"socket","name":"Relay.2"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.694	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Config.MRIcons.alternateMRIconSize.2, obj={"type":"channel","common":{"role":"socket","name":"alternateMRIconSize.2"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.697	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.ScreensaverInfo.weatherForecastTimer, obj={"type":"channel","common":{"role":"socket","name":"weatherForecastTimer"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.698	[info ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: Debug mode disabled
      21.9.2024, 19:04:58.700	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: Command iob l i --port --enabled was not executed, while debug mode is active
      21.9.2024, 19:04:58.712	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Config.Screensaver.ScreensaverAdvanced, obj={"type":"channel","common":{"role":"socket","name":"ScreensaverAdvanced"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.713	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.autoUpdate, obj={"type":"channel","common":{"role":"socket","name":"AutoUpdate"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.713	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.autoUpdate, obj={"type":"channel","common":{"role":"socket","name":"AutoUpdate"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.715	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.IoBroker.JavaScriptVersion, obj={"type":"channel","common":{"role":"info","name":"Version JavaScript Instanz"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.743	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota_Firmware.currentVersion, state={"val":"14.2.0","ack":true,"ts":1726938298743,"q":0,"from":"system.adapter.javascript.0","lc":1723984878935,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.757	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Uptime, state={"val":"6T04:32:00","ack":true,"ts":1726938298757,"q":0,"from":"system.adapter.javascript.0","lc":1726938298757,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.761	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.NSPanel_locales_json, state={"val":"{\"lights\":{\"Brightness\":{\"en-US\":\"Brightness\",\"de-DE\":\"Helligkeit\",\"nl-NL\":\"Helderheid\",\"da-DK\":\"Lysstyrke\",\"es-ES\":\"Brillo\",\"fr-FR\":\"Luminosité\",\"it-IT\":\"Luminosità\",\"ru-RU\":\"Яркость\",\"nb-NO\":\"Lysstyrke\",\"nn-NO\":\"Lysstyrke\",\"pl-PL\":\"Jasność\",\"pt-PT\":\"Brilho\",\"af-ZA\":\"Helderheid\",\"ar-SY\":\"السطوع\",\"bg-BG\":\"Яркост\",\"ca-ES\":\"Brillantor\",\"cs-CZ\":\"Jas\",\"el-GR\":\"Φωτεινότητα\",\"et-EE\":\"Heledus\",\"fa-IR\":\"روشنایی\",\"fi-FI\":\"Kirkkaus\",\"he-IL\":\"בהירות\",\"hr-xx\":\"Svjetlina\",\"hu-HU\":\"Fényerő\",\"hy-AM\":\"Պայծառություն\",\"id-ID\":\"Kecerahan\",\"is-IS\":\"Birtustig\",\"lb-xx\":\"Hellegkeet\",\"lt-LT\":\"Ryškumas\",\"ro-RO\":\"Luminozitate\",\"sk-SK\":\"Jas\",\"sl-SI\":\"Svetlost\",\"sv-SE\":\"Ljusstyrka\",\"th-TH\":\"ความสว่าง\",\"tr-TR\":\"Parlaklık\",\"uk-UA\":\"Яскравість\",\"vi-VN\":\"Độ sáng\",\"zh-CN\":\"亮度\",\"zh-TW\":\"亮度\"},\"Temperature\":{\"en-US\":\"Color temperature\",\"de-DE\":\"Farbtemperatur\",\"nl-NL\":\"Kleurtemperatuur\",\"da-DK\":\"Farvetemperatur\",\"es-ES\":\"Temperatura del color\",\"fr-FR\":\"Température de couleur\",\"it-IT\":\"Temperatura colore\",\"ru-RU\":\"Цветовая температура\",\"nb-NO\":\"Fargetemperatur\",\"nn-NO\":\"Fargetemperatur\",\"pl-PL\":\"Temperatura barwy\",\"pt-PT\":\"Temperatura de cor\",\"af-ZA\":\"Kleur temperatuur\",\"ar-SY\":\"درجة حرارة اللون\",\"bg-BG\":\"Цветова температура\",\"ca-ES\":\"Temperatura de color\",\"cs-CZ\":\"Teplota barvy\",\"el-GR\":\"Θερμοκρασία χρώματος\",\"et-EE\":\"Värvustemperatuur\",\"fa-IR\":\"دمای رنگ\",\"fi-FI\":\"Värilämpötila\",\"he-IL\":\"טמפרטורת הצבע\",\"hr-xx\":\"Temperatura boje\",\"hu-HU\":\"Színhőmérséklet\",\"hy-AM\":\"Գունային ջերմաստիճան\",\"id-ID\":\"Temperatur warna\",\"is-IS\":\"Litastig\",\"lb-xx\":\"Faarf Temperatur\",\"lt-LT\":\"Spalvos temperatūra\",\"ro-RO\":\"Temperatură de culoare\",\"sk-SK\":\"Teplota farby\",\"sl-SI\":\"Temperatura barve\",\"sv-SE\":\"Färgtemperatur\",\"th-TH\":\"อุณหภูมิสี\",\"tr-TR\":\"Renk sıcaklığı\",\"uk-UA\":\"Кольорова температура\",\"vi-VN\":\"Nhiệt độ màu\",\"zh-CN\":\"色温\",\"zh-TW\":\"色溫\"}},\"window\":{\"closed\":{\"en-US\":\"Closed\",\"de-DE\":\"Geschlossen\",\"nl-NL\":\"Dicht\",\"da-DK\":\"Lukket\",\"es-ES\":\"Cerrada\",\"fr-FR\":\"Fermée\",\"it-IT\":\"Chiusa\",\"ru-RU\":\"Закрыто\",\"nb-NO\":\"Lukket\",\"nn-NO\":\"Lukka\",\"pl-PL\":\"zamknięte\",\"pt-PT\":\"Fechada\",\"af-ZA\":\"Toe\",\"ar-SY\":\"مغلق\",\"bg-BG\":\"Затворен\",\"ca-ES\":\"Tancada\",\"cs-CZ\":\"Zavřeno\",\"el-GR\":\"Κλειστό\",\"et-EE\":\"Suletud\",\"fa-IR\":\"بسته\",\"fi-FI\":\"Suljettu\",\"he-IL\":\"סגור\",\"hr-xx\":\"Zatvoreno\",\"hu-HU\":\"Zárva\",\"hy-AM\":\"Փակված է\",\"id-ID\":\"Tertutup\",\"is-IS\":\"Loka\",\"lb-xx\":\"Zou\",\"lt-LT\":\"Uždaryta\",\"ro-RO\":\"Închis\",\"sk-SK\":\"Zatvorené\",\"sl-SI\":\"Zaprto\",\"sv-SE\":\"Stängt\",\"th-TH\":\"ปิดแล้ว\",\"tr-TR\":\"Kapalı\",\"uk-UA\":\"Зачинене\",\"vi-VN\":\"Đóng\",\"zh-CN\":\"关闭\",\"zh-TW\":\"關閉\"},\"opened\":{\"en-US\":\"Open\",\"de-DE\":\"Offen\",\"nl-NL\":\"Open\",\"da-DK\":\"Åben\",\"es-ES\":\"Abierta\",\"fr-FR\":\"Ouverte\",\"it-IT\":\"Aperta\",\"ru-RU\":\"Открыто\",\"nb-NO\":\"Åpent\",\"nn-NO\":\"Open\",\"pl-PL\":\"otwarte\",\"pt-PT\":\"Aberta\",\"af-ZA\":\"Oop\",\"ar-SY\":\"مفتوح\",\"bg-BG\":\"Отворен\",\"ca-ES\":\"Oberta\",\"cs-CZ\":\"Otevřeno\",\"el-GR\":\"Ανοιχτό\",\"et-EE\":\"Avatud\",\"fa-IR\":\"باز\",\"fi-FI\":\"Auki\",\"he-IL\":\"פתוח\",\"hr-xx\":\"Otvoreno\",\"hu-HU\":\"Nyitva\",\"hy-AM\":\"Բացել\",\"id-ID\":\"Terbuka\",\"is-IS\":\"Opna\",\"lb-xx\":\"Op\",\"lt-LT\":\"Atidaryta\",\"ro-RO\":\"Deschis\",\"sk-SK\":\"Otvorené\",\"sl-SI\":\"Odprto\",\"sv-SE\":\"Öppet\",\"th-TH\":\"เปิด\",\"tr-TR\":\"Açık\",\"uk-UA\":\"Відчинене\",\"vi-VN\":\"Mở\",\"zh-CN\":\"开启\",\"zh-TW\":\"開啟\"}},\"door\":{\"closed\":{\"en-US\":\"Closed\",\"de-DE\":\"Geschlossen\",\"nl-NL\":\"Dicht\",\"da-DK\":\"Lukket\",\"es-ES\":\"Cerrada\",\"fr-FR\":\"Fermée\",\"it-IT\":\"Chiusa\",\"ru-RU\":\"Закрыта\",\"nb-NO\":\"Lukket\",\"nn-NO\":\"Lukka\",\"pl-PL\":\"zamknięte\",\"pt-PT\":\"Fechada\",\"af-ZA\":\"Toe\",\"ar-SY\":\"مغلق\",\"bg-BG\":\"Затворена\",\"ca-ES\":\"Tancada\",\"cs-CZ\":\"Zavřeno\",\"el-GR\":\"Κλειστή\",\"et-EE\":\"Suletud\",\"fa-IR\":\"بسته\",\"fi-FI\":\"Suljettu\",\"he-IL\":\"סגורה\",\"hr-xx\":\"Zatvoreno\",\"hu-HU\":\"Zárva\",\"hy-AM\":\"Փակված է\",\"id-ID\":\"Tertutup\",\"is-IS\":\"Lokuð\",\"lb-xx\":\"Zou\",\"lt-LT\":\"Uždaryta\",\"ro-RO\":\"Închis\",\"sk-SK\":\"Zatvorené\",\"sl-SI\":\"Zaprto\",\"sv-SE\":\"Stängd\",\"th-TH\":\"ปิดแล้ว\",\"tr-TR\":\"Kapalı\",\"uk-UA\":\"Зачинені\",\"vi-VN\":\"Đóng\",\"zh-CN\":\"关闭\",\"zh-TW\":\"已關閉\"},\"opened\":{\"en-US\":\"Open\",\"de-DE\":\"Offen\",\"nl-NL\":\"Open\",\"da-DK\":\"Åben\",\"es-ES\":\"Abierta\",\"fr-FR\":\"Ouverte\",\"it-IT\":\"Aperta\",\"ru-RU\":\"Открыта\",\"nb-NO\":\"Åpen\",\"nn-NO\":\"Open\",\"pl-PL\":\"otwarte\",\"pt-PT\":\"Aberta\",\"af-ZA\":\"Oop\",\"ar-SY\":\"مفتوح\",\"bg-BG\":\"Отворена\",\"ca-ES\":\"Oberta\",\"cs-CZ\":\"Otevřeno\",\"el-GR\":\"Ανοιχτή\",\"et-EE\":\"Avatud\",\"fa-IR\":\"باز\",\"fi-FI\":\"Auki\",\"he-IL\":\"פתוחה\",\"hr-xx\":\"Otvori\",\"hu-HU\":\"Nyitva\",\"hy-AM\":\"Բացել\",\"id-ID\":\"Terbuka\",\"is-IS\":\"Opin\",\"lb-xx\":\"Op\",\"lt-LT\":\"Atidaryta\",\"ro-RO\":\"Deschis\",\"sk-SK\":\"Otvorené\",\"sl-SI\":\"Odprto\",\"sv-SE\":\"Öppen\",\"th-TH\":\"เปิด\",\"tr-TR\":\"Açık\",\"uk-UA\":\"Відчинені\",\"vi-VN\":\"Mở\",\"zh-CN\":\"开启\",\"zh-TW\":\"已開啟\"}},\"lock\":{\"LOCK\":{\"en-US\":\"Lock\",\"de-DE\":\"Verriegeln\",\"nl-NL\":\"Vergrendelen\",\"da-DK\":\"Lås\",\"es-ES\":\"Bloquear\",\"fr-FR\":\"Verrouiller\",\"it-IT\":\"Blocca\",\"ru-RU\":\"Закрыть\",\"nb-NO\":\"Lås\",\"nn-NO\":\"Lås\",\"pl-PL\":\"Zablokuj\",\"pt-PT\":\"Bloquear\",\"af-ZA\":\"Sluit toe\",\"ar-SY\":\"قفل\",\"bg-BG\":\"Заключване\",\"ca-ES\":\"Bloquejar\",\"cs-CZ\":\"Zamknout\",\"el-GR\":\"Κλείδωμα\",\"et-EE\":\"Lukusta\",\"fa-IR\":\"قفل\",\"fi-FI\":\"Lukitse\",\"he-IL\":\"נעילה\",\"hr-xx\":\"zaključati\",\"hu-HU\":\"Bezár\",\"hy-AM\":\"Կողպեք\",\"id-ID\":\"Kunci\",\"is-IS\":\"Læsa\",\"lb-xx\":\"Spären\",\"lt-LT\":\"Užrakinti\",\"ro-RO\":\"Blocat\",\"sk-SK\":\"Zamknúť\",\"sl-SI\":\"Zakleni\",\"sv-SE\":\"Lås\",\"th-TH\":\"ล็อค\",\"tr-TR\":\"Kilitle\",\"uk-UA\":\"Блокувати\",\"vi-VN\":\"Khóa\",\"zh-CN\":\"锁定\",\"zh-TW\":\"上鎖\"},\"UNLOCK\":{\"en-US\":\"Unlock\",\"de-DE\":\"Entriegeln\",\"nl-NL\":\"Ontgrendelen\",\"da-DK\":\"Lås op\",\"es-ES\":\"Desbloquear\",\"fr-FR\":\"Déverrouiller\",\"it-IT\":\"Sblocca\",\"ru-RU\":\"Открыть\",\"nb-NO\":\"Lås opp\",\"nn-NO\":\"Lås opp\",\"pl-PL\":\"Odblokuj\",\"pt-PT\":\"Desbloquear\",\"af-ZA\":\"Sluit oop\",\"ar-SY\":\"فتح\",\"bg-BG\":\"Отключване\",\"ca-ES\":\"Desbloquejar\",\"cs-CZ\":\"Odemknout\",\"el-GR\":\"Ξεκλείδωμα\",\"et-EE\":\"Ava\",\"fa-IR\":\"باز کردن\",\"fi-FI\":\"Avaa lukitus\",\"he-IL\":\"ביטול נעילה\",\"hr-xx\":\"Otključati\",\"hu-HU\":\"Kinyit\",\"hy-AM\":\"Բացել\",\"id-ID\":\"Buka\",\"is-IS\":\"Aflæsa\",\"lb-xx\":\"Entspären\",\"lt-LT\":\"Atrakinti\",\"ro-RO\":\"Deblocare\",\"sk-SK\":\"Odomknúť\",\"sl-SI\":\"Odkleni\",\"sv-SE\":\"Lås upp\",\"th-TH\":\"ปลดล็อค\",\"tr-TR\":\"Kilidi aç\",\"uk-UA\":\"Розблокувати\",\"vi-VN\":\"Mở khóa\",\"zh-CN\":\"解锁\",\"zh-TW\":\"解鎖\"}},\"blinds\":{\"Position\":{\"en-US\":\"Position\",\"de-DE\":\"Position\",\"nl-NL\":\"Positie\",\"da-DK\":\"Position\",\"es-ES\":\"Posición\",\"fr-FR\":\"Position\",\"it-IT\":\"Apertura\",\"ru-RU\":\"Положение\",\"nb-NO\":\"Posisjon\",\"nn-NO\":\"Posisjon\",\"pl-PL\":\"Pozycja\",\"pt-PT\":\"Posição\",\"af-ZA\":\"Posisie\",\"ar-SY\":\"موضع\",\"bg-BG\":\"Позиция\",\"ca-ES\":\"Posició\",\"cs-CZ\":\"Pozice\",\"el-GR\":\"Θέση\",\"et-EE\":\"Asend\",\"fa-IR\":\"موقعیت\",\"fi-FI\":\"Sijainti\",\"he-IL\":\"מיקום\",\"hr-xx\":\"Pozicija\",\"hu-HU\":\"Pozíció\",\"hy-AM\":\"Դիրք\",\"id-ID\":\"Posisi\",\"is-IS\":\"Staðsetning\",\"lb-xx\":\"Positioun\",\"lt-LT\":\"Padėtis\",\"ro-RO\":\"Poziţie\",\"sk-SK\":\"Poloha\",\"sl-SI\":\"Položaj\",\"sv-SE\":\"Position\",\"th-TH\":\"ตำแหน่ง\",\"tr-TR\":\"Pozisyon\",\"uk-UA\":\"Положення\",\"vi-VN\":\"Vị trí\",\"zh-CN\":\"位置\",\"zh-TW\":\"位置\"},\"tilt_position\":{\"en-US\":\"Tilt position\",\"de-DE\":\"Kippstellung\",\"nl-NL\":\"Kantelpositie\",\"da-DK\":\"Vippeposition\",\"es-ES\":\"Posición inclinada\",\"fr-FR\":\"Inclinaison\",\"it-IT\":\"Inclinazione\",\"ru-RU\":\"Наклон\",\"nb-NO\":\"Vend posisjon\",\"nn-NO\":\"Tiltposisjon\",\"pl-PL\":\"Pochylenie\",\"pt-PT\":\"Posição de inclinação\",\"af-ZA\":\"Kantel posisie\",\"ar-SY\":\"وضع الإمالة\",\"bg-BG\":\"Наклон\",\"ca-ES\":\"Inclinació\",\"cs-CZ\":\"Náklon\",\"el-GR\":\"Θέση ανάκλισης\",\"et-EE\":\"Kalde asend\",\"fa-IR\":\"موقعیت شیب\",\"fi-FI\":\"Kallistus\",\"he-IL\":\"הטיה\",\"hr-xx\":\"Položaj nagiba\",\"hu-HU\":\"Döntési pozíció\",\"hy-AM\":\"Դիրքի թեքությունը\",\"id-ID\":\"Posisi kemiringan\",\"is-IS\":\"Hallastaða\",\"lb-xx\":\"Kippestellung\",\"lt-LT\":\"Pakreipimo padėtis\",\"ro-RO\":\"Poziție de înclinare\",\"sk-SK\":\"Poloha sklonu\",\"sl-SI\":\"Položaj nagiba\",\"sv-SE\":\"Tilt position\",\"th-TH\":\"ตำแหน่งการเอียง\",\"tr-TR\":\"Tilt pozisyonu\",\"uk-UA\":\"Положення нахилу\",\"vi-VN\":\"Nghiêng vị trí\",\"zh-CN\":\"倾斜位置\",\"zh-TW\":\"葉片位置\"}},\"thermostat\":{\"Currently\":{\"en-US\":\"Currently\",\"de-DE\":\"Aktuell\",\"nl-NL\":\"Momenteel\",\"da-DK\":\"Aktuelt\",\"es-ES\":\"Actualmente\",\"fr-FR\":\"Actuellement\",\"it-IT\":\"Attualmente\",\"ru-RU\":\"Сейчас\",\"nb-NO\":\"Er nå\",\"nn-NO\":\"Akkurat no\",\"pl-PL\":\"Obecnie\",\"pt-PT\":\"Atualmente\",\"af-ZA\":\"Tans\",\"ar-SY\":\"حاليا\",\"bg-BG\":\"В момента\",\"ca-ES\":\"Actual\",\"cs-CZ\":\"Aktuálně\",\"el-GR\":\"Αυτή τη στιγμή\",\"et-EE\":\"Hetkel\",\"fa-IR\":\"در حال حاضر\",\"fi-FI\":\"Tällä hetkellä\",\"he-IL\":\"כעת\",\"hr-xx\":\"Trenutno\",\"hu-HU\":\"Jelenleg\",\"hy-AM\":\"Ներկայումս\",\"id-ID\":\"Saat ini\",\"is-IS\":\"Er núna\",\"lb-xx\":\"Momentan\",\"lt-LT\":\"Šiuo metu\",\"ro-RO\":\"În prezent\",\"sk-SK\":\"Aktuálne\",\"sl-SI\":\"Trenutno\",\"sv-SE\":\"Nuvarande\",\"th-TH\":\"ในขณะนี้\",\"tr-TR\":\"Şu an\",\"uk-UA\":\"В даний час\",\"vi-VN\":\"Hiện tại\",\"zh-CN\":\"当前\",\"zh-TW\":\"目前狀態\"},\"State\":{\"en-US\":\"State\",\"de-DE\":\"Zustand\",\"nl-NL\":\"Toestand\",\"da-DK\":\"Tilstand\",\"es-ES\":\"Estado\",\"fr-FR\":\"État\",\"it-IT\":\"Stato\",\"ru-RU\":\"Состояние\",\"nb-NO\":\"Tilstand\",\"nn-NO\":\"Tilstand\",\"pl-PL\":\"Stan\",\"pt-PT\":\"Estado\",\"af-ZA\":\"\",\"ar-SY\":\"\",\"bg-BG\":\"\",\"ca-ES\":\"Estat\",\"cs-CZ\":\"Stav\",\"el-GR\":\"Κατάσταση\",\"et-EE\":\"Olek\",\"fa-IR\":\"\",\"fi-FI\":\"Tila\",\"he-IL\":\"מצב\",\"hr-xx\":\"\",\"hu-HU\":\"Állapot\",\"hy-AM\":\"\",\"id-ID\":\"Status\",\"is-IS\":\"Staða\",\"lb-xx\":\"\",\"lt-LT\":\"\",\"ro-RO\":\"\",\"sk-SK\":\"Stav\",\"sl-SI\":\"Stanje\",\"sv-SE\":\"Tillstånd\",\"th-TH\":\"สถานะ\",\"tr-TR\":\"Durum\",\"uk-UA\":\"Стан\",\"vi-VN\":\"\",\"zh-CN\":\"状态\",\"zh-TW\":\"狀態\"},\"Action\":{\"en-US\":\"Operation\",\"de-DE\":\"Aktion\",\"nl-NL\":\"Werking\",\"da-DK\":\"Drifttype\",\"es-ES\":\"Modo\",\"fr-FR\":\"Opération\",\"it-IT\":\"Operazione\",\"ru-RU\":\"Режим работы\",\"nb-NO\":\"Operasjon\",\"nn-NO\":\"Operasjon\",\"pl-PL\":\"Tryb pracy\",\"pt-PT\":\"Operação\",\"af-ZA\":\"Operasie\",\"ar-SY\":\"الوضع\",\"bg-BG\":\"Режим\",\"ca-ES\":\"Funcionament\",\"cs-CZ\":\"Provoz\",\"el-GR\":\"Λειτουργία\",\"et-EE\":\"Töörežiim\",\"fa-IR\":\"عملیات\",\"fi-FI\":\"Toiminto\",\"he-IL\":\"פעולה\",\"hr-xx\":\"operacija\",\"hu-HU\":\"Működés\",\"hy-AM\":\"Գործողություն\",\"id-ID\":\"Operasi\",\"is-IS\":\"Aðgerð\",\"lb-xx\":\"Aktioun\",\"lt-LT\":\"Operacija\",\"ro-RO\":\"Operație\",\"sk-SK\":\"Prevádzka\",\"sl-SI\":\"Delovanje\",\"sv-SE\":\"Driftläge\",\"th-TH\":\"การทำงาน\",\"tr-.
      ang tersedia\",\"is-IS\":\"Laus útgáfa\",\"lb-xx\":\"Verfügbar Versioun\",\"lt-LT\":\"Galima versija\",\"ro-RO\":\"Versiune disponibilă\",\"sk-SK\":\"Dostupná verzia\",\"sl-SI\":\"Razpoložljiva različica\",\"sv-SE\":\"Tillgänglig version\",\"th-TH\":\"รุ่นที่มีจำหน่าย\",\"tr-TR\":\"Mevcut sürüm\",\"uk-UA\":\"Доступна версія\",\"vi-VN\":\"Phiên bản có sẵn\",\"zh-CN\":\"可用版本\",\"zh-TW\":\"可用版本\"},\"update_tasmota\":{\"en-US\":\"Update Tasmota\",\"de-DE\":\"Tasmota Update\"},\"berry_driver\":{\"en-US\":\"Berry Driver\",\"de-DE\":\"Berry-Driver\",\"nl-NL\":\"Berry Driver\",\"da-DK\":\"Berry Driver\",\"es-ES\":\"Berry Driver\",\"fr-FR\":\"Berry Driver\",\"it-IT\":\"Berry Driver\",\"ru-RU\":\"Berry Driver\",\"nb-NO\":\"Berry Driver\",\"nn-NO\":\"Berry Driver\",\"pl-PL\":\"Berry Driver\",\"pt-PT\":\"Berry Driver\",\"af-ZA\":\"Berry Driver\",\"ar-SY\":\"Berry Driver\",\"bg-BG\":\"Berry Driver\",\"ca-ES\":\"Berry Driver\",\"cs-CZ\":\"Berry Driver\",\"el-GR\":\"Berry Driver\",\"et-EE\":\"Berry Driver\",\"fa-IR\":\"Berry Driver\",\"fi-FI\":\"Berry Driver\",\"he-IL\":\"Berry Driver\",\"hr-xx\":\"Berry Driver\",\"hu-HU\":\"Berry Driver\",\"hy-AM\":\"Berry Driver\",\"id-ID\":\"Berry Driver\",\"is-IS\":\"Berry Driver\",\"lb-xx\":\"Berry Driver\",\"lt-LT\":\"Berry Driver\",\"ro-RO\":\"Berry Driver\",\"sk-SK\":\"Berry Driver\",\"sl-SI\":\"Berry Driver\",\"sv-SE\":\"Berry Driver\",\"th-TH\":\"Berry Driver\",\"tr-TR\":\"Berry Driver\",\"uk-UA\":\"Berry Driver\",\"vi-VN\":\"Berry Driver\",\"zh-CN\":\"Berry Driver\",\"zh-TW\":\"Berry Driver\"},\"update_berry_driver\":{\"en-US\":\"Update Berry Driver\",\"de-DE\":\"Berry-Driver Update\"},\"nextion_tft\":{\"en-US\":\"Nextion TFT\",\"de-DE\":\"Nextion-TFT\",\"nl-NL\":\"Nextion TFT\",\"da-DK\":\"Nextion TFT\",\"es-ES\":\"Nextion TFT\",\"fr-FR\":\"Nextion TFT\",\"it-IT\":\"Nextion TFT\",\"ru-RU\":\"Nextion TFT\",\"nb-NO\":\"Nextion TFT\",\"nn-NO\":\"Nextion TFT\",\"pl-PL\":\"Nextion TFT\",\"pt-PT\":\"Nextion TFT\",\"af-ZA\":\"Nextion TFT\",\"ar-SY\":\"Nextion TFT\",\"bg-BG\":\"Nextion TFT\",\"ca-ES\":\"Nextion TFT\",\"cs-CZ\":\"Nextion TFT\",\"el-GR\":\"Nextion TFT\",\"et-EE\":\"Nextion TFT\",\"fa-IR\":\"Nextion TFT\",\"fi-FI\":\"Nextion TFT\",\"he-IL\":\"Nextion TFT\",\"hr-xx\":\"Nextion TFT\",\"hu-HU\":\"Nextion TFT\",\"hy-AM\":\"Nextion TFT\",\"id-ID\":\"Nextion TFT\",\"is-IS\":\"Nextion TFT\",\"lb-xx\":\"Nextion TFT\",\"lt-LT\":\"Nextion TFT\",\"ro-RO\":\"Nextion TFT\",\"sk-SK\":\"Nextion TFT\",\"sl-SI\":\"Nextion TFT\",\"sv-SE\":\"Nextion TFT\",\"th-TH\":\"Nextion TFT\",\"tr-TR\":\"Nextion TFT\",\"uk-UA\":\"Nextion TFT\",\"vi-VN\":\"Nextion TFT\",\"zh-CN\":\"Nextion TFT\",\"zh-TW\":\"Nextion TFT\"},\"nspanel_model\":{\"en-US\":\"NSPanel Model\",\"de-DE\":\"NSPanel Version\"},\"desired_release\":{\"en-US\":\"Desired Version\",\"de-DE\":\"Benötigte Version\",\"nl-NL\":\"Vereiste versie\",\"da-DK\":\"Påkrævet version\",\"es-ES\":\"Versión requerida\",\"fr-FR\":\"Version requise\",\"it-IT\":\"Versione richiesta\",\"ru-RU\":\"Требуемая версия\",\"nb-NO\":\"Nødvendig versjon\",\"nn-NO\":\"Nødvendig versjon\",\"pl-PL\":\"Wymagana wersja\",\"pt-PT\":\"Versão necessária\",\"af-ZA\":\"Vereiste weergawe\",\"ar-SY\":\"النسخة المطلوبة\",\"bg-BG\":\"Задължителна версия\",\"ca-ES\":\"Versió obligatòria\",\"cs-CZ\":\"Požadovaná verze\",\"el-GR\":\"Απαιτούμενη έκδοση\",\"et-EE\":\"Nõutav versioon\",\"fa-IR\":\"نسخه مورد نیاز\",\"fi-FI\":\"Vaadittu versio\",\"he-IL\":\"גרסה נדרשת\",\"hr-xx\":\"Potrebna verzija\",\"hu-HU\":\"Kötelező verzió\",\"hy-AM\":\"Պահանջվող տարբերակ\",\"id-ID\":\"Versi yang diperlukan\",\"is-IS\":\"Áskilin útgáfa\",\"lb-xx\":\"Néideg Versioun\",\"lt-LT\":\"Reikalinga versija\",\"ro-RO\":\"Versiune obligatorie\",\"sk-SK\":\"Požadovaná verzia\",\"sl-SI\":\"Zahtevana različica\",\"sv-SE\":\"Obligatorisk version\",\"th-TH\":\"เวอร์ชันที่ต้องการ\",\"tr-TR\":\"Gerekli sürüm\",\"uk-UA\":\"Потрібна версія\",\"vi-VN\":\"Phiên bản bắt buộc\",\"zh-CN\":\"所需版本\",\"zh-TW\":\"所需版本\"},\"update_nextion_tft\":{\"en-US\":\"Update Nextion TFT\",\"de-DE\":\"Nextion TFT Update\"},\"update_message\":{\"en-US\":\"Update Notifications\",\"de-DE\":\"Update Mitteilungen\"},\"scriptname\":{\"en-US\":\"Script name\",\"de-DE\":\"Skriptname\"},\"hiddencards_offon\":{\"en-US\":\"hidden Cards (on/off)\",\"de-DE\":\"ausgeblendete Seiten (an/aus)\"}}","ack":true,"ts":1726938298787,"q":0,"from":"system.adapter.javascript.0","lc":1726914394140,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.793	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.SSId, state={"val":"my_Crib","ack":true,"ts":1726938298793,"q":0,"from":"system.adapter.javascript.0","lc":1662053557155,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.800	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.BSSId, state={"val":"2C:91:AB:15:C7:62","ack":true,"ts":1726938298800,"q":0,"from":"system.adapter.javascript.0","lc":1726480800398,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.815	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.Channel, state={"val":11,"ack":true,"ts":1726938298815,"q":0,"from":"system.adapter.javascript.0","lc":1726308000368,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.817	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.Mode, state={"val":"HT20","ack":true,"ts":1726938298817,"q":0,"from":"system.adapter.javascript.0","lc":1715965320115,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.818	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.RSSI, state={"val":92,"ack":true,"ts":1726938298818,"q":0,"from":"system.adapter.javascript.0","lc":1726938298818,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.820	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.Signal, state={"val":-54,"ack":true,"ts":1726938298820,"q":0,"from":"system.adapter.javascript.0","lc":1726938298820,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.822	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Product, state={"val":"SONOFF NSPanel","ack":true,"ts":1726938298822,"q":0,"from":"system.adapter.javascript.0","lc":1695149200537,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.824	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Uptime, obj={"type":"channel","common":{"role":"info","name":"Uptime"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.825	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Version, obj={"type":"channel","common":{"role":"info","name":"Version"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.825	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Hardware, obj={"type":"channel","common":{"role":"info","name":"Hardware"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.826	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.AP, obj={"type":"channel","common":{"role":"info","name":"AP"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.827	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.SSId, obj={"type":"channel","common":{"role":"info","name":"SSId"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.827	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.BSSId, obj={"type":"channel","common":{"role":"info","name":"BSSId"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.828	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.Channel, obj={"type":"channel","common":{"role":"info","name":"Channel"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.828	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.Mode, obj={"type":"channel","common":{"role":"info","name":"Mode"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.829	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.RSSI, obj={"type":"channel","common":{"role":"info","name":"RSSI"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.829	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.Signal, obj={"type":"channel","common":{"role":"info","name":"Signal"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.830	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Product, obj={"type":"channel","common":{"role":"info","name":"Product"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.901	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota_Firmware.currentVersion, state={"val":"14.2.0","ack":true,"ts":1726938298901,"q":0,"from":"system.adapter.javascript.0","lc":1723984878935,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.904	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Uptime, state={"val":"6T04:32:00","ack":true,"ts":1726938298904,"q":0,"from":"system.adapter.javascript.0","lc":1726938298904,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.907	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Version, state={"val":"14.2.0(release-tasmota32)","ack":true,"ts":1726938298907,"q":0,"from":"system.adapter.javascript.0","lc":1723984878942,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.914	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Hardware, state={"val":"ESP32-D0WD-V3\r\nv3.0","ack":true,"ts":1726938298914,"q":0,"from":"system.adapter.javascript.0","lc":1697813125495,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.916	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.AP, state={"val":1,"ack":true,"ts":1726938298916,"q":0,"from":"system.adapter.javascript.0","lc":1662053557151,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.924	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.SSId, state={"val":"my_Crib","ack":true,"ts":1726938298924,"q":0,"from":"system.adapter.javascript.0","lc":1662053557155,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.928	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.BSSId, state={"val":"2C:91:AB:15:C7:62","ack":true,"ts":1726938298928,"q":0,"from":"system.adapter.javascript.0","lc":1726480800398,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.934	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.Channel, state={"val":11,"ack":true,"ts":1726938298934,"q":0,"from":"system.adapter.javascript.0","lc":1726308000368,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.935	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.IoBroker.ScriptName, obj={"type":"channel","common":{"role":"info","name":"Scriptname"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.937	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.Mode, state={"val":"HT20","ack":true,"ts":1726938298937,"q":0,"from":"system.adapter.javascript.0","lc":1715965320115,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.941	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.RSSI, state={"val":92,"ack":true,"ts":1726938298940,"q":0,"from":"system.adapter.javascript.0","lc":1726938298940,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.953	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Wifi.Signal, state={"val":-54,"ack":true,"ts":1726938298953,"q":0,"from":"system.adapter.javascript.0","lc":1726938298953,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.963	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota.Product, state={"val":"SONOFF NSPanel","ack":true,"ts":1726938298963,"q":0,"from":"system.adapter.javascript.0","lc":1695149200537,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.970	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Uptime, obj={"type":"channel","common":{"role":"info","name":"Uptime"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.971	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Version, obj={"type":"channel","common":{"role":"info","name":"Version"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.971	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Hardware, obj={"type":"channel","common":{"role":"info","name":"Hardware"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.972	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.AP, obj={"type":"channel","common":{"role":"info","name":"AP"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.972	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.SSId, obj={"type":"channel","common":{"role":"info","name":"SSId"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.972	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.BSSId, obj={"type":"channel","common":{"role":"info","name":"BSSId"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.973	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.Channel, obj={"type":"channel","common":{"role":"info","name":"Channel"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.973	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.Mode, obj={"type":"channel","common":{"role":"info","name":"Mode"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.973	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.RSSI, obj={"type":"channel","common":{"role":"info","name":"RSSI"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.973	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Wifi.Signal, obj={"type":"channel","common":{"role":"info","name":"Signal"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:58.973	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota.Product, obj={"type":"channel","common":{"role":"info","name":"Product"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.042	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.ScreensaverInfo.entityChangeTime, obj={"type":"channel","common":{"role":"slider","name":"entityChangeTime"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.076	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Config.Screensaver.autoWeatherColorScreensaverLayout, obj={"type":"channel","common":{"role":"socket","name":"alternativeScreensaverLayout"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.077	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.NSPanel_ipAddress, state={"val":"192.168.178.70","ack":true,"ts":1726938299077,"q":0,"from":"system.adapter.javascript.0","lc":1662053556518,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.078	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.NSPanel_ipAddress, state={"val":"192.168.178.70","ack":true,"ts":1726938299077,"q":0,"from":"system.adapter.javascript.0","lc":1662053556518,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.080	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.ipAddress, obj={"type":"channel","common":{"role":"info","name":"ipAddress"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.081	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.ipAddress, obj={"type":"channel","common":{"role":"info","name":"ipAddress"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.082	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.IoBroker.ScriptVersion, state={"val":"v4.4.0.5","ack":true,"ts":1726938299082,"q":0,"from":"system.adapter.javascript.0","lc":1726914393932,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.355	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Display_Firmware.onlineVersion, state={"val":"53","ack":true,"ts":1726938299355,"q":0,"from":"system.adapter.javascript.0","lc":1694865600261,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.358	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Display_Firmware.onlineVersion, state={"val":"53","ack":true,"ts":1726938299358,"q":0,"from":"system.adapter.javascript.0","lc":1694865600261,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.376	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Berry_Driver.currentVersion, state={"val":null,"ts":1726938299376,"q":0,"from":"system.adapter.javascript.0","lc":1726938299376,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.379	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Berry_Driver.currentVersion, state={"val":"9","ack":true,"ts":1726938299379,"q":0,"from":"system.adapter.javascript.0","lc":1726938299379,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.388	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Display.BerryDriver, obj={"type":"channel","common":{"role":"info","name":"Berry Driver"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.401	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Berry_Driver.currentVersion, state={"val":null,"ts":1726938299401,"q":0,"from":"system.adapter.javascript.0","lc":1726938299401,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.407	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Berry_Driver.currentVersion, state={"val":"9","ack":true,"ts":1726938299407,"q":0,"from":"system.adapter.javascript.0","lc":1726938299407,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.408	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Config.Screensaver.timeoutScreensaver, obj={"type":"channel","common":{"role":"slider","name":"timeoutScreensaver"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.418	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Display.BerryDriver, obj={"type":"channel","common":{"role":"info","name":"Berry Driver"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.425	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Berry_Driver.onlineVersion, state={"val":null,"ts":1726938299425,"q":0,"from":"system.adapter.javascript.0","lc":1726938299425,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.431	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Berry_Driver.onlineVersion, state={"val":null,"ts":1726938299431,"q":0,"from":"system.adapter.javascript.0","lc":1726938299431,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.434	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Berry_Driver.onlineVersion, obj={"type":"channel","common":{"role":"info","name":"onlineVersion"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.435	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Berry_Driver.onlineVersion, obj={"type":"channel","common":{"role":"info","name":"onlineVersion"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.454	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.TFT_Firmware.onlineVersion, state={"val":"4.4.0","ack":true,"ts":1726938299454,"q":0,"from":"system.adapter.javascript.0","lc":1711879200389,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.456	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.TFT_Firmware.onlineVersion, state={"val":"4.4.0","ack":true,"ts":1726938299456,"q":0,"from":"system.adapter.javascript.0","lc":1711879200389,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.559	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Berry_Driver.onlineVersion, state={"val":"9","ack":true,"ts":1726938299559,"q":0,"from":"system.adapter.javascript.0","lc":1726938299559,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.560	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Berry_Driver.onlineVersion, state={"val":"9","ack":true,"ts":1726938299560,"q":0,"from":"system.adapter.javascript.0","lc":1726938299560,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.634	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota_Firmware.onlineVersion, obj={"type":"channel","common":{"role":"info","name":"onlineVersion"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.635	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Tasmota_Firmware.onlineVersion, obj={"type":"channel","common":{"role":"info","name":"onlineVersion"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.681	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Config.Screensaver.screenSaverDoubleClick, obj={"type":"channel","common":{"role":"socket","name":"screenSaverDoubleClick"},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.701	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota_Firmware.onlineVersion, state={"val":"14.2.0","ack":true,"ts":1726938299701,"q":0,"from":"system.adapter.javascript.0","lc":1723716000728,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.713	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Tasmota_Firmware.onlineVersion, state={"val":"14.2.0","ack":true,"ts":1726938299713,"q":0,"from":"system.adapter.javascript.0","lc":1723716000728,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:04:59.778	[info ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: hidden Cards disabled
      21.9.2024, 19:05:00.001	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=mqtt.0.cmnd.nspanel_0C007C.CustomSend, state={"val":"time~19:05","ack":false,"ts":1726938300001,"q":0,"from":"system.adapter.javascript.0","lc":1726938300001,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:05:28.345	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.ScreensaverInfo.weatherForecast, state={"val":true,"ack":false,"ts":1726938328345,"q":0,"from":"system.adapter.javascript.0","lc":1726938328345,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:05:50.997	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Sensor.Time, state={"val":"2024-09-21\r\n18:05:50","ack":true,"ts":1726938350997,"q":0,"from":"system.adapter.javascript.0","lc":1726938350997,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:05:51.000	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Sensor.TempUnit, state={"val":"°C","ack":true,"ts":1726938351000,"q":0,"from":"system.adapter.javascript.0","lc":1662053653619,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:05:51.001	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setForeignState(id=0_userdata.0.NSPanel.1.Sensor.ANALOG.Temperature, state={"val":27.7,"ack":true,"ts":1726938351001,"q":0,"from":"system.adapter.javascript.0","lc":1726938051022,"c":"script.js.NSPanel_v4_4_0_5"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:05:51.003	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Sensor.ANALOG.Temperature, obj={"type":"channel","common":{"role":"info","name":""},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:05:51.004	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Sensor.ESP32.Temperature, obj={"type":"channel","common":{"role":"info","name":""},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:05:51.005	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Sensor.Time, obj={"type":"channel","common":{"role":"info","name":""},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      21.9.2024, 19:05:51.005	[warn ]: javascript.0 (2118) script.js.NSPanel_v4_4_0_5: setObject(id=alias.0.NSPanel.1.Sensor.TempUnit, obj={"type":"channel","common":{"role":"info","name":""},"native":{}}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
      
      T Offline
      T Offline
      TT-Tom
      schrieb am zuletzt editiert von TT-Tom
      #6452

      @gre4t0ne Das Script hat eine eigene script-Debug-Funktion. Einschalten über das Panel im Servicemenü unter Einstellungen/Script oder den Datenpunkt 0_userdata.0.NSPanel.1.Config.ScripgtDebugStatus auf true setzen. Damit bekommen wir die Daten, die wir fürs erste brauchen.

      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

      L 1 Antwort Letzte Antwort
      1
      • T TT-Tom

        @gre4t0ne Das Script hat eine eigene script-Debug-Funktion. Einschalten über das Panel im Servicemenü unter Einstellungen/Script oder den Datenpunkt 0_userdata.0.NSPanel.1.Config.ScripgtDebugStatus auf true setzen. Damit bekommen wir die Daten, die wir fürs erste brauchen.

        L Offline
        L Offline
        lustig29
        schrieb am zuletzt editiert von
        #6453

        Ich habe schon mehrere Videos gesehen, in dem auf einem Shelly Wall Display, Home Assitant läuft.
        Wäre denn nicht sowas ähnliches auf dem Ns Panel mit Iobroker möglich?

        ArmilarA 1 Antwort Letzte Antwort
        0
        • L lustig29

          Ich habe schon mehrere Videos gesehen, in dem auf einem Shelly Wall Display, Home Assitant läuft.
          Wäre denn nicht sowas ähnliches auf dem Ns Panel mit Iobroker möglich?

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

          @lustig29

          Kann mir da nun nichts drunter vorstellen... Du meinst per Web-Seite? Oder HA auf dem NSPanel?

          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.

          L 1 Antwort Letzte Antwort
          0
          • ArmilarA Armilar

            @lustig29

            Kann mir da nun nichts drunter vorstellen... Du meinst per Web-Seite? Oder HA auf dem NSPanel?

            L Offline
            L Offline
            lustig29
            schrieb am zuletzt editiert von
            #6455

            @armilar

            link text

            ArmilarA 1 Antwort Letzte Antwort
            2
            • L lustig29

              @armilar

              link text

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

              @lustig29

              Ah okay - HA-Dashboard - verstanden :grin:

              geht nicht mit dem Sonoff NSPanel - aber mit dem Sonoff NSPanel Pro. :blush: (andere Baustelle)

              Sowohl das NSPanel Pro als auch das Shelly Wall Display arbeiten nicht unter ESP32/Tasmota mit Nextion, sondern sind ganz normale Android-Geräte.

              Beim Shelly Wall Display, funktioniert das ohne Jailbreak offensichtlich nur mit HA. Auf dem NSPanel Pro kannst du mit den bekannten Hacks z.B. eine ioBroker VIS als Webseite laden...

              Preislich liegen Shelly Wall Display und NSPanel Pro nah zusammen - aber immer noch ca. 60€ über dem NSPanel (habe die meisten bei ca. 40€ geschossen). Daher bleibt das NSPanel wohl die günstigste komplett Visu für das komplette Smart Home ;-)

              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.

              L K haus-automatisierungH 3 Antworten Letzte Antwort
              1
              • ArmilarA Armilar

                @lustig29

                Ah okay - HA-Dashboard - verstanden :grin:

                geht nicht mit dem Sonoff NSPanel - aber mit dem Sonoff NSPanel Pro. :blush: (andere Baustelle)

                Sowohl das NSPanel Pro als auch das Shelly Wall Display arbeiten nicht unter ESP32/Tasmota mit Nextion, sondern sind ganz normale Android-Geräte.

                Beim Shelly Wall Display, funktioniert das ohne Jailbreak offensichtlich nur mit HA. Auf dem NSPanel Pro kannst du mit den bekannten Hacks z.B. eine ioBroker VIS als Webseite laden...

                Preislich liegen Shelly Wall Display und NSPanel Pro nah zusammen - aber immer noch ca. 60€ über dem NSPanel (habe die meisten bei ca. 40€ geschossen). Daher bleibt das NSPanel wohl die günstigste komplett Visu für das komplette Smart Home ;-)

                L Offline
                L Offline
                lustig29
                schrieb am zuletzt editiert von
                #6457

                @armilar
                Ah ok.
                Danke für die ausgiebige Erklärung. Aber es ist auch eine einfacher Programmierung des Ns Panels geplant, bzw. in Arbeit, oder?

                1 Antwort Letzte Antwort
                0
                • T Offline
                  T Offline
                  TT-Tom
                  schrieb am zuletzt editiert von
                  #6458

                  @lustig29
                  Ja es ist ein Adapter in Planung. Der über die Admin Oberfläche konfiguriert wird. Die HMI ist noch in der Planungsphase.

                  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

                  W 1 Antwort Letzte Antwort
                  1
                  • T TT-Tom

                    @lustig29
                    Ja es ist ein Adapter in Planung. Der über die Admin Oberfläche konfiguriert wird. Die HMI ist noch in der Planungsphase.

                    W Offline
                    W Offline
                    wolwin
                    schrieb am zuletzt editiert von
                    #6459

                    Zuerst einmal: vielen Dank für eure Arbeit - super!!

                    Trotzdem brauche ich mal Unterstützung ...

                    Auf dem NSPanel ist Tasmota 13.4 und die Display Firmware nspanel-v4.4.0.tft installiert (mit Tasmota 14.2 konnte v4.4.0 nicht aufgespielt werden). Als MQTT-Server wird ein externer Mosquitto Server benutzt. Unter HomeAssistant konnte das NSPanel erfolgreich in Betrieb genommen werden - läuft. Da ich einen Vergleich mit dem ioBroker wollte, habe ich auch hier die Installation mit dem DEV-Script v4.4.0.6 (wg. MQTT-Client) durchgeführt.

                    Hier passiert der erste Fehler: der automatische Updater im Script knallt bei der Erstinstallation des NSPanels im ioBroker den Display Firmware 3.3.1 auf das NSPanel, obwohl schon die benötigte 4.4.0 auf dem Gerät war. Ergebnis: um 90 Grad gedrehte Fehlermeldung im Display. Mit dem Befehl

                    FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v4.4.0.tft
                    

                    in der Tasmota Konsole kann das wieder bereinigt werden ...

                    Als Reminder würde ich einen Feature Request vorschlagen:

                    • Auto-Config Flags für das Unterdücken eines Auto-Updates in den Funktionen
                      • update_tasmota_firmware();
                      • update_berry_driver_version();
                      • update_tft_firmware();
                        jeweils im vor dem try-Bereich

                    Dann wird das Script erneut gestartet, aber es wird nichts über den MQTT-Server Richtung NSPanel geschickt. 0_userdate und alias sind vom Script richtig erzeugt worden, auch der CustomSend Eintrag ist vorhanden. Die MQTT publish Geräte-Einstellung ist für CustomSend, GetDriverVersion und POWER gesetzt. Stattdessen wird alle 6 Sekunden die Init-Schleife durchlaufen (CustomSend = Null)

                    26.9.2024, 19:00:30.124	[info ]: javascript.0 (600) Compiling TypeScript source script.js.common.NSPanel.NSPanelTs_073
                    26.9.2024, 19:00:30.500	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: source code did not change, using cached compilation result...
                    26.9.2024, 19:00:30.678	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: setObjects enabled - create Alias Channels possible
                    26.9.2024, 19:00:30.679	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: weather alias for accuweather.0. already exists
                    26.9.2024, 19:00:30.710	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: registered 40 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                    26.9.2024, 19:00:30.974	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
                    26.9.2024, 19:00:30.974	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
                    26.9.2024, 19:00:31.081	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Debug mode disabled
                    26.9.2024, 19:00:32.060	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: hidden Cards disabled
                    26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Start MQTT-Port-Check -------------------------------------
                    26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- admin.0                   - 8081
                    26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.0                  - 0
                    26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.1                  - 0
                    26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.2                  - 0
                    26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.3                  - 0
                    26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- mqtt-client.0             - 1883
                    26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- simple-api.0              - 8087
                    26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- web.0                     - 8082
                    26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: - MQTT-Port-Check OK: Instance of Adapter: mqtt-client.0 is running on Port:1883
                    26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: End MQTT-Port-Check ---------------------------------------
                    26.9.2024, 19:00:34.808	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
                    26.9.2024, 19:00:34.808	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
                    26.9.2024, 19:00:40.797	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
                    26.9.2024, 19:00:40.797	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
                    
                    

                    Bei der Jscript Version 8.8.3 sind die NPM Modulen axios, moment, moment-parseformat und dayjs angegeben.

                    Was habe ich übersehen - wo ist der Fehler?

                    ArmilarA 1 Antwort Letzte Antwort
                    0
                    • ArmilarA Armilar

                      @lustig29

                      Ah okay - HA-Dashboard - verstanden :grin:

                      geht nicht mit dem Sonoff NSPanel - aber mit dem Sonoff NSPanel Pro. :blush: (andere Baustelle)

                      Sowohl das NSPanel Pro als auch das Shelly Wall Display arbeiten nicht unter ESP32/Tasmota mit Nextion, sondern sind ganz normale Android-Geräte.

                      Beim Shelly Wall Display, funktioniert das ohne Jailbreak offensichtlich nur mit HA. Auf dem NSPanel Pro kannst du mit den bekannten Hacks z.B. eine ioBroker VIS als Webseite laden...

                      Preislich liegen Shelly Wall Display und NSPanel Pro nah zusammen - aber immer noch ca. 60€ über dem NSPanel (habe die meisten bei ca. 40€ geschossen). Daher bleibt das NSPanel wohl die günstigste komplett Visu für das komplette Smart Home ;-)

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

                      @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                      @lustig29

                      Beim Shelly Wall Display, funktioniert das ohne Jailbreak offensichtlich nur mit HA. Auf dem NSPanel Pro kannst du mit den bekannten Hacks z.B. eine ioBroker VIS als Webseite laden...

                      Klaro, Shelly hat auf der IFA ja bekannt gegeben, dass sie mit HA nun auch kooperieren. Klingt für mich nur logisch, dass man dann die App nativ auf dem Gerät installieren/nutzen kann.

                      LG

                      NSPanel Dokumentation im GitHub Wiki:

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

                      1 Antwort Letzte Antwort
                      0
                      • W wolwin

                        Zuerst einmal: vielen Dank für eure Arbeit - super!!

                        Trotzdem brauche ich mal Unterstützung ...

                        Auf dem NSPanel ist Tasmota 13.4 und die Display Firmware nspanel-v4.4.0.tft installiert (mit Tasmota 14.2 konnte v4.4.0 nicht aufgespielt werden). Als MQTT-Server wird ein externer Mosquitto Server benutzt. Unter HomeAssistant konnte das NSPanel erfolgreich in Betrieb genommen werden - läuft. Da ich einen Vergleich mit dem ioBroker wollte, habe ich auch hier die Installation mit dem DEV-Script v4.4.0.6 (wg. MQTT-Client) durchgeführt.

                        Hier passiert der erste Fehler: der automatische Updater im Script knallt bei der Erstinstallation des NSPanels im ioBroker den Display Firmware 3.3.1 auf das NSPanel, obwohl schon die benötigte 4.4.0 auf dem Gerät war. Ergebnis: um 90 Grad gedrehte Fehlermeldung im Display. Mit dem Befehl

                        FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v4.4.0.tft
                        

                        in der Tasmota Konsole kann das wieder bereinigt werden ...

                        Als Reminder würde ich einen Feature Request vorschlagen:

                        • Auto-Config Flags für das Unterdücken eines Auto-Updates in den Funktionen
                          • update_tasmota_firmware();
                          • update_berry_driver_version();
                          • update_tft_firmware();
                            jeweils im vor dem try-Bereich

                        Dann wird das Script erneut gestartet, aber es wird nichts über den MQTT-Server Richtung NSPanel geschickt. 0_userdate und alias sind vom Script richtig erzeugt worden, auch der CustomSend Eintrag ist vorhanden. Die MQTT publish Geräte-Einstellung ist für CustomSend, GetDriverVersion und POWER gesetzt. Stattdessen wird alle 6 Sekunden die Init-Schleife durchlaufen (CustomSend = Null)

                        26.9.2024, 19:00:30.124	[info ]: javascript.0 (600) Compiling TypeScript source script.js.common.NSPanel.NSPanelTs_073
                        26.9.2024, 19:00:30.500	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: source code did not change, using cached compilation result...
                        26.9.2024, 19:00:30.678	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: setObjects enabled - create Alias Channels possible
                        26.9.2024, 19:00:30.679	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: weather alias for accuweather.0. already exists
                        26.9.2024, 19:00:30.710	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: registered 40 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                        26.9.2024, 19:00:30.974	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
                        26.9.2024, 19:00:30.974	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
                        26.9.2024, 19:00:31.081	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Debug mode disabled
                        26.9.2024, 19:00:32.060	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: hidden Cards disabled
                        26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Start MQTT-Port-Check -------------------------------------
                        26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- admin.0                   - 8081
                        26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.0                  - 0
                        26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.1                  - 0
                        26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.2                  - 0
                        26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.3                  - 0
                        26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- mqtt-client.0             - 1883
                        26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- simple-api.0              - 8087
                        26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- web.0                     - 8082
                        26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: - MQTT-Port-Check OK: Instance of Adapter: mqtt-client.0 is running on Port:1883
                        26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: End MQTT-Port-Check ---------------------------------------
                        26.9.2024, 19:00:34.808	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
                        26.9.2024, 19:00:34.808	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
                        26.9.2024, 19:00:40.797	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
                        26.9.2024, 19:00:40.797	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
                        
                        

                        Bei der Jscript Version 8.8.3 sind die NPM Modulen axios, moment, moment-parseformat und dayjs angegeben.

                        Was habe ich übersehen - wo ist der Fehler?

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

                        @wolwin

                        Zum MQTT Thema zu einem externen Mosquitto-Server kann die bestimmt @TT-Tom etwas mehr erzählen. Ich denke der Weg über den mqtt.0 wäre für die bidirektionale Kommunikation geeigneter als der mqtt-client. Habe letztens auch eine Kombination aus beiden gesehen:

                        https://forum.iobroker.net/topic/76996/mqtt-broker-client-sendet-nur-beim-start?page=1

                        eventuell hilft es dir weiter...


                        Zum Thema Auto-Updates:

                        Es gibt bereits einen Datenpunkt der per Default mit false angelegt wird und für Auto-Updates zuständig ist.

                        Ich kann den Fehler weder reproduzieren, noch gibt es einen Hinweis auf eine TFT-Version 3.3.1 in den Skripten v4.4.X

                        Kann es sein, dass du das NSPanel auch vorher schon mit einer Version 3.3.1 im ioBroker am Laufen hattest und der Ordner des NSPanels noch vorhanden war? Ansonsten könnte ich mir das Verhalten nicht erklä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.

                        W 1 Antwort Letzte Antwort
                        0
                        • ArmilarA Armilar

                          @wolwin

                          Zum MQTT Thema zu einem externen Mosquitto-Server kann die bestimmt @TT-Tom etwas mehr erzählen. Ich denke der Weg über den mqtt.0 wäre für die bidirektionale Kommunikation geeigneter als der mqtt-client. Habe letztens auch eine Kombination aus beiden gesehen:

                          https://forum.iobroker.net/topic/76996/mqtt-broker-client-sendet-nur-beim-start?page=1

                          eventuell hilft es dir weiter...


                          Zum Thema Auto-Updates:

                          Es gibt bereits einen Datenpunkt der per Default mit false angelegt wird und für Auto-Updates zuständig ist.

                          Ich kann den Fehler weder reproduzieren, noch gibt es einen Hinweis auf eine TFT-Version 3.3.1 in den Skripten v4.4.X

                          Kann es sein, dass du das NSPanel auch vorher schon mit einer Version 3.3.1 im ioBroker am Laufen hattest und der Ordner des NSPanels noch vorhanden war? Ansonsten könnte ich mir das Verhalten nicht erklären.

                          W Offline
                          W Offline
                          wolwin
                          schrieb am zuletzt editiert von wolwin
                          #6462

                          @armilar
                          Danke für die schnelle Antwort!

                          Bei dem Update-Problem waren die 0_userdate und alias Einträge vorher gelöscht worden - war für mich reproduzierbar. Ich bin davon ausgegangen, dass sich der Updater eine 'falsche' Default Datei holt ...
                          Werde morgen den Test-ioBroker (Proxmox) mal zurücksetzen und das ganze nochmal verifizieren.
                          Kannst Du mir sagen, bei welcher Zeile der zu sendende MQTT Code für das Versenden bereitsteht ... dann brauche ich nicht den gesamten Code durchsehen - ich will ein bischen debuggen. Danke!

                          ArmilarA 1 Antwort Letzte Antwort
                          0
                          • W wolwin

                            @armilar
                            Danke für die schnelle Antwort!

                            Bei dem Update-Problem waren die 0_userdate und alias Einträge vorher gelöscht worden - war für mich reproduzierbar. Ich bin davon ausgegangen, dass sich der Updater eine 'falsche' Default Datei holt ...
                            Werde morgen den Test-ioBroker (Proxmox) mal zurücksetzen und das ganze nochmal verifizieren.
                            Kannst Du mir sagen, bei welcher Zeile der zu sendende MQTT Code für das Versenden bereitsteht ... dann brauche ich nicht den gesamten Code durchsehen - ich will ein bischen debuggen. Danke!

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

                            @wolwin

                            Für das NSPanel in:

                            ffef341e-cb9b-4890-99a3-01a8311fbe4a-image.png

                            Dein Problem dürfte aber ein paar Zeilen drunter sein, dass der startup nicht durchgeht...

                            7a3c5d09-a168-4171-b46f-6629884424c6-image.png

                            Das wäre also das, was über den tele.RESULT vom NSPanel kommt.

                            Bestenfalls mal den mqtt.0 nutzen. Irgendetwas stimmt in deiner MQTT-Kommunikation nicht...

                            Wie du aber siehst, sollte das Script-Debug (ebenfalls per DP oder Menü aktivierbar) schon die Antworten liefern.

                            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
                            1
                            • ArmilarA Armilar

                              @lustig29

                              Ah okay - HA-Dashboard - verstanden :grin:

                              geht nicht mit dem Sonoff NSPanel - aber mit dem Sonoff NSPanel Pro. :blush: (andere Baustelle)

                              Sowohl das NSPanel Pro als auch das Shelly Wall Display arbeiten nicht unter ESP32/Tasmota mit Nextion, sondern sind ganz normale Android-Geräte.

                              Beim Shelly Wall Display, funktioniert das ohne Jailbreak offensichtlich nur mit HA. Auf dem NSPanel Pro kannst du mit den bekannten Hacks z.B. eine ioBroker VIS als Webseite laden...

                              Preislich liegen Shelly Wall Display und NSPanel Pro nah zusammen - aber immer noch ca. 60€ über dem NSPanel (habe die meisten bei ca. 40€ geschossen). Daher bleibt das NSPanel wohl die günstigste komplett Visu für das komplette Smart Home ;-)

                              haus-automatisierungH Offline
                              haus-automatisierungH Offline
                              haus-automatisierung
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #6464

                              @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                              Beim Shelly Wall Display, funktioniert das ohne Jailbreak offensichtlich nur mit HA.

                              Man kann die URL auch manuell angeben. Sieht ja erstmal aus wie ein normaler Browser. Könnte mir gut vorstellen, dass man damit jede beliebige Seite aufrufen kann. Muss ich mal testen, gestern wenig Zeit gehabt.

                              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                              📚 Meine inoffizielle ioBroker Dokumentation

                              1 Antwort Letzte Antwort
                              1
                              • W Offline
                                W Offline
                                wolwin
                                schrieb am zuletzt editiert von wolwin
                                #6465

                                @armilar
                                Dein Tipp zum Einstiegspunkt war genau richtig ...

                                @Alle
                                Wie in der ioBroker Basisinstallation beschrieben, hatte ich auf dem MQTT-Server mit dem MQTT-Explorer den CMND-Topic über PUBLISH (json) angelegt:

                                myHOME/devices/nspanel_xyz/cmnd/CustomSend

                                Im ioBroker taucht der Eintrag dann auch im MQTT-Client auf ... und jetzt ganz wichtig: mit dem Wert (null) - und genau DAS war mein Fehler: ich hatte übersehen, dass mit dem Topic auch '12:00' als Wert mit zu übergeben ist, damit der Topic eben NICHT (null) ist!!!

                                Achtung: wenn man den MQTT-Client einsetzt, wird der Wert '12:00' NICHT im ioBroker gesetzt - dh. der MQTT-Pfad wird erzeugt, aber der Wert steht auf (null) und nicht auf '12:00'. Es muss zuerst für 'CustomSend' die Publish-Funktion aktiviert werden (Zahnrad rechte Seite) - erst jetzt kann man nochmal den Wert mit dem MQTT-Explorer publischen oder den Wert '12:00' direkt im ioBroker unter 'CustomSend' eingeben.

                                Anmerkung: ich habe im MQTT-Client für alle Topics des NSPanels das Publish-Flag gesetzt.

                                Erläuterung: ... für die Experten, warum dieser kleine Fehler dazu geführt hat, dass das NSPanel nicht angelaufen ist ...
                                Alle MQTT-Ausgaben im Script laufen über die Funktion 'setIfExists'. In dieser Funktion wird mit der JS-Funktion 'existsState' überprüft, ob die Objekt-Instanz vorhanden ist. Im vorliegenden Fall zeigt die Instanz bei mir auf:
                                mqtt-client.0.myHOME.devices.nspanel_xyz.cmnd.CustomSend
                                Beim Starten des Skripts war der MQTT-Pfad im Objektbaum zwar vorhanden, jedoch sorgte '(null)' dafür, dass die JS-Funktion 'existsState' in der Script-Funktion 'setIfExists' immer 'false' zurück gibt ... Ergebnis: es fand keine MQTT-Ausgabe zum NSPanel statt. Sobald im MQTT-Client Topic etwas eingetragen wurde, läuft die Verbindung zum NSPanel sofort an.

                                @armilar
                                Beim Debuggen sind mir noch zwei Dinge aufgefallen, die Du bitte noch korrigieren kannst:

                                1.) Fehler Zeile 1074 - a enthält 'mqtt' oder 'mqtt-client'

                                    Original:   if (a === 'mqtt' && !isNaN(Number(i))) {
                                         Neu:   if (a.substring(0, 4) === 'mqtt' && !isNaN(Number(i))) {
                                

                                2.) Fehlende Debug-Ausgabe in Funktion 'SendToPanel' hinzugefügt - ab Zeile 3520

                                async function SendToPanel(val: NSPanel.Payload | NSPanel.Payload[]) {
                                    try {
                                        if (Array.isArray(val)) {
                                            val.forEach(function (id) {
                                                setIfExists(config.panelSendTopic, id.payload);
                                                if (Debug) {
                                                    log('function SendToPanel id-payload: ' + id.payload, 'info');
                                                }
                                            });
                                        } else {
                                            setIfExists(config.panelSendTopic, val.payload);
                                            if (Debug) {
                                                log('function SendToPanel val-payload: ' + val.payload, 'info');
                                            }
                                        }
                                    } catch (err: any) {
                                        log('error at function SendToPanel: ' + err.message, 'warn');
                                    }
                                }
                                
                                

                                Danke für die Unterstützung - ich hoffe der Beitrag hilft den Leuten, die nur einen MQTT-Client einsetzen :blush:

                                ArmilarA 1 Antwort Letzte Antwort
                                2
                                • W wolwin

                                  @armilar
                                  Dein Tipp zum Einstiegspunkt war genau richtig ...

                                  @Alle
                                  Wie in der ioBroker Basisinstallation beschrieben, hatte ich auf dem MQTT-Server mit dem MQTT-Explorer den CMND-Topic über PUBLISH (json) angelegt:

                                  myHOME/devices/nspanel_xyz/cmnd/CustomSend

                                  Im ioBroker taucht der Eintrag dann auch im MQTT-Client auf ... und jetzt ganz wichtig: mit dem Wert (null) - und genau DAS war mein Fehler: ich hatte übersehen, dass mit dem Topic auch '12:00' als Wert mit zu übergeben ist, damit der Topic eben NICHT (null) ist!!!

                                  Achtung: wenn man den MQTT-Client einsetzt, wird der Wert '12:00' NICHT im ioBroker gesetzt - dh. der MQTT-Pfad wird erzeugt, aber der Wert steht auf (null) und nicht auf '12:00'. Es muss zuerst für 'CustomSend' die Publish-Funktion aktiviert werden (Zahnrad rechte Seite) - erst jetzt kann man nochmal den Wert mit dem MQTT-Explorer publischen oder den Wert '12:00' direkt im ioBroker unter 'CustomSend' eingeben.

                                  Anmerkung: ich habe im MQTT-Client für alle Topics des NSPanels das Publish-Flag gesetzt.

                                  Erläuterung: ... für die Experten, warum dieser kleine Fehler dazu geführt hat, dass das NSPanel nicht angelaufen ist ...
                                  Alle MQTT-Ausgaben im Script laufen über die Funktion 'setIfExists'. In dieser Funktion wird mit der JS-Funktion 'existsState' überprüft, ob die Objekt-Instanz vorhanden ist. Im vorliegenden Fall zeigt die Instanz bei mir auf:
                                  mqtt-client.0.myHOME.devices.nspanel_xyz.cmnd.CustomSend
                                  Beim Starten des Skripts war der MQTT-Pfad im Objektbaum zwar vorhanden, jedoch sorgte '(null)' dafür, dass die JS-Funktion 'existsState' in der Script-Funktion 'setIfExists' immer 'false' zurück gibt ... Ergebnis: es fand keine MQTT-Ausgabe zum NSPanel statt. Sobald im MQTT-Client Topic etwas eingetragen wurde, läuft die Verbindung zum NSPanel sofort an.

                                  @armilar
                                  Beim Debuggen sind mir noch zwei Dinge aufgefallen, die Du bitte noch korrigieren kannst:

                                  1.) Fehler Zeile 1074 - a enthält 'mqtt' oder 'mqtt-client'

                                      Original:   if (a === 'mqtt' && !isNaN(Number(i))) {
                                           Neu:   if (a.substring(0, 4) === 'mqtt' && !isNaN(Number(i))) {
                                  

                                  2.) Fehlende Debug-Ausgabe in Funktion 'SendToPanel' hinzugefügt - ab Zeile 3520

                                  async function SendToPanel(val: NSPanel.Payload | NSPanel.Payload[]) {
                                      try {
                                          if (Array.isArray(val)) {
                                              val.forEach(function (id) {
                                                  setIfExists(config.panelSendTopic, id.payload);
                                                  if (Debug) {
                                                      log('function SendToPanel id-payload: ' + id.payload, 'info');
                                                  }
                                              });
                                          } else {
                                              setIfExists(config.panelSendTopic, val.payload);
                                              if (Debug) {
                                                  log('function SendToPanel val-payload: ' + val.payload, 'info');
                                              }
                                          }
                                      } catch (err: any) {
                                          log('error at function SendToPanel: ' + err.message, 'warn');
                                      }
                                  }
                                  
                                  

                                  Danke für die Unterstützung - ich hoffe der Beitrag hilft den Leuten, die nur einen MQTT-Client einsetzen :blush:

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

                                  @wolwin

                                  Vielen Dank für den Beitrag...

                                  Wir werden die Anleitung für den MQTT-Client Adapter mit ins Wiki übernehmen... Auch die beiden Änderungen machen im Kontext mit dem MQTT-Client Adapter sinn...

                                  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.

                                  ArmilarA 1 Antwort Letzte Antwort
                                  0
                                  • ArmilarA Armilar

                                    @wolwin

                                    Vielen Dank für den Beitrag...

                                    Wir werden die Anleitung für den MQTT-Client Adapter mit ins Wiki übernehmen... Auch die beiden Änderungen machen im Kontext mit dem MQTT-Client Adapter sinn...

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

                                    840e6e36-0fbe-42cb-85f5-c67273e3d418-image.png

                                    https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                                    Änderungen betreffen ausschließlich den unteren Teil ab:

                                    5f868619-ca74-45cb-ac87-8d1ee6aff0f9-image.png

                                    PR hatte @TT-Tom schon vorbereitet :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.

                                    W 1 Antwort Letzte Antwort
                                    2
                                    • ArmilarA Armilar

                                      840e6e36-0fbe-42cb-85f5-c67273e3d418-image.png

                                      https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                                      Änderungen betreffen ausschließlich den unteren Teil ab:

                                      5f868619-ca74-45cb-ac87-8d1ee6aff0f9-image.png

                                      PR hatte @TT-Tom schon vorbereitet :blush:

                                      W Offline
                                      W Offline
                                      wolwin
                                      schrieb am zuletzt editiert von
                                      #6468

                                      @armilar

                                      ... und da ist ja noch die Sache mit der manuellen Erstinstallation eines NSPanels im ioBroker ...

                                      Gut, dass es Proxmox gibt ... nach vielen Debug-Sitzungen mit einer minimal Default-Konfiguration denke ich, dass ich jetzt verstanden habe, warum und wann der beschriebene Fehler auftritt: beim erstmaligen Start des Scripts installiert der automatische Updater (bei mir reproduzierbar) die online TFT-Firmware, obwohl die aktuelle Firmware auf dem NSPanel vorhanden ist. Das Ganze endet immer mit einer um 90 Grad gedrehten Fehlermeldung im Display des NSPanels.

                                      Zuerst habe ich im ioBroker / Script gesucht, warum dort die Firmware 3.3.1 eingetragen ist - gefunden habe ich folgendes unter:

                                      0_userdata.0.nspanel_073.1.Display_Firmware.TFT.currentVersion = 0 / v3.3.1

                                      Erzeugt wird dieser Eintrag an dieser Stelle (ab Scriptzeile1266):

                                      async function Init_Release() {
                                          const FWVersion = [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56];
                                          const FWRelease = ['3.3.1', '3.4.0', '3.5.0', '3.5.X', '3.6.0', '3.7.3', '3.8.0', '3.8.3', '3.9.4', '4.0.5', '4.1.4', '4.2.1', '4.4.0', '4.4.0', '4.5.0', '4.6.0'];
                                          try {
                                              if (existsObject(NSPanel_Path + 'Display_Firmware.desiredVersion') == false) {
                                                  await createStateAsync(NSPanel_Path + 'Display_Firmware.desiredVersion', desired_display_firmware_version, { type: 'number', write: false });
                                              } else {
                                                  await setStateAsync(NSPanel_Path + 'Display_Firmware.desiredVersion', desired_display_firmware_version, true);
                                              }
                                      
                                              if (existsObject(NSPanel_Path + 'Config.Update.activ') == false) {
                                                  await createStateAsync(NSPanel_Path + 'Config.Update.activ', 1, { type: 'number', write: false });
                                              } else {
                                                  await setStateAsync(NSPanel_Path + 'Config.Update.activ', 0, true);
                                              }
                                      
                                              let currentFW = 0;
                                              let findFWIndex = 0;
                                              log('Desired TFT Firmware: ' + desired_display_firmware_version + ' / ' + tft_version, 'info');
                                              if (existsObject(NSPanel_Path + 'Display_Firmware.currentVersion')) {
                                                  currentFW = parseInt(getState(NSPanel_Path + 'Display_Firmware.currentVersion').val);
                                                  findFWIndex = FWVersion.indexOf(currentFW);
                                                  log('Installed TFT Firmware: ' + currentFW + ' / v' + FWRelease[findFWIndex], 'info');
                                              }
                                      

                                      Beim ersten Durchlauf gibt es zwar das Objekt 'Display_Firmware.currentVersion', aber der Inhalt ist leer ... das führt dann zu dem Index '0', der dann aus 'FWRelease' den ersten Eintrag '3.3.1' nimmt ... und schon steht '0 / v3.3.1' als aktuelle TFT-Firmware Version da (btw: besser wäre bei 'unbekannt' der Eintrag '0 / v0' gewesen).

                                      Aber warum kommt es überhaupt soweit, dass der Objekt-Eintrag leer ist? Der Knackpunkt liegt in den Scriptzeilen ab Zeile 2687:

                                      // Updates currently compare every 12 hours
                                      let scheduleCheckUpdates = adapterSchedule(undefined, 60 * 60 * 12, () => {
                                          get_tasmota_status0();
                                          get_panel_update_data();
                                          check_updates();
                                      });
                                      
                                      // Check for updates with Start
                                      get_locales();
                                      get_locales_servicemenu();
                                      setIfExists(config.panelSendTopic, 'pageType~pageStartup');
                                      get_tasmota_status0();
                                      get_panel_update_data();
                                      check_updates();
                                      

                                      Nach Aufruf der Initialisierungsfunktionen sollen beim Start die Updates gecheckt werden (8 ... 14) - dabei werden dann auch fehlende Objekt-Einträge automatisch angelegt. Gleichzeitig ist jedoch auch der Scheduler 'scheduleCheckUpdates' gestartet worden (2 ... 6) ... und hier lauert jetzt der Fehler: der startet (direkt) parallel zum laufenden Update-Prozess einen zweiten Update-Prozess, in dem die gleichen Funktionen 'get_tasmota_status0', 'get_panel_update_data' und 'check_updates' aufgerufen werden. So kommt es dann zu einer 'undefinierten Initialisierung' - zufällig wird bei mir eben die TFT-Firmware aktualisiert ... bei anderen Konstellationen kann was anderes dabei rauskommen.

                                      Ich habe mehrere Szenarien für die Inbetriebnahme durchgespielt - das würde aber diesen Rahmen hier sprengen - Github ist da vielleicht besser zur Diskussion geeignet. Leider habe ich keinen 'einfachen Weg' gefunden - es wären m.E. immer einige Code-Anpassungen notwendig ... und da möchte ich Dir nicht vorgreifen.

                                      Vielleicht hast Du ja auch noch die ioBroker Integration im Blick ... :relaxed:

                                      T 1 Antwort Letzte Antwort
                                      2
                                      • W wolwin

                                        @armilar

                                        ... und da ist ja noch die Sache mit der manuellen Erstinstallation eines NSPanels im ioBroker ...

                                        Gut, dass es Proxmox gibt ... nach vielen Debug-Sitzungen mit einer minimal Default-Konfiguration denke ich, dass ich jetzt verstanden habe, warum und wann der beschriebene Fehler auftritt: beim erstmaligen Start des Scripts installiert der automatische Updater (bei mir reproduzierbar) die online TFT-Firmware, obwohl die aktuelle Firmware auf dem NSPanel vorhanden ist. Das Ganze endet immer mit einer um 90 Grad gedrehten Fehlermeldung im Display des NSPanels.

                                        Zuerst habe ich im ioBroker / Script gesucht, warum dort die Firmware 3.3.1 eingetragen ist - gefunden habe ich folgendes unter:

                                        0_userdata.0.nspanel_073.1.Display_Firmware.TFT.currentVersion = 0 / v3.3.1

                                        Erzeugt wird dieser Eintrag an dieser Stelle (ab Scriptzeile1266):

                                        async function Init_Release() {
                                            const FWVersion = [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56];
                                            const FWRelease = ['3.3.1', '3.4.0', '3.5.0', '3.5.X', '3.6.0', '3.7.3', '3.8.0', '3.8.3', '3.9.4', '4.0.5', '4.1.4', '4.2.1', '4.4.0', '4.4.0', '4.5.0', '4.6.0'];
                                            try {
                                                if (existsObject(NSPanel_Path + 'Display_Firmware.desiredVersion') == false) {
                                                    await createStateAsync(NSPanel_Path + 'Display_Firmware.desiredVersion', desired_display_firmware_version, { type: 'number', write: false });
                                                } else {
                                                    await setStateAsync(NSPanel_Path + 'Display_Firmware.desiredVersion', desired_display_firmware_version, true);
                                                }
                                        
                                                if (existsObject(NSPanel_Path + 'Config.Update.activ') == false) {
                                                    await createStateAsync(NSPanel_Path + 'Config.Update.activ', 1, { type: 'number', write: false });
                                                } else {
                                                    await setStateAsync(NSPanel_Path + 'Config.Update.activ', 0, true);
                                                }
                                        
                                                let currentFW = 0;
                                                let findFWIndex = 0;
                                                log('Desired TFT Firmware: ' + desired_display_firmware_version + ' / ' + tft_version, 'info');
                                                if (existsObject(NSPanel_Path + 'Display_Firmware.currentVersion')) {
                                                    currentFW = parseInt(getState(NSPanel_Path + 'Display_Firmware.currentVersion').val);
                                                    findFWIndex = FWVersion.indexOf(currentFW);
                                                    log('Installed TFT Firmware: ' + currentFW + ' / v' + FWRelease[findFWIndex], 'info');
                                                }
                                        

                                        Beim ersten Durchlauf gibt es zwar das Objekt 'Display_Firmware.currentVersion', aber der Inhalt ist leer ... das führt dann zu dem Index '0', der dann aus 'FWRelease' den ersten Eintrag '3.3.1' nimmt ... und schon steht '0 / v3.3.1' als aktuelle TFT-Firmware Version da (btw: besser wäre bei 'unbekannt' der Eintrag '0 / v0' gewesen).

                                        Aber warum kommt es überhaupt soweit, dass der Objekt-Eintrag leer ist? Der Knackpunkt liegt in den Scriptzeilen ab Zeile 2687:

                                        // Updates currently compare every 12 hours
                                        let scheduleCheckUpdates = adapterSchedule(undefined, 60 * 60 * 12, () => {
                                            get_tasmota_status0();
                                            get_panel_update_data();
                                            check_updates();
                                        });
                                        
                                        // Check for updates with Start
                                        get_locales();
                                        get_locales_servicemenu();
                                        setIfExists(config.panelSendTopic, 'pageType~pageStartup');
                                        get_tasmota_status0();
                                        get_panel_update_data();
                                        check_updates();
                                        

                                        Nach Aufruf der Initialisierungsfunktionen sollen beim Start die Updates gecheckt werden (8 ... 14) - dabei werden dann auch fehlende Objekt-Einträge automatisch angelegt. Gleichzeitig ist jedoch auch der Scheduler 'scheduleCheckUpdates' gestartet worden (2 ... 6) ... und hier lauert jetzt der Fehler: der startet (direkt) parallel zum laufenden Update-Prozess einen zweiten Update-Prozess, in dem die gleichen Funktionen 'get_tasmota_status0', 'get_panel_update_data' und 'check_updates' aufgerufen werden. So kommt es dann zu einer 'undefinierten Initialisierung' - zufällig wird bei mir eben die TFT-Firmware aktualisiert ... bei anderen Konstellationen kann was anderes dabei rauskommen.

                                        Ich habe mehrere Szenarien für die Inbetriebnahme durchgespielt - das würde aber diesen Rahmen hier sprengen - Github ist da vielleicht besser zur Diskussion geeignet. Leider habe ich keinen 'einfachen Weg' gefunden - es wären m.E. immer einige Code-Anpassungen notwendig ... und da möchte ich Dir nicht vorgreifen.

                                        Vielleicht hast Du ja auch noch die ioBroker Integration im Blick ... :relaxed:

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

                                        @wolwin
                                        Danke für deinen ausführlichen Test. Die einfachste Variante wäre vielleicht die 0/0, wird aber auch zum Fehler führen, da es die Datei nicht gibt. Wir werden uns zusammen tun und eine Lösung finden.

                                        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

                                        ArmilarA 1 Antwort Letzte Antwort
                                        1
                                        • T TT-Tom

                                          @wolwin
                                          Danke für deinen ausführlichen Test. Die einfachste Variante wäre vielleicht die 0/0, wird aber auch zum Fehler führen, da es die Datei nicht gibt. Wir werden uns zusammen tun und eine Lösung finden.

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

                                          @tt-tom
                                          @wolwin

                                          Ich würde check_updates(); einfach gar nicht mehr durchführen, wenn der Versions-Datenpunkt 0 oder null oder undefined ist.

                                          Bzw. diese Prüfung in die function check_updates() legen...

                                          Der Datenpunkt kann beim allerersten Start des Skriptes ja nur:

                                          • nicht vorhanden sein
                                          • vorhanden und nicht gefüllt, d.h. null sein
                                          • vorhanden und gefüllt sein

                                          In dem Fall brauchst du auch nicht mehr auf 0 prüfen


                                          Ebenfalls kann in der function Init_Release() eine Prüfung auf !null erfolgen

                                          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.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          401

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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