Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. SONOFF NSPanel mit Lovelace UI

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      raspido @Wuschl last edited by

      Hey Leute,

      ich hoffe, wenn es zu Problemen kommt, kann man sich auch hier melden, oder gibt es dafür ein eigenen Bereich?

      ich habe es schon vor einer weile versucht und nun gerade nochmals erneut von vorne. Ich habe alles eins nach dem anderen so ausgeführt, wie in der Anleitung beschrieben, nur erhalte ich bei den Scripten eine Riesenfehlermeldung und der Kreis dreht sich auf dem Bildschirm von Sonoff immer weiter mit dem Hinweis "Wating for content ... Thes is taking than usual, please check your backend configuration"

      Und die Fehlermeldung im ioBroker, die kommt wenn ich versuche das Script zu starten sieht wie folgt aus:

      javascript.0 (658) script.js.common.NSPanels.Buero: TypeScript compilation failed: await createAliasAsync(config.weatherEntity + '.ICON', 'accuweather.0.Current.WeatherIcon', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ICON' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP', 'accuweather.0.Current.Temperature', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature', name: 'TEMP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP_MIN', 'accuweather.0.Daily.Day1.Temperature.Minimum', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature.forecast.0', name: 'TEMP_MIN' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP_MAX', 'accuweather.0.Daily.Day1.Temperature.Maximum', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature.max.forecast.0', name: 'TEMP_MAX' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourDay.SET', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourNight.SET', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'autoUpdate.ACTUAL', NSPanel_Path + 'NSPanel_autoUpdate', true, <iobJS.StateCommon>{ type: 'boolean', role: 'switch', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'autoUpdate.SET', NSPanel_Path + 'NSPanel_autoUpdate', true, <iobJS.StateCommon>{ type: 'boolean', role: 'switch', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'ipAddress.ACTUAL', NSPanel_Path + 'NSPanel_ipAddress', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.BerryDriver.ACTUAL', NSPanel_Path + 'Berry_Driver.currentVersion', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Uptime.ACTUAL', NSPanel_Path + 'Tasmota.Uptime', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Version.ACTUAL', NSPanel_Path + 'Tasmota.Version', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Hardware.ACTUAL', NSPanel_Path + 'Tasmota.Hardware', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.AP.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.AP', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.SSId.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.SSId', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.BSSId.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.BSSId', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Channel.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Channel', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Mode.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Mode', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.RSSI.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.RSSI', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Signal.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Signal', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.TFTVersion.ACTUAL', NSPanel_Path + 'Display_Firmware.currentVersion', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.Model.ACTUAL', NSPanel_Path + 'NSPanel_Version', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + '.Player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + '.Player.currentAlbum', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + '.Player.currentArtist', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + '.Player.currentTitle', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + '.Player.controlNext', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + '.Player.controlPrevious', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + '.Player.controlPlay', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + '.Player.controlPause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + '.Commands.deviceStop', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + '.Player.currentState', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + '.Player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + 'player.album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + 'player.artistName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + 'player.trackName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + 'player.contextDescription', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + 'player.skipPlus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + 'player.skipMinus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + 'player.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + 'player.isPlaying', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + '.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + '.current_album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + '.current_artist', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + '.current_title', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + '.current_station', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + '.next', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + '.prev', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + '.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + '.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + '.stop', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + '.state_simple', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + '.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Sensor.ANALOG.Temperature.ACTUAL', NSPanel_Path + 'Sensor.ANALOG.Temperature', true, <iobJS.StateCommon>{ type: 'number', 'unit': '°C' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Sensor.ESP32.Temperature.ACTUAL', NSPanel_Path + 'Sensor.ESP32.Temperature', true, <iobJS.StateCommon>{ type: 'number', 'unit': '°C' }); ^ ERROR: Cannot find name 'createAliasAsync'.
      

      Also ich bin noch dabei, den Bildschirm überhaupt in Betrieb zu nehmen, noch ohne große Anpassungen an meinde Wünsche. Und die weiteren Datenpunkt in "0_userdata" werden auch nicht erzeugt. zumindest ist da bislang nichts passiert.

      Ich hoffe man kann mir irgendwie helfen. Den so wie es aktuell ist, ist es nicht sonderlich nutzvoll um das Display für ein Sinnvollen Einsatz einzuplanen.

      Michael

      Armilar 1 Reply Last reply Reply Quote 0
      • Armilar
        Armilar Most Active Forum Testing @raspido last edited by Armilar

        @raspido

        Sieht auf den ersten Blick ja einfach aus...

        Installiere mal den JS-Adapter v6.1.3 oder v6.1.4. Falls der jetzt imer noch Beta sein sollte (Kein Problem - funktioniert super), dann Repository in den ioBroker-Einstellungen (oben) für die Installation kurz auf "beta" oder "latest" umstellen, dann installieren und wieder zurück auf "stable".

        850ab532-2ab6-4177-a193-398fb1a4b7ba-image.png

        Wenn ich das richtig interpretiere mit deinen Fehlern, sollten danach alle weg sein.

        1 Reply Last reply Reply Quote 0
        • Armilar
          Armilar Most Active Forum Testing @Kentrath last edited by

          @kentrath

          habe es in die DEV eingefügt. Kommt mit der nächsten Version:

          f984a76c-1bbf-42c4-a3b6-4432e0b411f0-image.png

          1 Reply Last reply Reply Quote 2
          • JLeg
            JLeg @Vumer last edited by

            @vumer sagte in SONOFF NSPanel mit Lovelace UI:

            @armilar sagte in SONOFF NSPanel mit Lovelace UI:

            Teufel/Raumfeld-Datenpunkte wären übrigens aus mal sehr interessant zu sehen...

            Gibt es nur für Node-RED

            89ec8089-37ab-41b7-aca4-8197914843ee-grafik.png
            Kein Entwickler hat diese geile Geräte 😉

            Woha, ein Raumfelder! 🙂 Ich hab bislang immer bissel damit gehadert, dass ich Raumfeld nicht in den iobroker kriege - Node red hatte ich gar nicht auf dem Schirm…
            Wie läuft das dann - Node red bzw. die Flows erzeugen/lesen dann Datenpunkte, über die man dann RF steuern kann?
            Und würdest du mir deine RF-Flows exportieren können? ☺️

            1 Reply Last reply Reply Quote 0
            • Vumer
              Vumer last edited by

              @jleg
              https://forum.iobroker.net/topic/1980/wunsch-teufel-raumfeld/24?_=1670964257775


              [
              {
              "id": "ad9e544aea47e011",
              "type": "tab",
              "label": "CINEBAR LUX",
              "disabled": false,
              "info": ""
              },
              {
              "id": "8e4d1dc256dcd38e",
              "type": "debug",
              "z": "ad9e544aea47e011",
              "name": "",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": true,
              "complete": "true",
              "targetType": "full",
              "statusVal": "payload",
              "statusType": "auto",
              "x": 730,
              "y": 40,
              "wires": [],
              "inputLabels": [
              "twst"
              ]
              },
              {
              "id": "c053333814d4da50",
              "type": "raumfeld-room-is-playing-changed",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomNames": "Wohnzimmer",
              "name": "Playing",
              "x": 590,
              "y": 40,
              "wires": [
              [
              "8e4d1dc256dcd38e",
              "53efe580aaba2db5"
              ]
              ]
              },
              {
              "id": "c11452a6d9f0a147",
              "type": "debug",
              "z": "ad9e544aea47e011",
              "name": "",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": true,
              "complete": "true",
              "targetType": "full",
              "statusVal": "payload",
              "statusType": "auto",
              "x": 730,
              "y": 100,
              "wires": []
              },
              {
              "id": "117b2c1e821867cb",
              "type": "raumfeld-room-mute-changed",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomNames": "Wohnzimmer",
              "name": "Mute",
              "x": 590,
              "y": 100,
              "wires": [
              [
              "c11452a6d9f0a147",
              "5ec0d36f64633e28"
              ]
              ]
              },
              {
              "id": "391c055551cad852",
              "type": "raumfeld-room-title-changed",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomNames": "Wohnzimmer",
              "name": "Title",
              "x": 70,
              "y": 40,
              "wires": [
              [
              "d90542ca664e772c",
              "b2272f68dc2f73e7"
              ]
              ]
              },
              {
              "id": "26d2c6a02cc6582a",
              "type": "raumfeld-room-volume-changed",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomNames": "Wohnzimmer",
              "mute": true,
              "name": "Volume",
              "x": 70,
              "y": 100,
              "wires": [
              [
              "26095746aad8ad53",
              "dc6694042bb53cf7"
              ]
              ]
              },
              {
              "id": "26095746aad8ad53",
              "type": "debug",
              "z": "ad9e544aea47e011",
              "name": "",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": true,
              "complete": "true",
              "targetType": "full",
              "statusVal": "payload",
              "statusType": "msg",
              "x": 210,
              "y": 100,
              "wires": []
              },
              {
              "id": "d90542ca664e772c",
              "type": "debug",
              "z": "ad9e544aea47e011",
              "name": "",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": true,
              "complete": "true",
              "targetType": "full",
              "statusVal": "payload",
              "statusType": "auto",
              "x": 210,
              "y": 40,
              "wires": []
              },
              {
              "id": "96caf5ee83780a27",
              "type": "inject",
              "z": "ad9e544aea47e011",
              "name": "V Up",
              "props": [
              {
              "p": "payload"
              },
              {
              "p": "topic",
              "vt": "str"
              }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "1",
              "payloadType": "str",
              "x": 410,
              "y": 240,
              "wires": [
              [
              "638d2ef9e79d6ab8"
              ]
              ]
              },
              {
              "id": "6a253345239dcb12",
              "type": "inject",
              "z": "ad9e544aea47e011",
              "name": "V Down",
              "props": [
              {
              "p": "payload"
              },
              {
              "p": "topic",
              "vt": "str"
              }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "1",
              "payloadType": "str",
              "x": 90,
              "y": 240,
              "wires": [
              [
              "28d6075c1eeee840"
              ]
              ]
              },
              {
              "id": "638d2ef9e79d6ab8",
              "type": "raumfeld-room-set-volume",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomName": "Wohnzimmer",
              "volume": "1",
              "relative": true,
              "unmute": true,
              "name": "V Up",
              "scope": "ROOM",
              "x": 570,
              "y": 300,
              "wires": []
              },
              {
              "id": "28d6075c1eeee840",
              "type": "raumfeld-room-set-volume",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomName": "Wohnzimmer",
              "volume": "-1",
              "relative": true,
              "unmute": true,
              "name": "V Down",
              "scope": "ROOM",
              "x": 240,
              "y": 300,
              "wires": []
              },
              {
              "id": "b293a99e1946dd8b",
              "type": "raumfeld-room-action",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomName": "Wohnzimmer",
              "action": "play",
              "name": "Play",
              "x": 250,
              "y": 560,
              "wires": [],
              "icon": "font-awesome/fa-play"
              },
              {
              "id": "7845ec3d2e4fe026",
              "type": "raumfeld-room-set-mute",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomName": "Wohnzimmer",
              "mute": "true",
              "name": "Mute",
              "x": 570,
              "y": 380,
              "wires": []
              },
              {
              "id": "2c9bafd7969e7b1a",
              "type": "inject",
              "z": "ad9e544aea47e011",
              "name": "Stop",
              "props": [
              {
              "p": "payload"
              },
              {
              "p": "topic",
              "vt": "str"
              }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "1",
              "payloadType": "str",
              "x": 770,
              "y": 500,
              "wires": [
              [
              "0a3b4436dbfb2afd"
              ]
              ]
              },
              {
              "id": "6998ce79a8a88519",
              "type": "inject",
              "z": "ad9e544aea47e011",
              "name": "Radio GT",
              "props": [
              {
              "p": "payload"
              },
              {
              "p": "topic",
              "vt": "str"
              }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "1",
              "payloadType": "num",
              "x": 400,
              "y": 720,
              "wires": [
              [
              "edebc89dc635b06a"
              ]
              ]
              },
              {
              "id": "1f7201a8a8eb51dd",
              "type": "inject",
              "z": "ad9e544aea47e011",
              "name": "Pause",
              "props": [
              {
              "p": "payload"
              },
              {
              "p": "topic",
              "vt": "str"
              }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "1",
              "payloadType": "str",
              "x": 450,
              "y": 500,
              "wires": [
              [
              "40385ed7115ba36d"
              ]
              ]
              },
              {
              "id": "45c3239af23404fc",
              "type": "raumfeld-room-set-mute",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomName": "Wohnzimmer",
              "mute": "false",
              "name": "Mute Aus",
              "x": 240,
              "y": 380,
              "wires": []
              },
              {
              "id": "4a1f8688904f3878",
              "type": "inject",
              "z": "ad9e544aea47e011",
              "name": "Play",
              "props": [
              {
              "p": "payload"
              },
              {
              "p": "topic",
              "vt": "str"
              }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "1",
              "payloadType": "str",
              "x": 90,
              "y": 500,
              "wires": [
              [
              "b293a99e1946dd8b"
              ]
              ]
              },
              {
              "id": "ed99afc236af40b0",
              "type": "inject",
              "z": "ad9e544aea47e011",
              "name": "Previous",
              "props": [
              {
              "p": "payload"
              },
              {
              "p": "topic",
              "vt": "str"
              }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "1",
              "payloadType": "str",
              "x": 100,
              "y": 600,
              "wires": [
              [
              "bce70de5b07e2959"
              ]
              ]
              },
              {
              "id": "3f6ba3037a57a6ee",
              "type": "inject",
              "z": "ad9e544aea47e011",
              "name": "Next",
              "props": [
              {
              "p": "payload"
              },
              {
              "p": "topic",
              "vt": "str"
              }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "1",
              "payloadType": "str",
              "x": 450,
              "y": 620,
              "wires": [
              [
              "c1766f42e54e596b"
              ]
              ]
              },
              {
              "id": "bce70de5b07e2959",
              "type": "raumfeld-room-action",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomName": "Wohnzimmer",
              "action": "prev",
              "name": "Previous",
              "x": 260,
              "y": 660,
              "wires": []
              },
              {
              "id": "c1766f42e54e596b",
              "type": "raumfeld-room-action",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomName": "Wohnzimmer",
              "action": "next",
              "name": "Next",
              "x": 590,
              "y": 660,
              "wires": []
              },
              {
              "id": "0a3b4436dbfb2afd",
              "type": "raumfeld-room-action",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomName": "Wohnzimmer",
              "action": "stop",
              "name": "Stop",
              "x": 910,
              "y": 560,
              "wires": []
              },
              {
              "id": "40385ed7115ba36d",
              "type": "raumfeld-room-action",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomName": "Wohnzimmer",
              "action": "pause",
              "name": "Pause",
              "x": 590,
              "y": 560,
              "wires": []
              },
              {
              "id": "edebc89dc635b06a",
              "type": "raumfeld-room-load-favorite",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomNames": "Wohnzimmer",
              "groupIfPlaying": false,
              "favorite": "Radio Gütersloh",
              "volumes": "20",
              "overrideVolume": false,
              "name": "Radio GT",
              "x": 580,
              "y": 760,
              "wires": []
              },
              {
              "id": "b2272f68dc2f73e7",
              "type": "ioBroker out",
              "z": "ad9e544aea47e011",
              "name": "Info Title",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Info_Title",
              "ack": "true",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 400,
              "y": 40,
              "wires": []
              },
              {
              "id": "ea5fb28eb9c71d0a",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "Pause",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Pause",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "x": 450,
              "y": 560,
              "wires": [
              [
              "40385ed7115ba36d"
              ]
              ]
              },
              {
              "id": "426d7382f4770b99",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "Play",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Play",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "x": 90,
              "y": 560,
              "wires": [
              [
              "b293a99e1946dd8b"
              ]
              ]
              },
              {
              "id": "1e1f9d1ed976317d",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "Next",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Next",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "x": 450,
              "y": 660,
              "wires": [
              [
              "c1766f42e54e596b"
              ]
              ]
              },
              {
              "id": "5fc4bcfd66b05d8c",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "Previous",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Previous",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "x": 80,
              "y": 660,
              "wires": [
              [
              "bce70de5b07e2959"
              ]
              ]
              },
              {
              "id": "7c91a1b85034c5ce",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "Stop",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Stop",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "x": 770,
              "y": 560,
              "wires": [
              [
              "0a3b4436dbfb2afd"
              ]
              ]
              },
              {
              "id": "d30c6a0bbbaf1488",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "V+",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Volume_Up",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "x": 410,
              "y": 300,
              "wires": [
              [
              "638d2ef9e79d6ab8"
              ]
              ]
              },
              {
              "id": "2572214b2f1ce11e",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "V -",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Volume_Down",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "x": 90,
              "y": 300,
              "wires": [
              [
              "28d6075c1eeee840"
              ]
              ]
              },
              {
              "id": "53efe580aaba2db5",
              "type": "ioBroker out",
              "z": "ad9e544aea47e011",
              "name": "Info Play",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Info_Play",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 900,
              "y": 40,
              "wires": []
              },
              {
              "id": "5ec0d36f64633e28",
              "type": "ioBroker out",
              "z": "ad9e544aea47e011",
              "name": "Mute",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Info_Mute",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 890,
              "y": 100,
              "wires": []
              },
              {
              "id": "dc6694042bb53cf7",
              "type": "ioBroker out",
              "z": "ad9e544aea47e011",
              "name": "Volume",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Info_Volume",
              "ack": "true",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 380,
              "y": 100,
              "wires": []
              },
              {
              "id": "33525004db1753e8",
              "type": "inject",
              "z": "ad9e544aea47e011",
              "name": "WDR2",
              "props": [
              {
              "p": "payload"
              },
              {
              "p": "topic",
              "vt": "str"
              }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "1",
              "payloadType": "str",
              "x": 90,
              "y": 720,
              "wires": [
              [
              "96eb628fc6c4d4af"
              ]
              ]
              },
              {
              "id": "5d9df75b32205dfd",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "WDR2",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Favoriten.WDR2",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "x": 90,
              "y": 760,
              "wires": [
              [
              "96eb628fc6c4d4af"
              ]
              ]
              },
              {
              "id": "96eb628fc6c4d4af",
              "type": "raumfeld-room-load-favorite",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomNames": "Wohnzimmer",
              "groupIfPlaying": false,
              "favorite": "WDR 2 Ostwestfalen-Lippe",
              "volumes": "20",
              "overrideVolume": false,
              "name": "WDR2",
              "x": 250,
              "y": 760,
              "wires": []
              },
              {
              "id": "378122b4c9e8f77a",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "Radio GT",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Favoriten.Radio_Guetersloh",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "x": 400,
              "y": 760,
              "wires": [
              [
              "edebc89dc635b06a"
              ]
              ]
              },
              {
              "id": "963894a232a6f332",
              "type": "raumfeld-room-set-volume",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomName": "Wohnzimmer",
              "volume": "",
              "relative": false,
              "unmute": false,
              "name": "vol",
              "scope": "ROOM",
              "x": 250,
              "y": 440,
              "wires": []
              },
              {
              "id": "b3b01ebe107f6d90",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "Volume 0-100",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.Volume",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "x": 90,
              "y": 440,
              "wires": [
              [
              "963894a232a6f332"
              ]
              ]
              },
              {
              "id": "a203f4dd77ad29ba",
              "type": "raumfeld-room-title-changed",
              "z": "ad9e544aea47e011",
              "raumkernel": "5e9dadeb.7e5a5c",
              "roomNames": "",
              "name": "Titl all",
              "x": 90,
              "y": 180,
              "wires": [
              [
              "24e5b0149efd9092"
              ]
              ]
              },
              {
              "id": "24e5b0149efd9092",
              "type": "debug",
              "z": "ad9e544aea47e011",
              "name": "Info Titel",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": true,
              "complete": "true",
              "targetType": "full",
              "statusVal": "payload",
              "statusType": "auto",
              "x": 240,
              "y": 180,
              "wires": []
              },
              {
              "id": "6ccc24b91e56817f",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "MuteOff",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.MuteOff",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "outFormat": "MQTT",
              "x": 90,
              "y": 340,
              "wires": [
              [
              "45c3239af23404fc"
              ]
              ]
              },
              {
              "id": "40662300b0186a0b",
              "type": "ioBroker in",
              "z": "ad9e544aea47e011",
              "name": "Mute",
              "topic": "0_userdata.0.Teufel_Multi_NR.LUX.MuteOn",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "outFormat": "MQTT",
              "x": 410,
              "y": 340,
              "wires": [
              [
              "7845ec3d2e4fe026"
              ]
              ]
              },
              {
              "id": "c1d25828670d210e",
              "type": "inject",
              "z": "ad9e544aea47e011",
              "name": "MuteOff",
              "props": [
              {
              "p": "payload"
              },
              {
              "p": "topic",
              "vt": "str"
              }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "",
              "payloadType": "date",
              "x": 90,
              "y": 380,
              "wires": [
              [
              "45c3239af23404fc"
              ]
              ]
              },
              {
              "id": "14b84750d0e9a3fc",
              "type": "inject",
              "z": "ad9e544aea47e011",
              "name": "Mute",
              "props": [
              {
              "p": "payload"
              },
              {
              "p": "topic",
              "vt": "str"
              }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "",
              "payloadType": "date",
              "x": 410,
              "y": 380,
              "wires": [
              [
              "7845ec3d2e4fe026"
              ]
              ]
              },
              {
              "id": "5e9dadeb.7e5a5c",
              "type": "raumfeld-raumkernel",
              "raumfeldHost": "192.168.0.54"
              }
              ]

              JLeg 1 Reply Last reply Reply Quote 0
              • JLeg
                JLeg @Vumer last edited by

                @vumer 👍 danke!

                Armilar 1 Reply Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @JLeg last edited by Armilar

                  caa009f4-0c61-4cf5-a169-70d3933b8940-image.png

                  Da die neue TFT mit den Änderungen für die cardChart und neue cardMedia noch nicht fertig ist, habe ich mich entschlossen noch ein kurzes Update mit ein paar Features als v3.6.0.4 auszukoppeln.

                  Es reicht, wenn der untere Teil des TS-Scriptes ersetzt wird! Also ab:

                  // ________ Ab hier keine Konfiguration mehr _________
                  

                  dde0a7fb-25ab-4b53-bec2-ac271d09fbc1-image.png

                  Neu sind die Sensorwerte in der cardGrid

                  Beispiel PageItems:

                  let SensorGrid: PageGrid =
                  {
                      "type": "cardGrid",
                      "heading": "Sensor Werte",
                      "useColor": true,
                      "subPage": false,
                      "parent": undefined,
                      "items": [
                          <PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur", name: "Außentemp. °C", offColor: MSRed, onColor: MSGreen, useValue: true },
                          <PageItem>{ id: "alias.0.NSPanel_1.TestFeuchtigkeit", name: "Luftfeuchte %", offColor: MSYellow, onColor: MSYellow , useValue: true },
                          <PageItem>{ id: "alias.0.NSPanel_1.Taupunkt", name: "Taupunkt °C", offColor: MSRed, onColor: MSGreen, useValue: true },
                          <PageItem>{ id: "alias.0.NSPanel_1.UV_Index", name: "UV Index", offColor: White , onColor: White, useValue: true },
                          <PageItem>{ id: "alias.0.NSPanel_1.Windstaerke", name: "Windstärke bft", offColor: White , onColor: White, useValue: true },
                          <PageItem>{ id: "alias.0.NSPanel_1.Luftdruck", name: "Luftdruck hPa", offColor: White , onColor: White, useValue: true }
                      ]
                  };
                  

                  Und noch ein paar kleinere Features und Fixes (siehe Changelog)

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

                  Ohne Beispiel-Seiten:
                  https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs_without_Examples.ts

                  S 1 Reply Last reply Reply Quote 3
                  • K
                    Kentrath last edited by

                    @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                    useValue: true

                    Klappt super, allerdings überschneiden sich die Kacheln. Kann ich die Schriftgröße der Werte etwas verringern, damit es "saubere" Übergänge gibt?

                    Armilar 1 Reply Last reply Reply Quote 0
                    • Armilar
                      Armilar Most Active Forum Testing @Kentrath last edited by

                      @kentrath

                      Auf die HMI (Nextion TFT) habe ich leider keinen Einfluss. Evtl. kann @joBR99 das beantworten?

                      Kannst du ein aktuelles Bild von den Überschneidungen posten?

                      1 Reply Last reply Reply Quote 0
                      • K
                        Kentrath last edited by

                        PXL_20221214_110623986.jpg

                        Eine Alternative wäre natürlich die 2. Nachkommastelle weg zu runden 🤔

                        Armilar J 2 Replies Last reply Reply Quote 1
                        • Armilar
                          Armilar Most Active Forum Testing @Kentrath last edited by Armilar

                          @kentrath

                          😉

                          Hätte ich jetzt auch gesagt... 😊

                          Es sei denn du kannst die 2 Nachkommastelle auch wirklich fühlen...

                          1 Reply Last reply Reply Quote 1
                          • ravenst0ne
                            ravenst0ne last edited by

                            Ich würde gerne die Helligkeit der Hintergrundbeleuchtung an den Schaltzustand des Lichts (z.B. im Flur), oder auch an einen Rollo (z.B. im Schlafzimmmer) etc. koppeln.
                            Wie ich sehe, gibt es dafür schon Datenpunkte, welche man auch über das Panel einstellen kann (mittlerweile über automatisch erstellte Aliase), allerdings ist immer ein Neustart des Skripts notwendig um die Änderungen zu übernehmen, da die Werte nur in der init eingelesen werden und auch Jobs für Tages- bzw. Nachtzeit erstellt werden. Fände es hier passender einen Datenpunkt für die Helligkeit zu haben und "von außen" entsprechend zu steuern.

                            Wäre das eine relativ einfache Anpassung die man noch in das Skript bringen könnte?

                            Armilar 1 Reply Last reply Reply Quote 0
                            • Armilar
                              Armilar Most Active Forum Testing @ravenst0ne last edited by Armilar

                              @ravenst0ne

                              Du meinst die Config-Zeile:

                              active: 100,                        // Standard-Brightness TFT
                              

                              Die ist nicht von außen veränderbar, sondern nur der Dimmode des Screensavers (mittels Datenpunkt auf 100% und zurück in die Dimmode-Einstellung).

                              Wäre aber auch kein Problem, Standard-Brightness und Screensaver-Standard-Brightness über Datenpunkte steuerbar zu machen.

                              Berücksichtige ich für die kommende Version...

                              EDIT:
                              Ebenso die aktuelle Screensaver-Dimmode-Brightness. Wäre dann künftig bei "null" im Eingestellten Auto-Dimmode und bei Werten von 0-100 entsprechend der individuellen Helligkeit.

                              ravenst0ne 1 Reply Last reply Reply Quote 0
                              • ravenst0ne
                                ravenst0ne @Armilar last edited by

                                @armilar Ging mir tatsächlich nur um den Dimmmode des Screensavers, hab ich wohl falsch erklärt... Danke dir schonmal! 🙂

                                Armilar 1 Reply Last reply Reply Quote 0
                                • S
                                  scribere8146 @Armilar last edited by

                                  @armilar Danke für den Datenpunkt ActivePage....

                                  Armilar 1 Reply Last reply Reply Quote 0
                                  • Armilar
                                    Armilar Most Active Forum Testing @ravenst0ne last edited by

                                    @ravenst0ne

                                    😉 Ich mache trotzdem beide... und sehr gerne...

                                    Die Config teils verschlanken und in Datenpunkte verlagern kann nicht schaden...

                                    1 Reply Last reply Reply Quote 0
                                    • Armilar
                                      Armilar Most Active Forum Testing @scribere8146 last edited by

                                      @scribere8146

                                      Viel Spaß damit 😊

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        joBr99 @Kentrath last edited by joBr99

                                        @kentrath said in SONOFF NSPanel mit Lovelace UI:

                                        Eine Alternative wäre natürlich die 2. Nachkommastelle weg zu runden

                                        @Armilar

                                        a274b15b-1b48-4a8b-ba41-b9e726c95906-image.png

                                        In das Feld passen maximal 4 Zeichen, bei dem HomeAssistant Backend hab ich das Porblem so gelöst:

                                                        icon_id = entity.state[:4] # substring der ersten 4 zeichen
                                                        if icon_id[-1] == ".":
                                                            icon_id = icon_id[:-1]  # wenn das letze zeichen ein . ist, möchte man das auch eher nicht haben, das schneid ich dann zusätzlich noch weg
                                        
                                        Armilar 1 Reply Last reply Reply Quote 1
                                        • Armilar
                                          Armilar Most Active Forum Testing @joBr99 last edited by Armilar

                                          @jobr99

                                          In das Feld passen maximal 4 Zeichen, bei dem HomeAssistant Backend hab ich das Porblem so gelöst:

                                          Kann im ioBroker ganz elegant über den Alias gemacht werden:

                                          6f650cab-fa08-4ccc-bf08-ad0ca53318bb-image.png

                                          oder

                                          d6bedd9c-a313-4602-b8c4-9abb7f747187-image.png

                                          geht beides auf eine Nachkommastelle

                                          oder mit Math.round(val) auf keine Nachkommastelle

                                          K 1 Reply Last reply Reply Quote 1
                                          • K
                                            Kuckuckmann @Armilar last edited by Kuckuckmann

                                            @armilar
                                            Da ist man mal ein paar Tage im Ausland und dann gibt es so tolle Updates...Good Job @Armilar

                                            D 1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            996
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4286980
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo