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

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

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

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.
  • C coto

    @armilar

    Vielleicht brauch ich auch mal neue Thermostate. Welche hast du den getestet die auch funktionieren mit den Datenpunkten.

    AUTO_MODE true =AUTO=0
    AUTO_MODE false= keine Auswirkung
    BOOST_MODE true=BOOST=3

    MANU_MODE - ändern der Temperatur in diesem Datenpunkt = MANU=1 und SET_TEMPERATUR bekommt Wert von MANU_MODE

    alles noch Original.

    /********************************************************************************************************** */
    //Service Pages mit Auto-Alias (Nachfolgende Seiten werden mit Alias automatisch angelegt)
    /********************************************************************************************************** */
    
    let Service: PageEntities =
    {
        "type": "cardEntities",
        "heading": "NSPanel Service",
        "useColor": true,
        "subPage": false,
        "parent": undefined, 
        "items": [
            <PageItem>{ id: AliasPath + 'autoUpdate', name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen},
            <PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"},
            <PageItem>{ navigate: true, id: "NSPanel_Firmware_Info", icon: "update", onColor: White, name: "Firmware Infos"},
            <PageItem>{ navigate: true, id: "NSPanel_Einstellungen", icon: "wrench-outline", onColor: White, name: "Screensaver"}
        ]
    };
    
            //Subpage 1 von Subpages_2
            let NSPanel_Infos: PageEntities =
            {
                "type": "cardEntities",
                "heading": "NSPanel Infos",
                "useColor": true,
                "subPage": true,
                "parent": Service,
                "items": [
                    <PageItem>{ id: AliasPath + 'Tasmota.Hardware', name: 'Hardware', icon: 'memory', offColor: MSYellow, onColor: MSYellow, useColor: true},
                    <PageItem>{ id: AliasPath + 'Sensor.ESP32.Temperature', name: "ESP Temperatur", icon: "thermometer", unit: "°C", offColor: MSYellow, onColor: MSYellow, useColor: true},
                    <PageItem>{ id: AliasPath + 'Tasmota.Uptime', name: "Uptime", icon: "timeline-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true},
                    <PageItem>{ id: AliasPath + 'Tasmota.Wifi.RSSI', name: "Wifi-Signal", icon: "signal-distance-variant", unit: "dBm", offColor: MSYellow, onColor: MSYellow, useColor: true}
                ]
            };
    
            //Subpage 2 von Subpages_2
            let NSPanel_Einstellungen: PageEntities =
            {
                'type': 'cardEntities',
                'heading': 'Screensaver',
                'useColor': true,
                'subPage': true,
                'parent': Service,
                'items': [
                    <PageItem>{ id: AliasPath + 'Dimmode.brightnessDay', name: 'Brightness Tag', icon: 'brightness-5', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
                    <PageItem>{ id: AliasPath + 'Dimmode.brightnessNight', name: 'Brightness Nacht', icon: 'brightness-4', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
                    <PageItem>{ id: AliasPath + 'Dimmode.hourDay', name: 'Stunde Tag', icon: 'sun-clock', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
                    <PageItem>{ id: AliasPath + 'Dimmode.hourNight', name: 'Stunde Nacht', icon: 'sun-clock-outline', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
                ]
            };
    
            //Subpage 3 von Subpages_2
            let NSPanel_Firmware_Info: PageEntities =
            {
                'type': 'cardEntities',
                'heading': 'Firmware-Updates',
                'useColor': true,
                'subPage': true,
                'parent': Service,
                'items': [
                    <PageItem>{ id: AliasPath + 'Tasmota.Version', name: 'Tasmota Firmware', offColor: MSYellow, onColor: MSYellow, useColor: true},
                    <PageItem>{ id: AliasPath + 'Display.TFTVersion', name: 'TFT-Firmware', offColor: MSYellow, onColor: MSYellow, useColor: true},
                    <PageItem>{ id: AliasPath + 'Display.BerryDriver', name: 'Berry-Treiber', offColor: MSYellow, onColor: MSYellow, useColor: true},
                    <PageItem>{ id: AliasPath + 'Display.Model', name: 'NSPanel Version', offColor: MSYellow, onColor: MSYellow, useColor: true}
                ]
            };
    
    
    ArmilarA Offline
    ArmilarA Offline
    Armilar
    Most Active Forum Testing
    schrieb am zuletzt editiert von
    #1219

    @coto

    Zu Frage 1)
    Es können eigentlich alle Thermostate eingebunden werden. Daher auch folgend die 0_userdata Datenpunkte, die als Übersetzung dienen. Ohne Blockly oder JS wird es nicht gehen.

    Ich habe die HMIP Thermostate, virtualisiere die aber ebenfalls über eigene Datenpunkte.

    So jetzt wird es klarer MANU = Veränderung der Setpoint-Temperatur, dann AUTO=false

    Ich überlege mir mal kurz etwas für eine Blockly-Logik


    Zu Frage 2)
    Die Seiten müssen in der Config eingetragen sein. Sind die drin unter Subpages?

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

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

    1 Antwort Letzte Antwort
    0
    • C coto

      @armilar

      Vielleicht brauch ich auch mal neue Thermostate. Welche hast du den getestet die auch funktionieren mit den Datenpunkten.

      AUTO_MODE true =AUTO=0
      AUTO_MODE false= keine Auswirkung
      BOOST_MODE true=BOOST=3

      MANU_MODE - ändern der Temperatur in diesem Datenpunkt = MANU=1 und SET_TEMPERATUR bekommt Wert von MANU_MODE

      alles noch Original.

      /********************************************************************************************************** */
      //Service Pages mit Auto-Alias (Nachfolgende Seiten werden mit Alias automatisch angelegt)
      /********************************************************************************************************** */
      
      let Service: PageEntities =
      {
          "type": "cardEntities",
          "heading": "NSPanel Service",
          "useColor": true,
          "subPage": false,
          "parent": undefined, 
          "items": [
              <PageItem>{ id: AliasPath + 'autoUpdate', name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen},
              <PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"},
              <PageItem>{ navigate: true, id: "NSPanel_Firmware_Info", icon: "update", onColor: White, name: "Firmware Infos"},
              <PageItem>{ navigate: true, id: "NSPanel_Einstellungen", icon: "wrench-outline", onColor: White, name: "Screensaver"}
          ]
      };
      
              //Subpage 1 von Subpages_2
              let NSPanel_Infos: PageEntities =
              {
                  "type": "cardEntities",
                  "heading": "NSPanel Infos",
                  "useColor": true,
                  "subPage": true,
                  "parent": Service,
                  "items": [
                      <PageItem>{ id: AliasPath + 'Tasmota.Hardware', name: 'Hardware', icon: 'memory', offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Sensor.ESP32.Temperature', name: "ESP Temperatur", icon: "thermometer", unit: "°C", offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Tasmota.Uptime', name: "Uptime", icon: "timeline-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Tasmota.Wifi.RSSI', name: "Wifi-Signal", icon: "signal-distance-variant", unit: "dBm", offColor: MSYellow, onColor: MSYellow, useColor: true}
                  ]
              };
      
              //Subpage 2 von Subpages_2
              let NSPanel_Einstellungen: PageEntities =
              {
                  'type': 'cardEntities',
                  'heading': 'Screensaver',
                  'useColor': true,
                  'subPage': true,
                  'parent': Service,
                  'items': [
                      <PageItem>{ id: AliasPath + 'Dimmode.brightnessDay', name: 'Brightness Tag', icon: 'brightness-5', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
                      <PageItem>{ id: AliasPath + 'Dimmode.brightnessNight', name: 'Brightness Nacht', icon: 'brightness-4', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
                      <PageItem>{ id: AliasPath + 'Dimmode.hourDay', name: 'Stunde Tag', icon: 'sun-clock', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
                      <PageItem>{ id: AliasPath + 'Dimmode.hourNight', name: 'Stunde Nacht', icon: 'sun-clock-outline', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
                  ]
              };
      
              //Subpage 3 von Subpages_2
              let NSPanel_Firmware_Info: PageEntities =
              {
                  'type': 'cardEntities',
                  'heading': 'Firmware-Updates',
                  'useColor': true,
                  'subPage': true,
                  'parent': Service,
                  'items': [
                      <PageItem>{ id: AliasPath + 'Tasmota.Version', name: 'Tasmota Firmware', offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Display.TFTVersion', name: 'TFT-Firmware', offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Display.BerryDriver', name: 'Berry-Treiber', offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Display.Model', name: 'NSPanel Version', offColor: MSYellow, onColor: MSYellow, useColor: true}
                  ]
              };
      
      
      ArmilarA Offline
      ArmilarA Offline
      Armilar
      Most Active Forum Testing
      schrieb am zuletzt editiert von Armilar
      #1220

      @coto

      So im Spoiler ist ein Blockly. Hoffe ich habe da alles korrekt geschrieben

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="%/xR(^)g5^9E^=:iOg`*">userdataPath</variable>
        </variables>
        <block type="variables_set" id="X-j`W}}BF!)o-3+*efc-" x="-138" y="-462">
          <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
          <value name="VALUE">
            <block type="text" id="27EXAifV@j[WLi|X89v}">
              <field name="TEXT">0_userdata.0.Homatic.Thermostate.OEQ0667828.4.</field>
            </block>
          </value>
          <next>
            <block type="comment" id=",uvQcLX`j6C.AA75DrZW">
              <field name="COMMENT">Am NSPanel wird auf Auto geschaltet </field>
              <next>
                <block type="on_ext" id="j{K~|bW6;I@lofgT4vd$">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                  <field name="CONDITION">ne</field>
                  <field name="ACK_CONDITION"></field>
                  <value name="OID0">
                    <shadow type="field_oid" id="UL3m@7$weS]7=yq(I?P0">
                      <field name="oid">default</field>
                    </shadow>
                    <block type="text_join" id="Gys1,yJgxvc6*zDXIGVA">
                      <mutation items="2"></mutation>
                      <value name="ADD0">
                        <block type="variables_get" id="[8diiUW8Ym4)4=KQ$s=H">
                          <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                        </block>
                      </value>
                      <value name="ADD1">
                        <block type="text" id="[)sRA~!%$1n=Fz#{QE:O">
                          <field name="TEXT">Automatic</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="STATEMENT">
                    <block type="control_ex" id="rHON.R*}k%w0VO)Q@U5," inline="true">
                      <field name="TYPE">false</field>
                      <field name="CLEAR_RUNNING">FALSE</field>
                      <value name="OID">
                        <shadow type="field_oid" id="-2GGVvyn8C)-7s]y!iFC">
                          <field name="oid">Object ID</field>
                        </shadow>
                        <block type="text" id="5+BLW_qM@Lr+~7M[@#L-">
                          <field name="TEXT">hm-rpc.0.OEQ0667828.4.AUTO_MODE</field>
                        </block>
                      </value>
                      <value name="VALUE">
                        <shadow type="logic_boolean" id="`naj-n,uyc0.)vdOJ$rH">
                          <field name="BOOL">TRUE</field>
                        </shadow>
                        <block type="logic_boolean" id="9jTx$$DZvix^u]0-#_C(">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                      <value name="DELAY_MS">
                        <shadow type="math_number" id="CU}e7)/uBktOHiK/i^}r">
                          <field name="NUM">0</field>
                        </shadow>
                      </value>
                      <next>
                        <block type="control_ex" id="A=8psqHjhHW$);in.k0O" inline="true">
                          <field name="TYPE">false</field>
                          <field name="CLEAR_RUNNING">FALSE</field>
                          <value name="OID">
                            <shadow type="field_oid">
                              <field name="oid">Object ID</field>
                            </shadow>
                            <block type="text_join" id="LmoSZw/CjrQed[4-l=bN">
                              <mutation items="2"></mutation>
                              <value name="ADD0">
                                <block type="variables_get" id="f]x+|[f!W}GNzf0KVu}f">
                                  <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                </block>
                              </value>
                              <value name="ADD1">
                                <block type="text" id="GzG^:cECXD^-jPam+|Cm">
                                  <field name="TEXT">Manual</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="VALUE">
                            <shadow type="logic_boolean">
                              <field name="BOOL">TRUE</field>
                            </shadow>
                            <block type="logic_boolean" id="eKG~%BD/0r3!hGgZ?4H/">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                          <value name="DELAY_MS">
                            <shadow type="math_number" id="/xUS7X!_0tHjQ/lYYlj9">
                              <field name="NUM">0</field>
                            </shadow>
                          </value>
                        </block>
                      </next>
                    </block>
                  </statement>
                  <next>
                    <block type="comment" id=".^0uHrUM+21EPMnW@/Aa">
                      <field name="COMMENT">Am NSPanel wird auf Temperatur geändert</field>
                      <next>
                        <block type="on_ext" id="rnf$MuxnU`senfY-F8SM">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                          <field name="CONDITION">ne</field>
                          <field name="ACK_CONDITION"></field>
                          <value name="OID0">
                            <shadow type="field_oid" id="rJx5Vxq(4|Y~.;2F6D!)">
                              <field name="oid">default</field>
                            </shadow>
                            <block type="text_join" id="Ec_?0i@=m]@]L5gEjOi?">
                              <mutation items="2"></mutation>
                              <value name="ADD0">
                                <block type="variables_get" id=".LVxszhxY,x/Y[ht(2Dk">
                                  <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                </block>
                              </value>
                              <value name="ADD1">
                                <block type="text" id="qIz$pgvJ|fZU}eKV%H@;">
                                  <field name="TEXT">Setpoint</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="STATEMENT">
                            <block type="control_ex" id="VAa5[r[!O|XD?h2zs4.L" inline="true">
                              <field name="TYPE">false</field>
                              <field name="CLEAR_RUNNING">FALSE</field>
                              <value name="OID">
                                <shadow type="field_oid" id="vteW+w!_2:C,eGV!!1De">
                                  <field name="oid">Object ID</field>
                                </shadow>
                                <block type="text_join" id="P:53ISJM8Wt12`LLp5C?">
                                  <mutation items="2"></mutation>
                                  <value name="ADD0">
                                    <block type="variables_get" id="^8EdIaZlvDJ`Z:PxenQJ">
                                      <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                    </block>
                                  </value>
                                  <value name="ADD1">
                                    <block type="text" id="rpq:atBJz,=pL/Tpfk?j">
                                      <field name="TEXT">Manual</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="VALUE">
                                <shadow type="logic_boolean">
                                  <field name="BOOL">TRUE</field>
                                </shadow>
                                <block type="logic_boolean" id="l1zqaM6/jSPS#ZF2YQT]">
                                  <field name="BOOL">TRUE</field>
                                </block>
                              </value>
                              <value name="DELAY_MS">
                                <shadow type="math_number" id="gzX:oq*R46?@J;sEN^Y{">
                                  <field name="NUM">0</field>
                                </shadow>
                              </value>
                              <next>
                                <block type="control_ex" id="a!%A#%_448?cbF0#E20I" inline="true">
                                  <field name="TYPE">false</field>
                                  <field name="CLEAR_RUNNING">FALSE</field>
                                  <value name="OID">
                                    <shadow type="field_oid">
                                      <field name="oid">Object ID</field>
                                    </shadow>
                                    <block type="text_join" id="Z=X7ZS=5{oFLhPFl$6J*">
                                      <mutation items="2"></mutation>
                                      <value name="ADD0">
                                        <block type="variables_get" id="LNZ/Yu]eOv*pYj!.D^Hp">
                                          <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                        </block>
                                      </value>
                                      <value name="ADD1">
                                        <block type="text" id="f(?W0s5a%=`*e.bl+U;j">
                                          <field name="TEXT">Automatic</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="VALUE">
                                    <shadow type="logic_boolean">
                                      <field name="BOOL">TRUE</field>
                                    </shadow>
                                    <block type="logic_boolean" id="C;jj4,F7s4Dh0_q^GJ(p">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                  <value name="DELAY_MS">
                                    <shadow type="math_number" id="cY5}Nl-3}~q8av0Z,^:%">
                                      <field name="NUM">0</field>
                                    </shadow>
                                  </value>
                                  <next>
                                    <block type="control_ex" id="vOC7f,;-wN|E6q66A#y5" inline="true">
                                      <field name="TYPE">false</field>
                                      <field name="CLEAR_RUNNING">FALSE</field>
                                      <value name="OID">
                                        <shadow type="field_oid" id="33Vhu-2{oMtX)_7C5xNJ">
                                          <field name="oid">Object ID</field>
                                        </shadow>
                                        <block type="text" id="cwRLYaGfnesiWV4ME~02">
                                          <field name="TEXT">hm-rpc.0.OEQ0667828.4.SET_TEMPERATUR</field>
                                        </block>
                                      </value>
                                      <value name="VALUE">
                                        <shadow type="logic_boolean" id="R6~2VB4nRpE-=epf^!.2">
                                          <field name="BOOL">TRUE</field>
                                        </shadow>
                                        <block type="on_source" id="{iIWE58cs91`J:+%zsHP">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="DELAY_MS">
                                        <shadow type="math_number" id="IX574hj%MQ)uiFy(QXfC">
                                          <field name="NUM">0</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </statement>
                          <next>
                            <block type="comment" id="~k%4o/5,IR_W}Vo9z5E5">
                              <field name="COMMENT">Am NSPanel wird auf Boost geschaltet</field>
                              <next>
                                <block type="on_ext" id="$[COE^lL{IylevSK@r$N">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                  <field name="CONDITION">ne</field>
                                  <field name="ACK_CONDITION"></field>
                                  <value name="OID0">
                                    <shadow type="field_oid">
                                      <field name="oid">default</field>
                                    </shadow>
                                    <block type="text_join" id="2E}4*|Pr_c6QxjZlXL#4">
                                      <mutation items="2"></mutation>
                                      <value name="ADD0">
                                        <block type="variables_get" id="H{sw([OtBhyRLVy[WQ?@">
                                          <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                        </block>
                                      </value>
                                      <value name="ADD1">
                                        <block type="text" id="ae-^6mBM`wUFkV9]!SUJ">
                                          <field name="TEXT">Boost</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <statement name="STATEMENT">
                                    <block type="control_ex" id="t6(RKz=ul#7hL#Yd2xW?" inline="true">
                                      <field name="TYPE">false</field>
                                      <field name="CLEAR_RUNNING">FALSE</field>
                                      <value name="OID">
                                        <shadow type="field_oid">
                                          <field name="oid">Object ID</field>
                                        </shadow>
                                        <block type="text" id="?Z[Yyrpj|OUCHpbA[r2b">
                                          <field name="TEXT">hm-rpc.0.OEQ0667828.4.BOOST_MODE</field>
                                        </block>
                                      </value>
                                      <value name="VALUE">
                                        <shadow type="logic_boolean">
                                          <field name="BOOL">TRUE</field>
                                        </shadow>
                                        <block type="logic_boolean" id="ILc-KKS#II*=$?-)1@5;">
                                          <field name="BOOL">TRUE</field>
                                        </block>
                                      </value>
                                      <value name="DELAY_MS">
                                        <shadow type="math_number" id="b*rW5=g.eIn$UGCXpk{)">
                                          <field name="NUM">0</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </statement>
                                  <next>
                                    <block type="comment" id="pq{0z}/,!fFo[r=xL?3^">
                                      <field name="COMMENT">BATTERY_STATE im Adapter ändert sich</field>
                                      <next>
                                        <block type="on_ext" id="2!C]E4+ZovPwb#O![]o0">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                          <field name="CONDITION">ne</field>
                                          <field name="ACK_CONDITION"></field>
                                          <value name="OID0">
                                            <shadow type="field_oid" id="v%SYL`)0SR7QG+O,}p:}">
                                              <field name="oid">default</field>
                                            </shadow>
                                            <block type="text" id="@*2/Gs5Z=d`=xtxpdg9l">
                                              <field name="TEXT">hm-rpc.0.OEQ0667828.4.BATTERY_STATE</field>
                                            </block>
                                          </value>
                                          <statement name="STATEMENT">
                                            <block type="comment" id="7aIa7fh7F8,20!qIV:aN">
                                              <field name="COMMENT">Wert 2,5 ist ausgedacht.</field>
                                              <next>
                                                <block type="comment" id="E{Eyaw120U8hRFMQTPP)">
                                                  <field name="COMMENT">Keine Ahnung wann die Batterie wirklich leer ist</field>
                                                  <next>
                                                    <block type="controls_if" id="Bx%+dY))9YYdkklHAAqI">
                                                      <mutation else="1"></mutation>
                                                      <value name="IF0">
                                                        <block type="logic_compare" id="THZ:h0AIFqeS8a4Q^/o^">
                                                          <field name="OP">LT</field>
                                                          <value name="A">
                                                            <block type="on_source" id="duq;S)%o5XaWTSmW}n}y">
                                                              <field name="ATTR">state.val</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <block type="math_number" id="ie`:G}d9,(LC{q[i_J4h">
                                                              <field name="NUM">2.5</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="control_ex" id="LClKu=C?jxEn~Ee]Wzc5" inline="true">
                                                          <field name="TYPE">false</field>
                                                          <field name="CLEAR_RUNNING">FALSE</field>
                                                          <value name="OID">
                                                            <shadow type="field_oid" id="Nw]~t%7!gKT6i=E)Map8">
                                                              <field name="oid">Object ID</field>
                                                            </shadow>
                                                            <block type="text_join" id="Q!0.BP9.%/0bX%]!wNfV">
                                                              <mutation items="2"></mutation>
                                                              <value name="ADD0">
                                                                <block type="variables_get" id="Tz3eTQdyBs9l;(pW(]]8">
                                                                  <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                                                </block>
                                                              </value>
                                                              <value name="ADD1">
                                                                <block type="text" id="VmE~0^%|++P{ynPp?AHc">
                                                                  <field name="TEXT">Lowbat</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <value name="VALUE">
                                                            <shadow type="logic_boolean">
                                                              <field name="BOOL">TRUE</field>
                                                            </shadow>
                                                            <block type="logic_boolean" id="Y}ZJdf5QlTB0=@nDq(%;">
                                                              <field name="BOOL">TRUE</field>
                                                            </block>
                                                          </value>
                                                          <value name="DELAY_MS">
                                                            <shadow type="math_number" id="a!J*o-:pD($Y=(^YE_{K">
                                                              <field name="NUM">0</field>
                                                            </shadow>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                      <statement name="ELSE">
                                                        <block type="control_ex" id=":s;z=CrWiuSM}Cs,l3*z" inline="true">
                                                          <field name="TYPE">false</field>
                                                          <field name="CLEAR_RUNNING">FALSE</field>
                                                          <value name="OID">
                                                            <shadow type="field_oid">
                                                              <field name="oid">Object ID</field>
                                                            </shadow>
                                                            <block type="text_join" id="]c1m)N,]xKl.D]m+I9*w">
                                                              <mutation items="2"></mutation>
                                                              <value name="ADD0">
                                                                <block type="variables_get" id="4!qxcx`M[}GZ)~@7_a9Q">
                                                                  <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                                                </block>
                                                              </value>
                                                              <value name="ADD1">
                                                                <block type="text" id="lYU+fpFo*l7D0xn;oqp^">
                                                                  <field name="TEXT">Lowbat</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <value name="VALUE">
                                                            <shadow type="logic_boolean">
                                                              <field name="BOOL">TRUE</field>
                                                            </shadow>
                                                            <block type="logic_boolean" id="8RyZCBo`8%N/(/cJq@c@">
                                                              <field name="BOOL">FALSE</field>
                                                            </block>
                                                          </value>
                                                          <value name="DELAY_MS">
                                                            <shadow type="math_number" id="U=O6uX|-`QW%X}YaBD5]">
                                                              <field name="NUM">0</field>
                                                            </shadow>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                          <next>
                                            <block type="comment" id="n`y@58sQ`+Ip[R!kBjk-">
                                              <field name="COMMENT">FAULT_REPORTING im Adapter ändert sich</field>
                                              <next>
                                                <block type="on_ext" id="f,5_N)xx_4E,RbWQiq-I">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                  <field name="CONDITION">ne</field>
                                                  <field name="ACK_CONDITION"></field>
                                                  <value name="OID0">
                                                    <shadow type="field_oid">
                                                      <field name="oid">default</field>
                                                    </shadow>
                                                    <block type="text" id="wO|:^@umOB:5.+=xrC:T">
                                                      <field name="TEXT">hm-rpc.0.OEQ0667828.4.FAULT_REPORTING</field>
                                                    </block>
                                                  </value>
                                                  <statement name="STATEMENT">
                                                    <block type="controls_if" id="^Lti.NU)S9tV^JvxY#|V">
                                                      <mutation else="1"></mutation>
                                                      <value name="IF0">
                                                        <block type="logic_compare" id="twb2_~HKNJLw*t~iei7*">
                                                          <field name="OP">LT</field>
                                                          <value name="A">
                                                            <block type="on_source" id="q;QmlW4j0L@[8SiNG(}!">
                                                              <field name="ATTR">state.val</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <block type="math_number" id="P}F@tPT`pXxiD2`1ik,`">
                                                              <field name="NUM">2.5</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="control_ex" id="lb15K]4z_=8NE6}RgxvS" inline="true">
                                                          <field name="TYPE">false</field>
                                                          <field name="CLEAR_RUNNING">FALSE</field>
                                                          <value name="OID">
                                                            <shadow type="field_oid">
                                                              <field name="oid">Object ID</field>
                                                            </shadow>
                                                            <block type="text_join" id="Yy}ZGz$j4Xx;mzJEgM/*">
                                                              <mutation items="2"></mutation>
                                                              <value name="ADD0">
                                                                <block type="variables_get" id="#/N|`jy=,]jS#IOHI=F;">
                                                                  <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                                                </block>
                                                              </value>
                                                              <value name="ADD1">
                                                                <block type="text" id="TQ?,RMkzfr{;,2bsh[=H">
                                                                  <field name="TEXT">Maintain</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <value name="VALUE">
                                                            <shadow type="logic_boolean">
                                                              <field name="BOOL">TRUE</field>
                                                            </shadow>
                                                            <block type="logic_boolean" id="l;aa[h.esax%Z[EZy-|`">
                                                              <field name="BOOL">TRUE</field>
                                                            </block>
                                                          </value>
                                                          <value name="DELAY_MS">
                                                            <shadow type="math_number" id="hN}}Siq_!z-@{iHHt-Do">
                                                              <field name="NUM">0</field>
                                                            </shadow>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                      <statement name="ELSE">
                                                        <block type="control_ex" id="8=!5C.CtxhZqLmN=dqOs" inline="true">
                                                          <field name="TYPE">false</field>
                                                          <field name="CLEAR_RUNNING">FALSE</field>
                                                          <value name="OID">
                                                            <shadow type="field_oid">
                                                              <field name="oid">Object ID</field>
                                                            </shadow>
                                                            <block type="text_join" id="q~qtEzni;`24R0C%!2ck">
                                                              <mutation items="2"></mutation>
                                                              <value name="ADD0">
                                                                <block type="variables_get" id="$f.qJVIwYLj4nvyEMxAB">
                                                                  <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                                                </block>
                                                              </value>
                                                              <value name="ADD1">
                                                                <block type="text" id="[WKkJ8E,SMv|]t_Su1:~">
                                                                  <field name="TEXT">Maintain</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <value name="VALUE">
                                                            <shadow type="logic_boolean">
                                                              <field name="BOOL">TRUE</field>
                                                            </shadow>
                                                            <block type="logic_boolean" id="^GMa:eYG*G{gdNUyOK2t">
                                                              <field name="BOOL">FALSE</field>
                                                            </block>
                                                          </value>
                                                          <value name="DELAY_MS">
                                                            <shadow type="math_number" id="p#O@u,+TIl4_)K|MmXI-">
                                                              <field name="NUM">0</field>
                                                            </shadow>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </next>
        </block>
      </xml>
      

      Das Blockly geht davon aus, dass du folgende Datenpunkte angelegt hast (Falls andere Pfad gewünscht, dann abändern; im Blockly auch):
      0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Automatic (boolean)
      0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Manual (boolean)
      0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Boost (boolean)
      0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Setpoint (number)
      0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Lowbat (boolean)
      0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Maintain (boolean)

      Dann benötigst du einen ALIAS vom Gerätetypen Thermostat.
      SET auf 0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Setpoint
      ACTUAL auf den bevorzugten Raumtemperatursensor
      BOOST auf 0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Boost

      Zusätzliche im ALIAS anlegen
      LOWBAT auf 0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Lowbat
      MAINTAIN auf 0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Maintain

      unter Mode im ALIAS
      99ae1b6e-e638-433d-a82a-f320f8136140-image.png

      --> auf Control_Mode im Adapter

      0499a6e3-8a47-44b3-8f94-f1dd2e71bebd-image.png

      0 = AUTO
      1 = MANUAL
      2 = PARTY
      3 = BOOST

      Hoffe dann funktioniert schon alles. Kann es leider nicht testen!

      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.

      C 1 Antwort Letzte Antwort
      0
      • ArmilarA Armilar

        @coto

        So im Spoiler ist ein Blockly. Hoffe ich habe da alles korrekt geschrieben

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="%/xR(^)g5^9E^=:iOg`*">userdataPath</variable>
          </variables>
          <block type="variables_set" id="X-j`W}}BF!)o-3+*efc-" x="-138" y="-462">
            <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
            <value name="VALUE">
              <block type="text" id="27EXAifV@j[WLi|X89v}">
                <field name="TEXT">0_userdata.0.Homatic.Thermostate.OEQ0667828.4.</field>
              </block>
            </value>
            <next>
              <block type="comment" id=",uvQcLX`j6C.AA75DrZW">
                <field name="COMMENT">Am NSPanel wird auf Auto geschaltet </field>
                <next>
                  <block type="on_ext" id="j{K~|bW6;I@lofgT4vd$">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                    <field name="CONDITION">ne</field>
                    <field name="ACK_CONDITION"></field>
                    <value name="OID0">
                      <shadow type="field_oid" id="UL3m@7$weS]7=yq(I?P0">
                        <field name="oid">default</field>
                      </shadow>
                      <block type="text_join" id="Gys1,yJgxvc6*zDXIGVA">
                        <mutation items="2"></mutation>
                        <value name="ADD0">
                          <block type="variables_get" id="[8diiUW8Ym4)4=KQ$s=H">
                            <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                          </block>
                        </value>
                        <value name="ADD1">
                          <block type="text" id="[)sRA~!%$1n=Fz#{QE:O">
                            <field name="TEXT">Automatic</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="STATEMENT">
                      <block type="control_ex" id="rHON.R*}k%w0VO)Q@U5," inline="true">
                        <field name="TYPE">false</field>
                        <field name="CLEAR_RUNNING">FALSE</field>
                        <value name="OID">
                          <shadow type="field_oid" id="-2GGVvyn8C)-7s]y!iFC">
                            <field name="oid">Object ID</field>
                          </shadow>
                          <block type="text" id="5+BLW_qM@Lr+~7M[@#L-">
                            <field name="TEXT">hm-rpc.0.OEQ0667828.4.AUTO_MODE</field>
                          </block>
                        </value>
                        <value name="VALUE">
                          <shadow type="logic_boolean" id="`naj-n,uyc0.)vdOJ$rH">
                            <field name="BOOL">TRUE</field>
                          </shadow>
                          <block type="logic_boolean" id="9jTx$$DZvix^u]0-#_C(">
                            <field name="BOOL">TRUE</field>
                          </block>
                        </value>
                        <value name="DELAY_MS">
                          <shadow type="math_number" id="CU}e7)/uBktOHiK/i^}r">
                            <field name="NUM">0</field>
                          </shadow>
                        </value>
                        <next>
                          <block type="control_ex" id="A=8psqHjhHW$);in.k0O" inline="true">
                            <field name="TYPE">false</field>
                            <field name="CLEAR_RUNNING">FALSE</field>
                            <value name="OID">
                              <shadow type="field_oid">
                                <field name="oid">Object ID</field>
                              </shadow>
                              <block type="text_join" id="LmoSZw/CjrQed[4-l=bN">
                                <mutation items="2"></mutation>
                                <value name="ADD0">
                                  <block type="variables_get" id="f]x+|[f!W}GNzf0KVu}f">
                                    <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                  </block>
                                </value>
                                <value name="ADD1">
                                  <block type="text" id="GzG^:cECXD^-jPam+|Cm">
                                    <field name="TEXT">Manual</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <value name="VALUE">
                              <shadow type="logic_boolean">
                                <field name="BOOL">TRUE</field>
                              </shadow>
                              <block type="logic_boolean" id="eKG~%BD/0r3!hGgZ?4H/">
                                <field name="BOOL">FALSE</field>
                              </block>
                            </value>
                            <value name="DELAY_MS">
                              <shadow type="math_number" id="/xUS7X!_0tHjQ/lYYlj9">
                                <field name="NUM">0</field>
                              </shadow>
                            </value>
                          </block>
                        </next>
                      </block>
                    </statement>
                    <next>
                      <block type="comment" id=".^0uHrUM+21EPMnW@/Aa">
                        <field name="COMMENT">Am NSPanel wird auf Temperatur geändert</field>
                        <next>
                          <block type="on_ext" id="rnf$MuxnU`senfY-F8SM">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                            <field name="CONDITION">ne</field>
                            <field name="ACK_CONDITION"></field>
                            <value name="OID0">
                              <shadow type="field_oid" id="rJx5Vxq(4|Y~.;2F6D!)">
                                <field name="oid">default</field>
                              </shadow>
                              <block type="text_join" id="Ec_?0i@=m]@]L5gEjOi?">
                                <mutation items="2"></mutation>
                                <value name="ADD0">
                                  <block type="variables_get" id=".LVxszhxY,x/Y[ht(2Dk">
                                    <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                  </block>
                                </value>
                                <value name="ADD1">
                                  <block type="text" id="qIz$pgvJ|fZU}eKV%H@;">
                                    <field name="TEXT">Setpoint</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="STATEMENT">
                              <block type="control_ex" id="VAa5[r[!O|XD?h2zs4.L" inline="true">
                                <field name="TYPE">false</field>
                                <field name="CLEAR_RUNNING">FALSE</field>
                                <value name="OID">
                                  <shadow type="field_oid" id="vteW+w!_2:C,eGV!!1De">
                                    <field name="oid">Object ID</field>
                                  </shadow>
                                  <block type="text_join" id="P:53ISJM8Wt12`LLp5C?">
                                    <mutation items="2"></mutation>
                                    <value name="ADD0">
                                      <block type="variables_get" id="^8EdIaZlvDJ`Z:PxenQJ">
                                        <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                      </block>
                                    </value>
                                    <value name="ADD1">
                                      <block type="text" id="rpq:atBJz,=pL/Tpfk?j">
                                        <field name="TEXT">Manual</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <value name="VALUE">
                                  <shadow type="logic_boolean">
                                    <field name="BOOL">TRUE</field>
                                  </shadow>
                                  <block type="logic_boolean" id="l1zqaM6/jSPS#ZF2YQT]">
                                    <field name="BOOL">TRUE</field>
                                  </block>
                                </value>
                                <value name="DELAY_MS">
                                  <shadow type="math_number" id="gzX:oq*R46?@J;sEN^Y{">
                                    <field name="NUM">0</field>
                                  </shadow>
                                </value>
                                <next>
                                  <block type="control_ex" id="a!%A#%_448?cbF0#E20I" inline="true">
                                    <field name="TYPE">false</field>
                                    <field name="CLEAR_RUNNING">FALSE</field>
                                    <value name="OID">
                                      <shadow type="field_oid">
                                        <field name="oid">Object ID</field>
                                      </shadow>
                                      <block type="text_join" id="Z=X7ZS=5{oFLhPFl$6J*">
                                        <mutation items="2"></mutation>
                                        <value name="ADD0">
                                          <block type="variables_get" id="LNZ/Yu]eOv*pYj!.D^Hp">
                                            <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                          </block>
                                        </value>
                                        <value name="ADD1">
                                          <block type="text" id="f(?W0s5a%=`*e.bl+U;j">
                                            <field name="TEXT">Automatic</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="VALUE">
                                      <shadow type="logic_boolean">
                                        <field name="BOOL">TRUE</field>
                                      </shadow>
                                      <block type="logic_boolean" id="C;jj4,F7s4Dh0_q^GJ(p">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                    <value name="DELAY_MS">
                                      <shadow type="math_number" id="cY5}Nl-3}~q8av0Z,^:%">
                                        <field name="NUM">0</field>
                                      </shadow>
                                    </value>
                                    <next>
                                      <block type="control_ex" id="vOC7f,;-wN|E6q66A#y5" inline="true">
                                        <field name="TYPE">false</field>
                                        <field name="CLEAR_RUNNING">FALSE</field>
                                        <value name="OID">
                                          <shadow type="field_oid" id="33Vhu-2{oMtX)_7C5xNJ">
                                            <field name="oid">Object ID</field>
                                          </shadow>
                                          <block type="text" id="cwRLYaGfnesiWV4ME~02">
                                            <field name="TEXT">hm-rpc.0.OEQ0667828.4.SET_TEMPERATUR</field>
                                          </block>
                                        </value>
                                        <value name="VALUE">
                                          <shadow type="logic_boolean" id="R6~2VB4nRpE-=epf^!.2">
                                            <field name="BOOL">TRUE</field>
                                          </shadow>
                                          <block type="on_source" id="{iIWE58cs91`J:+%zsHP">
                                            <field name="ATTR">state.val</field>
                                          </block>
                                        </value>
                                        <value name="DELAY_MS">
                                          <shadow type="math_number" id="IX574hj%MQ)uiFy(QXfC">
                                            <field name="NUM">0</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </statement>
                            <next>
                              <block type="comment" id="~k%4o/5,IR_W}Vo9z5E5">
                                <field name="COMMENT">Am NSPanel wird auf Boost geschaltet</field>
                                <next>
                                  <block type="on_ext" id="$[COE^lL{IylevSK@r$N">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                    <field name="CONDITION">ne</field>
                                    <field name="ACK_CONDITION"></field>
                                    <value name="OID0">
                                      <shadow type="field_oid">
                                        <field name="oid">default</field>
                                      </shadow>
                                      <block type="text_join" id="2E}4*|Pr_c6QxjZlXL#4">
                                        <mutation items="2"></mutation>
                                        <value name="ADD0">
                                          <block type="variables_get" id="H{sw([OtBhyRLVy[WQ?@">
                                            <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                          </block>
                                        </value>
                                        <value name="ADD1">
                                          <block type="text" id="ae-^6mBM`wUFkV9]!SUJ">
                                            <field name="TEXT">Boost</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="STATEMENT">
                                      <block type="control_ex" id="t6(RKz=ul#7hL#Yd2xW?" inline="true">
                                        <field name="TYPE">false</field>
                                        <field name="CLEAR_RUNNING">FALSE</field>
                                        <value name="OID">
                                          <shadow type="field_oid">
                                            <field name="oid">Object ID</field>
                                          </shadow>
                                          <block type="text" id="?Z[Yyrpj|OUCHpbA[r2b">
                                            <field name="TEXT">hm-rpc.0.OEQ0667828.4.BOOST_MODE</field>
                                          </block>
                                        </value>
                                        <value name="VALUE">
                                          <shadow type="logic_boolean">
                                            <field name="BOOL">TRUE</field>
                                          </shadow>
                                          <block type="logic_boolean" id="ILc-KKS#II*=$?-)1@5;">
                                            <field name="BOOL">TRUE</field>
                                          </block>
                                        </value>
                                        <value name="DELAY_MS">
                                          <shadow type="math_number" id="b*rW5=g.eIn$UGCXpk{)">
                                            <field name="NUM">0</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="comment" id="pq{0z}/,!fFo[r=xL?3^">
                                        <field name="COMMENT">BATTERY_STATE im Adapter ändert sich</field>
                                        <next>
                                          <block type="on_ext" id="2!C]E4+ZovPwb#O![]o0">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                            <field name="CONDITION">ne</field>
                                            <field name="ACK_CONDITION"></field>
                                            <value name="OID0">
                                              <shadow type="field_oid" id="v%SYL`)0SR7QG+O,}p:}">
                                                <field name="oid">default</field>
                                              </shadow>
                                              <block type="text" id="@*2/Gs5Z=d`=xtxpdg9l">
                                                <field name="TEXT">hm-rpc.0.OEQ0667828.4.BATTERY_STATE</field>
                                              </block>
                                            </value>
                                            <statement name="STATEMENT">
                                              <block type="comment" id="7aIa7fh7F8,20!qIV:aN">
                                                <field name="COMMENT">Wert 2,5 ist ausgedacht.</field>
                                                <next>
                                                  <block type="comment" id="E{Eyaw120U8hRFMQTPP)">
                                                    <field name="COMMENT">Keine Ahnung wann die Batterie wirklich leer ist</field>
                                                    <next>
                                                      <block type="controls_if" id="Bx%+dY))9YYdkklHAAqI">
                                                        <mutation else="1"></mutation>
                                                        <value name="IF0">
                                                          <block type="logic_compare" id="THZ:h0AIFqeS8a4Q^/o^">
                                                            <field name="OP">LT</field>
                                                            <value name="A">
                                                              <block type="on_source" id="duq;S)%o5XaWTSmW}n}y">
                                                                <field name="ATTR">state.val</field>
                                                              </block>
                                                            </value>
                                                            <value name="B">
                                                              <block type="math_number" id="ie`:G}d9,(LC{q[i_J4h">
                                                                <field name="NUM">2.5</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <statement name="DO0">
                                                          <block type="control_ex" id="LClKu=C?jxEn~Ee]Wzc5" inline="true">
                                                            <field name="TYPE">false</field>
                                                            <field name="CLEAR_RUNNING">FALSE</field>
                                                            <value name="OID">
                                                              <shadow type="field_oid" id="Nw]~t%7!gKT6i=E)Map8">
                                                                <field name="oid">Object ID</field>
                                                              </shadow>
                                                              <block type="text_join" id="Q!0.BP9.%/0bX%]!wNfV">
                                                                <mutation items="2"></mutation>
                                                                <value name="ADD0">
                                                                  <block type="variables_get" id="Tz3eTQdyBs9l;(pW(]]8">
                                                                    <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD1">
                                                                  <block type="text" id="VmE~0^%|++P{ynPp?AHc">
                                                                    <field name="TEXT">Lowbat</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <value name="VALUE">
                                                              <shadow type="logic_boolean">
                                                                <field name="BOOL">TRUE</field>
                                                              </shadow>
                                                              <block type="logic_boolean" id="Y}ZJdf5QlTB0=@nDq(%;">
                                                                <field name="BOOL">TRUE</field>
                                                              </block>
                                                            </value>
                                                            <value name="DELAY_MS">
                                                              <shadow type="math_number" id="a!J*o-:pD($Y=(^YE_{K">
                                                                <field name="NUM">0</field>
                                                              </shadow>
                                                            </value>
                                                          </block>
                                                        </statement>
                                                        <statement name="ELSE">
                                                          <block type="control_ex" id=":s;z=CrWiuSM}Cs,l3*z" inline="true">
                                                            <field name="TYPE">false</field>
                                                            <field name="CLEAR_RUNNING">FALSE</field>
                                                            <value name="OID">
                                                              <shadow type="field_oid">
                                                                <field name="oid">Object ID</field>
                                                              </shadow>
                                                              <block type="text_join" id="]c1m)N,]xKl.D]m+I9*w">
                                                                <mutation items="2"></mutation>
                                                                <value name="ADD0">
                                                                  <block type="variables_get" id="4!qxcx`M[}GZ)~@7_a9Q">
                                                                    <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD1">
                                                                  <block type="text" id="lYU+fpFo*l7D0xn;oqp^">
                                                                    <field name="TEXT">Lowbat</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <value name="VALUE">
                                                              <shadow type="logic_boolean">
                                                                <field name="BOOL">TRUE</field>
                                                              </shadow>
                                                              <block type="logic_boolean" id="8RyZCBo`8%N/(/cJq@c@">
                                                                <field name="BOOL">FALSE</field>
                                                              </block>
                                                            </value>
                                                            <value name="DELAY_MS">
                                                              <shadow type="math_number" id="U=O6uX|-`QW%X}YaBD5]">
                                                                <field name="NUM">0</field>
                                                              </shadow>
                                                            </value>
                                                          </block>
                                                        </statement>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </statement>
                                            <next>
                                              <block type="comment" id="n`y@58sQ`+Ip[R!kBjk-">
                                                <field name="COMMENT">FAULT_REPORTING im Adapter ändert sich</field>
                                                <next>
                                                  <block type="on_ext" id="f,5_N)xx_4E,RbWQiq-I">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                    <field name="CONDITION">ne</field>
                                                    <field name="ACK_CONDITION"></field>
                                                    <value name="OID0">
                                                      <shadow type="field_oid">
                                                        <field name="oid">default</field>
                                                      </shadow>
                                                      <block type="text" id="wO|:^@umOB:5.+=xrC:T">
                                                        <field name="TEXT">hm-rpc.0.OEQ0667828.4.FAULT_REPORTING</field>
                                                      </block>
                                                    </value>
                                                    <statement name="STATEMENT">
                                                      <block type="controls_if" id="^Lti.NU)S9tV^JvxY#|V">
                                                        <mutation else="1"></mutation>
                                                        <value name="IF0">
                                                          <block type="logic_compare" id="twb2_~HKNJLw*t~iei7*">
                                                            <field name="OP">LT</field>
                                                            <value name="A">
                                                              <block type="on_source" id="q;QmlW4j0L@[8SiNG(}!">
                                                                <field name="ATTR">state.val</field>
                                                              </block>
                                                            </value>
                                                            <value name="B">
                                                              <block type="math_number" id="P}F@tPT`pXxiD2`1ik,`">
                                                                <field name="NUM">2.5</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <statement name="DO0">
                                                          <block type="control_ex" id="lb15K]4z_=8NE6}RgxvS" inline="true">
                                                            <field name="TYPE">false</field>
                                                            <field name="CLEAR_RUNNING">FALSE</field>
                                                            <value name="OID">
                                                              <shadow type="field_oid">
                                                                <field name="oid">Object ID</field>
                                                              </shadow>
                                                              <block type="text_join" id="Yy}ZGz$j4Xx;mzJEgM/*">
                                                                <mutation items="2"></mutation>
                                                                <value name="ADD0">
                                                                  <block type="variables_get" id="#/N|`jy=,]jS#IOHI=F;">
                                                                    <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD1">
                                                                  <block type="text" id="TQ?,RMkzfr{;,2bsh[=H">
                                                                    <field name="TEXT">Maintain</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <value name="VALUE">
                                                              <shadow type="logic_boolean">
                                                                <field name="BOOL">TRUE</field>
                                                              </shadow>
                                                              <block type="logic_boolean" id="l;aa[h.esax%Z[EZy-|`">
                                                                <field name="BOOL">TRUE</field>
                                                              </block>
                                                            </value>
                                                            <value name="DELAY_MS">
                                                              <shadow type="math_number" id="hN}}Siq_!z-@{iHHt-Do">
                                                                <field name="NUM">0</field>
                                                              </shadow>
                                                            </value>
                                                          </block>
                                                        </statement>
                                                        <statement name="ELSE">
                                                          <block type="control_ex" id="8=!5C.CtxhZqLmN=dqOs" inline="true">
                                                            <field name="TYPE">false</field>
                                                            <field name="CLEAR_RUNNING">FALSE</field>
                                                            <value name="OID">
                                                              <shadow type="field_oid">
                                                                <field name="oid">Object ID</field>
                                                              </shadow>
                                                              <block type="text_join" id="q~qtEzni;`24R0C%!2ck">
                                                                <mutation items="2"></mutation>
                                                                <value name="ADD0">
                                                                  <block type="variables_get" id="$f.qJVIwYLj4nvyEMxAB">
                                                                    <field name="VAR" id="%/xR(^)g5^9E^=:iOg`*">userdataPath</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD1">
                                                                  <block type="text" id="[WKkJ8E,SMv|]t_Su1:~">
                                                                    <field name="TEXT">Maintain</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <value name="VALUE">
                                                              <shadow type="logic_boolean">
                                                                <field name="BOOL">TRUE</field>
                                                              </shadow>
                                                              <block type="logic_boolean" id="^GMa:eYG*G{gdNUyOK2t">
                                                                <field name="BOOL">FALSE</field>
                                                              </block>
                                                            </value>
                                                            <value name="DELAY_MS">
                                                              <shadow type="math_number" id="p#O@u,+TIl4_)K|MmXI-">
                                                                <field name="NUM">0</field>
                                                              </shadow>
                                                            </value>
                                                          </block>
                                                        </statement>
                                                      </block>
                                                    </statement>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </xml>
        

        Das Blockly geht davon aus, dass du folgende Datenpunkte angelegt hast (Falls andere Pfad gewünscht, dann abändern; im Blockly auch):
        0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Automatic (boolean)
        0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Manual (boolean)
        0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Boost (boolean)
        0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Setpoint (number)
        0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Lowbat (boolean)
        0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Maintain (boolean)

        Dann benötigst du einen ALIAS vom Gerätetypen Thermostat.
        SET auf 0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Setpoint
        ACTUAL auf den bevorzugten Raumtemperatursensor
        BOOST auf 0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Boost

        Zusätzliche im ALIAS anlegen
        LOWBAT auf 0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Lowbat
        MAINTAIN auf 0_userdata.0.Homatic.Thermostate.OEQ0667828.4.Maintain

        unter Mode im ALIAS
        99ae1b6e-e638-433d-a82a-f320f8136140-image.png

        --> auf Control_Mode im Adapter

        0499a6e3-8a47-44b3-8f94-f1dd2e71bebd-image.png

        0 = AUTO
        1 = MANUAL
        2 = PARTY
        3 = BOOST

        Hoffe dann funktioniert schon alles. Kann es leider nicht testen!

        C Offline
        C Offline
        coto
        schrieb am zuletzt editiert von
        #1221

        @armilar

        Danke, das werde ich morgen dann mal in Ruhe ausprobieren.

        Zu Frage 2)
        Die Seiten müssen in der Config eingetragen sein. Sind die drin unter Subpages?

        Ich weiß jetzt nicht ob wir da aneinander vorbei sprechen.
        Die Config ist fast Original. Ich fange gerade an mich da durchzutesten,

        /*-----------------------------------------------------------------------
        TypeScript v3.6.0.4 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar/@Sternmiere/@Britzelpuf
        - abgestimmt auf TFT 45 / v3.6.0 / BerryDriver 6 / Tasmota 12.2.0
        @joBr99 Projekt: https://github.com/joBr99/nspanel-lovelace-ui/tree/main/ioBroker
        NsPanelTs.ts (dieses TypeScript in ioBroker) Stable: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts
        icon_mapping.ts: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts (TypeScript muss in global liegen)
        ioBroker-Unterstützung: https://forum.iobroker.net/topic/50888/sonoff-nspanel
        WIKI zu diesem Projekt unter: https://github.com/joBr99/nspanel-lovelace-ui/wiki (siehe Sidebar)
        Icons unter: https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html
        *******************************************************************************
        Achtung Änderung des Sonoff ESP-Temperatursensors
        !!! Bitte "SetOption146 1" in der Tasmota-Console ausführen !!!
        *******************************************************************************
        ReleaseNotes:
            Bugfixes und Erweiterungen:
                - cardQR (für Gäste WLAN)
                - cardThermo (Neues Design für Alias Thermostat und zusätzlich für Alias Klimaanlage)
                - 08.05.2022 - v2.9.0 - Menüpfeile bei HardwareButtons (button1Page; button2Page) mit Navigation auf Page 0
                - 08.05.2022 - v2.9.0 - Standard-Brightness über neuen Parameter active einstellbar (Test mit 2.9.3)
                - 08.05.2022 - v2.9.0 - Schalter (Licht, Dimmer, Hue, etc) in cardGrid lassen sich wieder schalten
                - 14.06.2022 - v2.9.0 - Aktion auf Submenüs schaltet unmittelbar auf vorheriges Mainmenu (Many thanks to Grrzzz)
                - 14.06.2022 - v2.9.0 - Menü-Pfeile in Subpages (z.B. card QR, cardMedia, etc) (Many thanks to Grrzzz)
                - 15.06.2022 - v3.0.0 - Date/Time im Screensaver auf Basis localString (de-DE/en-EN/nl-NL/etc.)
                - 16.06.2022 - v3.0.0 - Multilingual - config.locale (en-EN, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.)
                - 16.06.2022 - v3.0.0 - Bugfix by Grrzzz - Subpages
                - 18.06.2022 - v3.1.0 - Längere Textfelder in cardEntities
                - 18.06.2022 - V3.1.0 - Detail-Page Lights/Shutter hat neuen Parameter "id"
                - 19.06.2022 - v3.1.0 - Bugfix toLocalTimeString in en-EN/en-US
                - 19.06.2022 - v3.1.0 - Fehler in findLocale abgefangen
                - 19.06.2022 - v3.1.0 - Umstellung auf "Home Assistant" Sprachfile
                - 19.06.2022 - v3.1.0 - Alias "light" und "socket" haben optionalen Parameter icon2 für negative Zustände
                - 29.06.2022 - v3.1.1 - Bugfix Github #286 (Active Page) + Bugfix pageThermo, pageMedia, pageAlarm as first Page
                - 25.08.2022 - v3.1.0 - Code-Verbesserungen (klein0r)
                - 26.08.2022 - v3.2.0 - pageItem mit CIE (XY) Parameter für ColorWheel (Steuerung für z.B Deconz-Farben bei denen Hue nicht greift)
                - 28.08.2022 - v3.2.0 - Wechsel zwischen Weather-Forecast und eigenen Datenpunkten im Screensaver (minütlich)
                - 28.08.2022 - v3.2.0 - Bugfix für 3.2.0 in GenerateDetailPage: Color-Language nicht über findLocales, da nicht in Sprachfile enthalten
                - 29.08.2022 - v3.3.0 - Upgrade TFT 40
                - 29.08.2022 - v3.3.1 - Upgrade TFT 41
                - 04.09.2022 - v3.3.1 - Überarbeitung und BugFix für cardAlarm
                - 13.09.2022 - v3.3.1.3 BugFix Screensaver Toggle
                - 13.09.2022 - v3.3.1.3 Überarbeitung und BugFix und Refresh Features für cardMedia (Breaking Changes)
                - 13.09.2022 - v3.3.1.3 Hinzufügen von SpotifyPremium, Sonos und Chromecast (Google home) zur cardMedia-Logik
                - 15.09.2022 - V3.4.0 - BugFix Dimmode
                - 15.09.2022 - v3.4.0   Upgrade TFT 42
                - 15.09.2022 - V3.4.0 - Colormode für Screensaver + AutoColor WeatherForecast
                - 16.09.2022 - v3.4.0.1 Visualisierung der Relay Zustände (MRIcons) im Screensaver + Bugfix Screensaver MRIcon2
                - 17.09.2022 - v3.4.0.2 Bugfix for screensaver icons with scaled colors
                - 17.09.2022 - v3.4.0.3 Bugfix bNext / bPrev by joBr99
                - 18.09.2022 - v3.4.0.4 Add On/Off Colors in config.mrIcon1ScreensaverEntity and config.mrIcon2ScreensaverEntity
                - 19.09.2022 - v3.4.0.5 Add Mode to cardThermo (Alias Thermostat)
                - 03.10.2022 - v3.4.0.6 Add 5 Entities in US Panel Version to cardEntities
                - 03.10.2022 - v3.4.0.6 Fix screenSaverDoubleClick
                - 03.10.2022 - v3.4.0.6 Add cardPower (experimental)
                - 05.10.2022 - v3.4.0.6 Add sueezeboxrpc to cardMedia
                - 07.10.2022 - v3.4.0.6 Time-configurable change for screensaver icons
                - 07.10.2022 - v3.5.0   Upgrade TFT 43
                - 07.10.2022 - v3.5.0   Add Backgroundcolor to Pages
                - 08.10.2022 - v3.5.0   Add Tilt-Slider and TILT_Fucntions (Open/Stop/Close) to Blinds/Cover/Shutter popUp
                - 12.10.2022 - v3.5.0   Add PageNavigation via Datapoint
                - 25.10.2022 - v3.5.0   Add New Parameters to popUpNotify / Layout 2
                - 26.10.2022 - v3.5.0.1 Fix Thermostat for tado Support (by Sternmiere)
                - 27.10.2022 - v3.5.0.1 Add VirtualDevice Gate
                - 27.10.2022 - v3.5.0.2 Applied Boy Scout Rule (Fixed some typos, changed var to let, fixed min/max colorTemp Bug)
                - 30.10.2022 - v3.5.0.3 Fixed Media Play/Pause icon for alexa (and others) devices
                - 31.10.2022 - v3.5.0.4 Reengineering Media Subscriptions
                - 02.11.2022 - v3.5.0.5 Page navigation continues with page 0 from the last page
                - 04.11.2022 - v3.5.0.5 Create Auto-Alias for Service Pages
                - 07.11.2022 - v3.5.0.5 Create Auto-Alias for Alexa2, Spotify-Premium, Sonos
                - 08.11.2022 - v3.5.0.5 Create Auto-Alias for Wheather-Forcast (Screensaver Big-Icon)
                - 07.10.2022 - v3.6.0   Upgrade TFT 45
                - 09.11.2022 - v3.6.0   Add new Alias-DeviceTyp cie (control colors with XY)
                - 16.11.2022 - v3.6.0   Control Relay 1 + 2 via Datapoints
                - 17.11.2022 - v3.6.0   Add Datapoint to Control Screensaver-Dimmode
                - 17.11.2022 - v3.6.0   Change to Page after bExit 
                - 18.11.2022 - v3.6.0   Add cardChart by fumanchi (only on DEV)
                - 24.11.2022 - v3.6.0   Add Background Color Switch via DP
                - 26.11.2022 - v3.6.0   Add cardMedia Colors
                - 26.11.2022 - v3.6.0   Add cardThermostat Popup 
                - 28.11.2022 - v3.6.0.1 Bugfix in bExit
                - 29.11.2022 - v3.6.0.2 Update Berry Version 6
                - 30.11.2022 - v3.6.0.3 Bugfix string/number compare current BerryDriver (DP as string)
                - 05.12.2022 - v3.6.0.4 Add bHome to Navigation
                - 05.12.2022 - v3.6.0.4 Add changeable Center-Icon in cardPower with Color and Value
                - 08.12.2022 - v3.6.0.4 Bugfix - Use MRIcons in Screensaver with null
                - 11.12.2022 - v3.6.0.4 Add new DP to show active page
                - 13.12.2022 - v3.6.0.4 Add Sensor-Values to cardGrid
                - 13.12.2022 - v3.6.0.4 Hotfix - Update screensaver temperature without weather forecast
                Implemented in 3.6.1 DEV
                - XX.12.2022 - v3.6.1   Add cardChart on PROD (implemented but working with v3.6.1 --> next TFT)
                - XX.12.2022 - v3.6.1   Add Shuffle to Media Player
                - XX.12.2022 - v3.6.1   Remove Speakerlist and Add 5 GridCard PageItems
                - XX.12.2022 - v3.6.1   Add In_Sel PopUp
                Todo's for 3.6.1
                - XX.12.2022 - v3.6.1 Add Fan
        *****************************************************************************************************************
        * Falls Aliase durch das Skript erstellt werden sollen, muss in der JavaScript Instanz "setObect" gesetzt sein! *
        *****************************************************************************************************************
        Wenn Rule definiert, dann können die Hardware-Tasten ebenfalls für Seitensteuerung (dann nicht mehr als Relais) genutzt werden
        Tasmota Konsole:
            Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
            Rule2 1 (Rule aktivieren)
            Rule2 0 (Rule deaktivieren)
        Mögliche Seiten-Ansichten:
            screensaver Page    - wird nach definiertem Zeitraum (config) mit Dimm-Modus aktiv (Uhrzeit, Datum, Aktuelle Temperatur mit Symbol)
                                  (die 4 kleineren Icons können als Wetter-Vorschau + 4Tage (Symbol + Höchsttemperatur) oder zur Anzeige definierter Infos konfiguriert werden)
            cardEntities Page   - 4 vertikale angeordnete Steuerelemente - auch als Subpage
            cardGrid Page       - 6 horizontal angeordnete Steuerelemente in 2 Reihen a 3 Steuerelemente - auch als Subpage
            cardThermo Page     - Thermostat mit Solltemperatur, Isttemperatur, Mode - Weitere Eigenschaften können im Alias definiert werden
            cardMedia Page      - Mediaplayer - Ausnahme: Alias sollte mit Alias-Manager automatisch über Alexa-Verzeichnis Player angelegt werden
            cardAlarm Page      - Alarmseite mit Zustand und Tastenfeld
            cardPower Page      - Energiefluss
        Popup-Pages:
            popupLight Page     - in Abhängigkeit zum gewählten Alias werden "Helligkeit", "Farbtemperatur" und "Farbauswahl" bereitgestellt
            popupShutter Page   - die Shutter-Position (Rollo, Jalousie, Markise, Leinwand, etc.) kann über einen Slider verändert werden.
            popupNotify Page    - Info - Seite mit Headline Text und Buttons - Intern für manuelle Updates / Extern zur Befüllung von Datenpunkten unter 0_userdata
            screensaver Notify  - Über zwei externe Datenpunkte in 0_userdata können "Headline" und "Text" an den Screensaver zur Info gesendet werden
        Mögliche Aliase: (Vorzugsweise mit ioBroker-Adapter "Geräte verwalten" konfigurieren, da SET, GET, ACTUAL, etc. verwendet werden)
            Info                - Werte aus Datenpunkt
            Schieberegler       - Slider numerische Werte (SET/ACTUAL)
            Lautstärke          - Volume (SET/ACTUAL) und MUTE
            Lautstärke-Gruppe   - analog Lautstärke
            Licht               - An/Aus (Schalter)
            Steckdose           - An/Aus (Schalter)
            Dimmer              - An/Aus, Brightness
            Farbtemperatur      - An/Aus, Farbtemperatur und Brightness
            HUE-Licht           - Zum Schalten von Color-Leuchtmitteln über HUE-Wert, Brightness, Farbtemperatur, An/Aus (HUE kann auch fehlen)
            RGB-Licht           - RGB-Leuchtmitteln/Stripes welche Rot/Grün/ und Blau separat benötigen (Tasmota, WifiLight, etc.) + Brightness, Farbtemperatur
            RGB-Licht-einzeln   - RGB-Leuchtmitteln/Stripes welche HEX-Farbwerte benötigen (Tasmota, WifiLight, etc.) + Brightness, Farbtemperatur
            Jalousien           - Up, Stop, Down, Position
            Fenster             - Sensor open
            Tür                 - Sensor open
            Verschluss          - Türschloss SET/ACTUAL/OPEN
            Taste               - Für Szenen oder Radiosender, etc. --> Nur Funktionsaufruf - Kein Taster wie MonoButton - True/False
            Tastensensor        - analog Taste
            Thermostat          - Aktuelle Raumtemperatur, Setpoint, etc.
            Klimaanlage         - Buttons zur Steuerung der Klimaanlage im unteren Bereich
            Temperatur          - Anzeige von Temperatur - Datenpunkten, analog Info
            Feuchtigkeit        - Anzeige von Humidity - Datenpunkten, analog Info
            Medien              - Steuerung von Alexa - Über Alias-Manager im Verzeichnis Player automatisch anlegen (Geräte-Manager funktioniert nicht)
            Wettervorhersage    - Aktuelle Außen-Temperatur (Temp) und aktuelles AccuWeather-Icon (Icon) für Screensaver
        Interne Sonoff-Sensoren (über Tasmota):
            ESP-Temperatur      - wird in 0_userdata.0. abgelegt, kann als Alias importiert werden --> SetOption146 1
            Temperatur          - Raumtemperatur - wird in 0_userdata.0. abgelegt, kann als Alias importiert werden
                                  (!!! Achtung: der interne Sonoff-Sensor liefert keine exakten Daten, da das NSPanel-Board und der ESP selbst Hitze produzieren !!!
                                  ggf. Offset einplanen oder besser einen externen Sensor über Zigbee etc. verwenden)
            Timestamp           - wird in 0_userdata.0. Zeitpunkt der letzten Sensorübertragung
        Tasmota-Status0 - (zyklische Ausführung)
            liefert relevanten Tasmota-Informationen und kann bei Bedarf in "function get_tasmota_status0()" erweitert werden. Daten werden in 0_userdata.0. abgelegt
        Erforderliche Adapter:
            AccuWeather:        - Bei Nutzung der Wetterfunktionen (und zur Icon-Konvertierung) im Screensaver
            Alexa2:             - Bei Nutzung der dynamischen SpeakerList in der cardMedia
            Geräte verwalten    - Für Erstellung der Aliase
            Alias-Manager       - !!! ausschließlich für MEDIA-Alias
            MQTT-Adapter        - Für Kommunikation zwischen Skript und Tasmota
            JavaScript-Adapter
        Upgrades in Konsole:
            Tasmota BerryDriver     : Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
            TFT EU STABLE Version   : FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.6.0.tft
        ---------------------------------------------------------------------------------------
        */
        let Icons = new IconsSelector();
        let timeoutSlider: any;
        let manually_Update = false;
        const autoCreateAlias = true;  //Für diese Option muss der Haken in setObjects in deiner javascript.X. Instanz gesetzt sein.  
        
        const NSPanel_Path = '0_userdata.0.NSPanel.1.';
        const NSPanel_Alarm_Path = '0_userdata.0.NSPanel.'; //Neuer Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
        
        let AliasPath: string = 'alias.0.' + NSPanel_Path.substring(13, NSPanel_Path.length);
        const Debug = false;
        
        // Variablen zur Steuerung der Wettericons auf dem Screensaver (Steuerung in 0_userdata.0.XPANELX.ScreensaverInfo)
        // Wenn weatherForecastTimer auf true, dann Wechsel zwischen Datenpunkten und Wettervorhersage (30 Sekunden nach Minute (Zeit))
        // Wenn weatherForecastTimer auf false, dann Möglichkeit über weatherForecast, ob Datenpunkte oder Wettervorhersage (true = WeatherForecast/false = Datenpunkte)
        let weatherForecast: boolean; // Änderung zum Video --> Einstellung siehe Wiki
        
        const HMIOff:           RGB = { red:  68, green: 115, blue: 158 };     // Blau-Off - Original Entity Off
        const HMIOn:            RGB = { red:   3, green: 169, blue: 244 };     // Blau-On
        const HMIDark:          RGB = { red:  29, green:  29, blue:  29 };     // Original Background Color
        const Off:              RGB = { red: 253, green: 128, blue:   0 };     // Orange-Off - schönere Farbübergänge
        const On:               RGB = { red: 253, green: 216, blue:  53 };
        const MSRed:            RGB = { red: 251, green: 105, blue:  98 };
        const MSYellow:         RGB = { red: 255, green: 235, blue: 156 };
        const MSGreen:          RGB = { red: 121, green: 222, blue: 121 };
        const Red:              RGB = { red: 255, green:   0, blue:   0 };
        const White:            RGB = { red: 255, green: 255, blue: 255 };
        const Yellow:           RGB = { red: 255, green: 255, blue:   0 };
        const Green:            RGB = { red:   0, green: 255, blue:   0 };
        const Blue:             RGB = { red:   0, green:   0, blue: 255 };
        const DarkBlue:         RGB = { red:   0, green:   0, blue: 136 };
        const Gray:             RGB = { red: 136, green: 136, blue: 136 };
        const Black:            RGB = { red:   0, green:   0, blue:   0 };
        const colorSpotify:     RGB = { red:  30, green: 215, blue:  96 };
        const colorAlexa:       RGB = { red:  49, green: 196, blue: 243 };
        const colorRadio:       RGB = { red: 255, green: 127, blue:   0 };
        const BatteryFull:      RGB = { red:  96, green: 176, blue:  62 };
        const BatteryEmpty:     RGB = { red: 179, green:  45, blue:  25 };
        
        //Dynamische Indikatoren
        const colorScale0:      RGB = { red:   99, green: 190, blue: 123 };
        const colorScale1:      RGB = { red:  129, green: 199, blue: 126 };
        const colorScale2:      RGB = { red:  161, green: 208, blue: 127 };
        const colorScale3:      RGB = { red:  129, green: 217, blue: 126 };
        const colorScale4:      RGB = { red:  222, green: 226, blue: 131 };
        const colorScale5:      RGB = { red:  254, green: 235, blue: 132 };
        const colorScale6:      RGB = { red:  255, green: 210, blue: 129 };
        const colorScale7:      RGB = { red:  251, green: 185, blue: 124 };
        const colorScale8:      RGB = { red:  251, green: 158, blue: 117 };
        const colorScale9:      RGB = { red:  248, green: 131, blue: 111 };
        const colorScale10:     RGB = { red:  248, green: 105, blue: 107 };
        
        //Screensaver Default Theme Colors
        const scbackground:     RGB = { red:   0, green:    0, blue:   0};
        const scbackgroundInd1: RGB = { red: 255, green:   0,  blue:   0};
        const scbackgroundInd2: RGB = { red: 121, green: 222,  blue: 121};
        const scbackgroundInd3: RGB = { red: 255, green: 255,  blue:   0};
        const sctime:           RGB = { red: 255, green:  255, blue: 255};
        const sctimeAMPM:       RGB = { red: 255, green:  255, blue: 255};
        const scdate:           RGB = { red: 255, green:  255, blue: 255};
        const sctMainIcon:      RGB = { red: 255, green:  255, blue: 255};
        const sctMainText:      RGB = { red: 255, green:  255, blue: 255};
        const sctForecast1:     RGB = { red: 255, green:  255, blue: 255};
        const sctForecast2:     RGB = { red: 255, green:  255, blue: 255};
        const sctForecast3:     RGB = { red: 255, green:  255, blue: 255};
        const sctForecast4:     RGB = { red: 255, green:  255, blue: 255};
        const sctF1Icon:        RGB = { red: 255, green:  235, blue: 156};
        const sctF2Icon:        RGB = { red: 255, green:  235, blue: 156};
        const sctF3Icon:        RGB = { red: 255, green:  235, blue: 156};
        const sctF4Icon:        RGB = { red: 255, green:  235, blue: 156};
        const sctForecast1Val:  RGB = { red: 255, green:  255, blue: 255};
        const sctForecast2Val:  RGB = { red: 255, green:  255, blue: 255};
        const sctForecast3Val:  RGB = { red: 255, green:  255, blue: 255};
        const sctForecast4Val:  RGB = { red: 255, green:  255, blue: 255};
        const scbar:            RGB = { red: 255, green:  255, blue: 255};
        const sctMainIconAlt:   RGB = { red: 255, green:  255, blue: 255};
        const sctMainTextAlt:   RGB = { red: 255, green:  255, blue: 255};
        const sctTimeAdd:       RGB = { red: 255, green:  255, blue: 255};
        
        //Auto-Weather-Colors
        const swClearNight:     RGB = { red: 150, green: 150, blue: 100};
        const swCloudy:         RGB = { red:  75, green:  75, blue:  75};
        const swExceptional:    RGB = { red: 255, green:  50, blue:  50};
        const swFog:            RGB = { red: 150, green: 150, blue: 150};
        const swHail:           RGB = { red: 200, green: 200, blue: 200};
        const swLightning:      RGB = { red: 200, green: 200, blue:  0};
        const swLightningRainy: RGB = { red: 200, green: 200, blue: 150};
        const swPartlycloudy:   RGB = { red: 150, green: 150, blue: 150};
        const swPouring:        RGB = { red:  50, green:  50, blue: 255};
        const swRainy:          RGB = { red: 100, green: 100, blue: 255};
        const swSnowy:          RGB = { red: 150, green: 150, blue: 150};
        const swSnowyRainy:     RGB = { red: 150, green: 150, blue: 255};
        const swSunny:          RGB = { red: 255, green: 255, blue:   0};
        const swWindy:          RGB = { red: 150, green: 150, blue: 150};
        
        let vwIconColor = [];
        
        
        //-- Anfang der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich ----------------
        
        let Seite1_Broker: PageEntities =
        {
            "type": "cardEntities",
            "heading": "Meine 1 Seite",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [
                <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "Schlafzimmer Lampe", interpolateColor: true},
                <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "RGB-Licht", minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
                <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "HUE-Licht-CT", minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
                <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "HUE-Licht-Color", minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
            ]
        };
        
        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 }
            ]
        };
        
        //Only DEV --> Test
        let ChartDemo: PageChart =
        {
            "type": "cardChart",
            "heading": "Charts Demo",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [<PageItem>{ 
                        id: 'alias.0.NSPanel_1.cardChart', 
                        yAxis: 'Gas [kWh]', 
                        yAxisTicks: [2,4,6,8,10,12,14], 
                        onColor: Yellow
                     }]
        };
        
        let CardPowerExample: PagePower =
        {
            "type": "cardPower",
            "heading": "cardPower Emulator",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [
                <PageItem>{ id: 'alias.0.NSPanel_1.Power.PowerCard' },
            ]
        };
        
        let Test_Licht2: PageEntities =
        {
            "type": "cardEntities",
            "heading": "Color Aliase 2",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [
                //Beispiel für RGB Light mit neuem PageItem-Parameter colormode: "xy" alternativ colormode: "rgb" oder weglassen
                //Steuert im z.B. DeConz Adapter unter Lampen die Farben per CIE (XY)
                <PageItem>{ id: "alias.0.NSPanel_2.WZ_E14_Fenster_rechts", name: "Fensterbank rechts", minValueBrightness: 0, maxValueBrightness: 100, minValueColorTemp: 500, maxValueColorTemp: 150, interpolateColor: true, colormode: "xy"},
                <PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
            ]
        };
        
        let Test_Funktionen: PageEntities =
        {
            "type": "cardEntities",
            "heading": "Sonstige Aliase",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [
                <PageItem>{ id: "alias.0.NSPanel_1.TestLautstärke", offColor: MSRed, onColor: MSGreen, name: "Echo Spot Büro", minValue: 0, maxValue: 100 },
                <PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur",name: "Temperatur außen", icon: "thermometer", onColor: White },
                <PageItem>{ id: "alias.0.NSPanel_1.TestFeuchtigkeit", name: "Luftfeuchte außen", icon: "water-percent", unit: "%H", onColor: White },
                <PageItem>{ id: "alias.0.NSPanel_1.TestInfo", name: "Windstärke", icon: "wind-power-outline", offColor: MSRed, onColor: MSGreen, unit: "bft", minValue: 0, maxValue: 12, interpolateColor: true, useColor: true }
            ]
        };
        
        let Buero_Seite_1: PageEntities =
        {
            "type": "cardEntities",
            "heading": "Büro",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [
                <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", interpolateColor: true},
                <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
                <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
                <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "power",offColor: MSRed, onColor: MSGreen}
            ]
        };
        
        let Fenster_1: PageEntities =
        {
            "type": "cardEntities",
            "heading": "Fenster und Türen",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [
                <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
                <PageItem>{ id: "alias.0.NSPanel_1.Haustuer", offColor: MSRed, onColor: MSGreen, name: "Haustür"},
                <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", icon: "blinds-horizontal", offColor: White, onColor: Yellow, name: "Büro", secondRow: "Hier Text für 2. Zeile"},
                <PageItem>{ id: "alias.0.NSPanel_1.TestDoorlock", offColor: MSRed, onColor: MSGreen, name: "Türschloss"},
            ]
        };
        //<PageItem>{ id: "alias.0.NS-Panel.Buero.Rollade", icon: "blinds-horizontal", offColor: White, onColor: Yellow, name: "Büro", secondRow: "Hier Text für 2. Zeile"},
        let Button_1: PageEntities =
        {
            "type": "cardEntities",
            "heading": "Button Aliase",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [
                <PageItem>{ id: "alias.0.NSPanel_1.TestTastensensor", name: "Tastensensor (FFN)"},
                <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "Taste (NDR2)", onColor: colorRadio},
                <PageItem>{ id: "alias.0.NSPanel_1.TestVentil1", icon: "valve-open", icon2: "valve-closed",offColor: MSRed, onColor: MSGreen, name: "Test-Ventil 1"},
                <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: 'alarm-light', name: "Alert mit Zielseite", offColor: MSGreen, onColor: MSRed, targetPage: 'Abfall', buttonText: 'Popup'},
            ]
        };
        
        let Subpages_1: PageEntities =
        {
            "type": "cardEntities",
            "heading": "Test Subpages",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [
                <PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"},
                <PageItem>{ navigate: true, id: "WLAN", onColor: White, name: "Gäste WLAN"},
            ]
        };
        
                //Subpage 1 von Subpages_1
                let Abfall: PageEntities =
                {
                    "type": "cardEntities",
                    "heading": "Abfallkalender",
                    "useColor": true,
                    "subPage": true,
                    "parent": Subpages_1,
                    "items": [
                        <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
                        <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
                        <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
                        <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
                    ]
                };
        
                //Subpage 2 von Subpages_1
                let WLAN: PageQR = 
                {
                    "type": "cardQR",
                    "heading": "Gäste WLAN",
                    "useColor": true,
                    "subPage": true,
                    "parent": Subpages_1,
                    "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi", hidePassword: true }]
                };
        
        let Buero_Seite_2: PageGrid =
        {
            "type": "cardGrid",
            "heading": "Büro 2",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [
                <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", name: "Schreibtisch"},
                <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", name: "Deckenlampe"},
                <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
                <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", offColor: MSRed, onColor: MSGreen},
                <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", icon: "projector-screen", onColor: White, name: "Beamer", secondRow: "auch Text"},
                <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "play", onColor: White, name: "TuneIn"}
            ]
        };
        
        let Radiosender: PageGrid =
        {
            "type": "cardGrid",
            "heading": "Büro 2",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [<PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "radio", name: "Radio BOB", onColor: colorRadio}]
        };
        
        // NEW: Neue Definition von Medien-Aliasen
        // adapterPlayerInstance = alexa2.0. or spotify-premium.0. or sonos.0. or chromecast.0.
        // MEDIA ALIASE können auch per JS-Script erstellt werden https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Definitionen#medien---cardmedia
        let Alexa: PageMedia = 
        {
            'type': 'cardMedia',
            'heading': 'Alexa',
            'useColor': true,
            'subPage': false,
            'parent': undefined,
            'items': [<PageItem>{   
                        id: AliasPath + 'Media.PlayerAlexa', 
                        adapterPlayerInstance: 'alexa2.0.',
                        mediaDevice: 'G0XXXXXXXXXXXXXX', 
                        speakerList: ['Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero'],
                        autoCreateALias : true
                     }]
        };
        
        let Sonos: PageMedia = 
        {
            'type': 'cardMedia',
            'heading': 'Sonos',
            'useColor': true,
            'subPage': false,
            'parent': undefined,
            'items': [<PageItem>{   
                        id: AliasPath + 'Media.PlayerSonos', 
                        adapterPlayerInstance: "sonos.0.",
                        mediaDevice: "192_168_1_212",
                        speakerList: ['Terrasse'],
                        autoCreateALias : true
                     }]
        };
        
        let SpotifyPremium: PageMedia = 
        {
            "type": "cardMedia",
            "heading": "Spotify-Premium",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [<PageItem>{ 
                        id: AliasPath + 'Media.PlayerSpotifyPremium', 
                        adapterPlayerInstance: "spotify-premium.0.",
                        speakerList: ['LENOVO-W11-01','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero'],
                        colorMediaIcon: colorSpotify,
                        colorMediaArtist: Yellow,
                        colorMediaTitle: Yellow,
                        autoCreateALias : true
                     }] 
        };
        
        let SqueezeboxRPC: PageMedia = 
        {
            "type": "cardMedia",
            "heading": "SqueezeboxRPC",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [<PageItem>{ 
                        id: "alias.0.Media.LMS.SqueezePlay", 
                        adapterPlayerInstance: "squeezeboxrpc.0.Players.SqueezePlay.",
                        speakerList: ['SqueezePlay']
                     }] 
        };
        
        let WZ_Heizung: PageThermo = 
        {
            "type": "cardThermo",
            "heading": "WZ Thermostat",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [<PageItem>{ id: "alias.0.NSPanel1.HeizungWZ", minValue: 50, maxValue: 300 }]
        };
        
        let Buero_Klimaanlage: PageThermo = 
        {
            "type": "cardThermo",
            "heading": "Test Klimaanlage",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [<PageItem>{   
                        id: "alias.0.NSPanel_1.TestKlimaanlage", 
                        minValue: 50, 
                        maxValue: 250,
                        popupThermoMode1: ['Auto','0','1','2','3'],
                        popupThermoMode2: ['Auto','0','1','2','3','4','5'],
                        popupThermoMode3: ['Auto','Manual','Boost',],
                        popUpThermoName: ["Schwenk-Modus", 'Speed', 'Temperatur'],
                        icon: 'fan',
                        setThermoAlias: ['MODE1','MODE2','MODE3'],
                        //setThermoDestTemp2: 'ACTUAL2'
                     }]
        };
        
        let Buero_Alarm: PageAlarm = 
        {
            "type": "cardAlarm",
            "heading": "Alarm",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [<PageItem>{ id: "alias.0.Alarm" }]
        };
        
        let button1Page: PageGrid =
        {
            'type': 'cardGrid',
            'heading': 'Radio',
            'useColor': true,
            'subPage': false,
            'parent': undefined,
            'items': [
                <PageItem>{ id: 'alias.0.NSPanel_1.Radio.FFN', icon: 'radio', name: 'FFN', onColor: colorRadio},
                <PageItem>{ id: 'alias.0.NSPanel_1.Radio.Antenne' , icon: 'radio', name: 'Antenne Nds.', onColor: colorRadio},
                <PageItem>{ id: 'alias.0.NSPanel_1.Radio.NDR2', icon: 'radio', name: 'NDR2', onColor: colorRadio},
                <PageItem>{ id: 'alias.0.NSPanel_1.Radio.Bob', icon: 'radio', name: 'Radio BOB', onColor: colorRadio},
                <PageItem>{ id: 'alias.0.NSPanel_1.Radio.Spotify', icon: 'spotify', name: 'Party Playlist', onColor: colorSpotify},
                <PageItem>{ id: 'alias.0.NSPanel_1.Radio.Alexa', icon: 'playlist-music', name: 'Playlist 2021', onColor: colorAlexa}
            ]
        };
        
        let button2Page: PageEntities =
        {
            'type': 'cardEntities',
            'heading': 'Büro',
            'useColor': true,
            'subPage': false,
            'parent': undefined,
            'items': [
                <PageItem>{ id: 'alias.0.NSPanel_1.Schreibtischlampe'},
                <PageItem>{ id: 'alias.0.NSPanel_1.Deckenbeleuchtung'}
            ]
        };
        
        //-- ENDE der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich ------------------
        
        
        /********************************************************************************************************** */
        //Service Pages mit Auto-Alias (Nachfolgende Seiten werden mit Alias automatisch angelegt)
        /********************************************************************************************************** */
        
        let Service: PageEntities =
        {
            "type": "cardEntities",
            "heading": "NSPanel Service",
            "useColor": true,
            "subPage": false,
            "parent": undefined, 
            "items": [
                <PageItem>{ id: AliasPath + 'autoUpdate', name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen},
                <PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"},
                <PageItem>{ navigate: true, id: "NSPanel_Firmware_Info", icon: "update", onColor: White, name: "Firmware Infos"},
                <PageItem>{ navigate: true, id: "NSPanel_Einstellungen", icon: "wrench-outline", onColor: White, name: "Screensaver"}
            ]
        };
        
                //Subpage 1 von Subpages_2
                let NSPanel_Infos: PageEntities =
                {
                    "type": "cardEntities",
                    "heading": "NSPanel Infos",
                    "useColor": true,
                    "subPage": true,
                    "parent": Service,
                    "items": [
                        <PageItem>{ id: AliasPath + 'Tasmota.Hardware', name: 'Hardware', icon: 'memory', offColor: MSYellow, onColor: MSYellow, useColor: true},
                        <PageItem>{ id: AliasPath + 'Sensor.ESP32.Temperature', name: "ESP Temperatur", icon: "thermometer", unit: "°C", offColor: MSYellow, onColor: MSYellow, useColor: true},
                        <PageItem>{ id: AliasPath + 'Tasmota.Uptime', name: "Uptime", icon: "timeline-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true},
                        <PageItem>{ id: AliasPath + 'Tasmota.Wifi.RSSI', name: "Wifi-Signal", icon: "signal-distance-variant", unit: "dBm", offColor: MSYellow, onColor: MSYellow, useColor: true}
                    ]
                };
        
                //Subpage 2 von Subpages_2
                let NSPanel_Einstellungen: PageEntities =
                {
                    'type': 'cardEntities',
                    'heading': 'Screensaver',
                    'useColor': true,
                    'subPage': true,
                    'parent': Service,
                    'items': [
                        <PageItem>{ id: AliasPath + 'Dimmode.brightnessDay', name: 'Brightness Tag', icon: 'brightness-5', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
                        <PageItem>{ id: AliasPath + 'Dimmode.brightnessNight', name: 'Brightness Nacht', icon: 'brightness-4', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
                        <PageItem>{ id: AliasPath + 'Dimmode.hourDay', name: 'Stunde Tag', icon: 'sun-clock', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
                        <PageItem>{ id: AliasPath + 'Dimmode.hourNight', name: 'Stunde Nacht', icon: 'sun-clock-outline', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
                    ]
                };
        
                //Subpage 3 von Subpages_2
                let NSPanel_Firmware_Info: PageEntities =
                {
                    'type': 'cardEntities',
                    'heading': 'Firmware-Updates',
                    'useColor': true,
                    'subPage': true,
                    'parent': Service,
                    'items': [
                        <PageItem>{ id: AliasPath + 'Tasmota.Version', name: 'Tasmota Firmware', offColor: MSYellow, onColor: MSYellow, useColor: true},
                        <PageItem>{ id: AliasPath + 'Display.TFTVersion', name: 'TFT-Firmware', offColor: MSYellow, onColor: MSYellow, useColor: true},
                        <PageItem>{ id: AliasPath + 'Display.BerryDriver', name: 'Berry-Treiber', offColor: MSYellow, onColor: MSYellow, useColor: true},
                        <PageItem>{ id: AliasPath + 'Display.Model', name: 'NSPanel Version', offColor: MSYellow, onColor: MSYellow, useColor: true}
                    ]
                };
        
        export const config: Config = {
            panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_1.tele.RESULT',       // anpassen
            panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend',   // anpassen
            firstScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Hourly.h0.PrecipitationProbability', ScreensaverEntityIcon: 'weather-pouring', ScreensaverEntityText: 'Regen', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100} },
            secondScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', ScreensaverEntityIcon: 'weather-windy', ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: 'km/h', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 120} },
            thirdScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.UVIndex', ScreensaverEntityIcon: 'solar-power', ScreensaverEntityText: 'UV', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 9} },
            fourthScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.RelativeHumidity', ScreensaverEntityIcon: 'water-percent', ScreensaverEntityText: 'Luft', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100, 'val_best': 65} },
            alternativeScreensaverLayout: false,
            autoWeatherColorScreensaverLayout: true,
            mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER1', ScreensaverEntityIcon: 'light-switch', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: HMIOff  },
            mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER2', ScreensaverEntityIcon: 'lightbulb', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: HMIOff  },
            timeoutScreensaver: 10,
            dimmode: 20,
            active: 100, //Standard-Brightness TFT
            screenSaverDoubleClick: true,
            locale: 'de-DE',                    // en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
            timeFormat: '%H:%M',                // currently not used 
            dateFormat: '%A, %d. %B %Y',        // currently not used 
            weatherEntity: 'alias.0.Wetter.Ullendorf',    // Dieser Alias muss erstellt werden, damit die 4 kleineren Icons (Wetter oder DP) angezeigt werden können
            defaultOffColor: Off,
            defaultOnColor: On,
            defaultColor: Off,
            defaultBackgroundColor: Black,    //New Parameter
            temperatureUnit: '°C',
            pages: [
                    Seite1_Broker,        //Beispiel-Seite
                    Buero_Seite_1,      //Beispiel-Seite
                    SensorGrid,         //Beispiel-Seite
                    //CardPowerExample,   //Beispiel-Seite
                    //SqueezeboxRPC,      //Beispiel-Seite
                    //Sonos,              //Beispiel-Seite
                    //SpotifyPremium,     //Beispiel-Seite
                    //Alexa,              //Beispiel-Seite
                    Buero_Seite_2,      //Beispiel-Seite
                    //Buero_Klimaanlage,  //Beispiel-Seite 
                    Button_1,           //Beispiel-Seite
                    Test_Licht2,        //Beispiel-Seite
                    Test_Funktionen,    //Beispiel-Seite    
                    Fenster_1,          //Beispiel-Seite
                    Subpages_1,         //Beispiel-Seite
                    WZ_Heizung,    //Beispiel-Seite
                    Buero_Alarm,        //Beispiel-Seite
        
                    Service             //Auto-Alias Service Page
            ],
            subPages: [
                        Abfall,                     //Beispiel-Unterseite
                        WLAN,                       //Beispiel-Unterseite
                        
                        NSPanel_Infos,              //Auto-Alias Service Page
                        NSPanel_Einstellungen,      //Auto-Alias Service Page
                        NSPanel_Firmware_Info       //Auto-Alias Service Page
            ],
            button1Page: button1Page,   //Beispiel-Seite auf Button 1, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null, 
            button2Page: button2Page    //Beispiel-Seite auf Button 2, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
        };
        
        // _________________________________ Ab hier keine Konfiguration mehr _____________________________________
        
        
        ArmilarA 1 Antwort Letzte Antwort
        0
        • C coto

          @armilar

          Danke, das werde ich morgen dann mal in Ruhe ausprobieren.

          Zu Frage 2)
          Die Seiten müssen in der Config eingetragen sein. Sind die drin unter Subpages?

          Ich weiß jetzt nicht ob wir da aneinander vorbei sprechen.
          Die Config ist fast Original. Ich fange gerade an mich da durchzutesten,

          /*-----------------------------------------------------------------------
          TypeScript v3.6.0.4 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar/@Sternmiere/@Britzelpuf
          - abgestimmt auf TFT 45 / v3.6.0 / BerryDriver 6 / Tasmota 12.2.0
          @joBr99 Projekt: https://github.com/joBr99/nspanel-lovelace-ui/tree/main/ioBroker
          NsPanelTs.ts (dieses TypeScript in ioBroker) Stable: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts
          icon_mapping.ts: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts (TypeScript muss in global liegen)
          ioBroker-Unterstützung: https://forum.iobroker.net/topic/50888/sonoff-nspanel
          WIKI zu diesem Projekt unter: https://github.com/joBr99/nspanel-lovelace-ui/wiki (siehe Sidebar)
          Icons unter: https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html
          *******************************************************************************
          Achtung Änderung des Sonoff ESP-Temperatursensors
          !!! Bitte "SetOption146 1" in der Tasmota-Console ausführen !!!
          *******************************************************************************
          ReleaseNotes:
              Bugfixes und Erweiterungen:
                  - cardQR (für Gäste WLAN)
                  - cardThermo (Neues Design für Alias Thermostat und zusätzlich für Alias Klimaanlage)
                  - 08.05.2022 - v2.9.0 - Menüpfeile bei HardwareButtons (button1Page; button2Page) mit Navigation auf Page 0
                  - 08.05.2022 - v2.9.0 - Standard-Brightness über neuen Parameter active einstellbar (Test mit 2.9.3)
                  - 08.05.2022 - v2.9.0 - Schalter (Licht, Dimmer, Hue, etc) in cardGrid lassen sich wieder schalten
                  - 14.06.2022 - v2.9.0 - Aktion auf Submenüs schaltet unmittelbar auf vorheriges Mainmenu (Many thanks to Grrzzz)
                  - 14.06.2022 - v2.9.0 - Menü-Pfeile in Subpages (z.B. card QR, cardMedia, etc) (Many thanks to Grrzzz)
                  - 15.06.2022 - v3.0.0 - Date/Time im Screensaver auf Basis localString (de-DE/en-EN/nl-NL/etc.)
                  - 16.06.2022 - v3.0.0 - Multilingual - config.locale (en-EN, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.)
                  - 16.06.2022 - v3.0.0 - Bugfix by Grrzzz - Subpages
                  - 18.06.2022 - v3.1.0 - Längere Textfelder in cardEntities
                  - 18.06.2022 - V3.1.0 - Detail-Page Lights/Shutter hat neuen Parameter "id"
                  - 19.06.2022 - v3.1.0 - Bugfix toLocalTimeString in en-EN/en-US
                  - 19.06.2022 - v3.1.0 - Fehler in findLocale abgefangen
                  - 19.06.2022 - v3.1.0 - Umstellung auf "Home Assistant" Sprachfile
                  - 19.06.2022 - v3.1.0 - Alias "light" und "socket" haben optionalen Parameter icon2 für negative Zustände
                  - 29.06.2022 - v3.1.1 - Bugfix Github #286 (Active Page) + Bugfix pageThermo, pageMedia, pageAlarm as first Page
                  - 25.08.2022 - v3.1.0 - Code-Verbesserungen (klein0r)
                  - 26.08.2022 - v3.2.0 - pageItem mit CIE (XY) Parameter für ColorWheel (Steuerung für z.B Deconz-Farben bei denen Hue nicht greift)
                  - 28.08.2022 - v3.2.0 - Wechsel zwischen Weather-Forecast und eigenen Datenpunkten im Screensaver (minütlich)
                  - 28.08.2022 - v3.2.0 - Bugfix für 3.2.0 in GenerateDetailPage: Color-Language nicht über findLocales, da nicht in Sprachfile enthalten
                  - 29.08.2022 - v3.3.0 - Upgrade TFT 40
                  - 29.08.2022 - v3.3.1 - Upgrade TFT 41
                  - 04.09.2022 - v3.3.1 - Überarbeitung und BugFix für cardAlarm
                  - 13.09.2022 - v3.3.1.3 BugFix Screensaver Toggle
                  - 13.09.2022 - v3.3.1.3 Überarbeitung und BugFix und Refresh Features für cardMedia (Breaking Changes)
                  - 13.09.2022 - v3.3.1.3 Hinzufügen von SpotifyPremium, Sonos und Chromecast (Google home) zur cardMedia-Logik
                  - 15.09.2022 - V3.4.0 - BugFix Dimmode
                  - 15.09.2022 - v3.4.0   Upgrade TFT 42
                  - 15.09.2022 - V3.4.0 - Colormode für Screensaver + AutoColor WeatherForecast
                  - 16.09.2022 - v3.4.0.1 Visualisierung der Relay Zustände (MRIcons) im Screensaver + Bugfix Screensaver MRIcon2
                  - 17.09.2022 - v3.4.0.2 Bugfix for screensaver icons with scaled colors
                  - 17.09.2022 - v3.4.0.3 Bugfix bNext / bPrev by joBr99
                  - 18.09.2022 - v3.4.0.4 Add On/Off Colors in config.mrIcon1ScreensaverEntity and config.mrIcon2ScreensaverEntity
                  - 19.09.2022 - v3.4.0.5 Add Mode to cardThermo (Alias Thermostat)
                  - 03.10.2022 - v3.4.0.6 Add 5 Entities in US Panel Version to cardEntities
                  - 03.10.2022 - v3.4.0.6 Fix screenSaverDoubleClick
                  - 03.10.2022 - v3.4.0.6 Add cardPower (experimental)
                  - 05.10.2022 - v3.4.0.6 Add sueezeboxrpc to cardMedia
                  - 07.10.2022 - v3.4.0.6 Time-configurable change for screensaver icons
                  - 07.10.2022 - v3.5.0   Upgrade TFT 43
                  - 07.10.2022 - v3.5.0   Add Backgroundcolor to Pages
                  - 08.10.2022 - v3.5.0   Add Tilt-Slider and TILT_Fucntions (Open/Stop/Close) to Blinds/Cover/Shutter popUp
                  - 12.10.2022 - v3.5.0   Add PageNavigation via Datapoint
                  - 25.10.2022 - v3.5.0   Add New Parameters to popUpNotify / Layout 2
                  - 26.10.2022 - v3.5.0.1 Fix Thermostat for tado Support (by Sternmiere)
                  - 27.10.2022 - v3.5.0.1 Add VirtualDevice Gate
                  - 27.10.2022 - v3.5.0.2 Applied Boy Scout Rule (Fixed some typos, changed var to let, fixed min/max colorTemp Bug)
                  - 30.10.2022 - v3.5.0.3 Fixed Media Play/Pause icon for alexa (and others) devices
                  - 31.10.2022 - v3.5.0.4 Reengineering Media Subscriptions
                  - 02.11.2022 - v3.5.0.5 Page navigation continues with page 0 from the last page
                  - 04.11.2022 - v3.5.0.5 Create Auto-Alias for Service Pages
                  - 07.11.2022 - v3.5.0.5 Create Auto-Alias for Alexa2, Spotify-Premium, Sonos
                  - 08.11.2022 - v3.5.0.5 Create Auto-Alias for Wheather-Forcast (Screensaver Big-Icon)
                  - 07.10.2022 - v3.6.0   Upgrade TFT 45
                  - 09.11.2022 - v3.6.0   Add new Alias-DeviceTyp cie (control colors with XY)
                  - 16.11.2022 - v3.6.0   Control Relay 1 + 2 via Datapoints
                  - 17.11.2022 - v3.6.0   Add Datapoint to Control Screensaver-Dimmode
                  - 17.11.2022 - v3.6.0   Change to Page after bExit 
                  - 18.11.2022 - v3.6.0   Add cardChart by fumanchi (only on DEV)
                  - 24.11.2022 - v3.6.0   Add Background Color Switch via DP
                  - 26.11.2022 - v3.6.0   Add cardMedia Colors
                  - 26.11.2022 - v3.6.0   Add cardThermostat Popup 
                  - 28.11.2022 - v3.6.0.1 Bugfix in bExit
                  - 29.11.2022 - v3.6.0.2 Update Berry Version 6
                  - 30.11.2022 - v3.6.0.3 Bugfix string/number compare current BerryDriver (DP as string)
                  - 05.12.2022 - v3.6.0.4 Add bHome to Navigation
                  - 05.12.2022 - v3.6.0.4 Add changeable Center-Icon in cardPower with Color and Value
                  - 08.12.2022 - v3.6.0.4 Bugfix - Use MRIcons in Screensaver with null
                  - 11.12.2022 - v3.6.0.4 Add new DP to show active page
                  - 13.12.2022 - v3.6.0.4 Add Sensor-Values to cardGrid
                  - 13.12.2022 - v3.6.0.4 Hotfix - Update screensaver temperature without weather forecast
                  Implemented in 3.6.1 DEV
                  - XX.12.2022 - v3.6.1   Add cardChart on PROD (implemented but working with v3.6.1 --> next TFT)
                  - XX.12.2022 - v3.6.1   Add Shuffle to Media Player
                  - XX.12.2022 - v3.6.1   Remove Speakerlist and Add 5 GridCard PageItems
                  - XX.12.2022 - v3.6.1   Add In_Sel PopUp
                  Todo's for 3.6.1
                  - XX.12.2022 - v3.6.1 Add Fan
          *****************************************************************************************************************
          * Falls Aliase durch das Skript erstellt werden sollen, muss in der JavaScript Instanz "setObect" gesetzt sein! *
          *****************************************************************************************************************
          Wenn Rule definiert, dann können die Hardware-Tasten ebenfalls für Seitensteuerung (dann nicht mehr als Relais) genutzt werden
          Tasmota Konsole:
              Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
              Rule2 1 (Rule aktivieren)
              Rule2 0 (Rule deaktivieren)
          Mögliche Seiten-Ansichten:
              screensaver Page    - wird nach definiertem Zeitraum (config) mit Dimm-Modus aktiv (Uhrzeit, Datum, Aktuelle Temperatur mit Symbol)
                                    (die 4 kleineren Icons können als Wetter-Vorschau + 4Tage (Symbol + Höchsttemperatur) oder zur Anzeige definierter Infos konfiguriert werden)
              cardEntities Page   - 4 vertikale angeordnete Steuerelemente - auch als Subpage
              cardGrid Page       - 6 horizontal angeordnete Steuerelemente in 2 Reihen a 3 Steuerelemente - auch als Subpage
              cardThermo Page     - Thermostat mit Solltemperatur, Isttemperatur, Mode - Weitere Eigenschaften können im Alias definiert werden
              cardMedia Page      - Mediaplayer - Ausnahme: Alias sollte mit Alias-Manager automatisch über Alexa-Verzeichnis Player angelegt werden
              cardAlarm Page      - Alarmseite mit Zustand und Tastenfeld
              cardPower Page      - Energiefluss
          Popup-Pages:
              popupLight Page     - in Abhängigkeit zum gewählten Alias werden "Helligkeit", "Farbtemperatur" und "Farbauswahl" bereitgestellt
              popupShutter Page   - die Shutter-Position (Rollo, Jalousie, Markise, Leinwand, etc.) kann über einen Slider verändert werden.
              popupNotify Page    - Info - Seite mit Headline Text und Buttons - Intern für manuelle Updates / Extern zur Befüllung von Datenpunkten unter 0_userdata
              screensaver Notify  - Über zwei externe Datenpunkte in 0_userdata können "Headline" und "Text" an den Screensaver zur Info gesendet werden
          Mögliche Aliase: (Vorzugsweise mit ioBroker-Adapter "Geräte verwalten" konfigurieren, da SET, GET, ACTUAL, etc. verwendet werden)
              Info                - Werte aus Datenpunkt
              Schieberegler       - Slider numerische Werte (SET/ACTUAL)
              Lautstärke          - Volume (SET/ACTUAL) und MUTE
              Lautstärke-Gruppe   - analog Lautstärke
              Licht               - An/Aus (Schalter)
              Steckdose           - An/Aus (Schalter)
              Dimmer              - An/Aus, Brightness
              Farbtemperatur      - An/Aus, Farbtemperatur und Brightness
              HUE-Licht           - Zum Schalten von Color-Leuchtmitteln über HUE-Wert, Brightness, Farbtemperatur, An/Aus (HUE kann auch fehlen)
              RGB-Licht           - RGB-Leuchtmitteln/Stripes welche Rot/Grün/ und Blau separat benötigen (Tasmota, WifiLight, etc.) + Brightness, Farbtemperatur
              RGB-Licht-einzeln   - RGB-Leuchtmitteln/Stripes welche HEX-Farbwerte benötigen (Tasmota, WifiLight, etc.) + Brightness, Farbtemperatur
              Jalousien           - Up, Stop, Down, Position
              Fenster             - Sensor open
              Tür                 - Sensor open
              Verschluss          - Türschloss SET/ACTUAL/OPEN
              Taste               - Für Szenen oder Radiosender, etc. --> Nur Funktionsaufruf - Kein Taster wie MonoButton - True/False
              Tastensensor        - analog Taste
              Thermostat          - Aktuelle Raumtemperatur, Setpoint, etc.
              Klimaanlage         - Buttons zur Steuerung der Klimaanlage im unteren Bereich
              Temperatur          - Anzeige von Temperatur - Datenpunkten, analog Info
              Feuchtigkeit        - Anzeige von Humidity - Datenpunkten, analog Info
              Medien              - Steuerung von Alexa - Über Alias-Manager im Verzeichnis Player automatisch anlegen (Geräte-Manager funktioniert nicht)
              Wettervorhersage    - Aktuelle Außen-Temperatur (Temp) und aktuelles AccuWeather-Icon (Icon) für Screensaver
          Interne Sonoff-Sensoren (über Tasmota):
              ESP-Temperatur      - wird in 0_userdata.0. abgelegt, kann als Alias importiert werden --> SetOption146 1
              Temperatur          - Raumtemperatur - wird in 0_userdata.0. abgelegt, kann als Alias importiert werden
                                    (!!! Achtung: der interne Sonoff-Sensor liefert keine exakten Daten, da das NSPanel-Board und der ESP selbst Hitze produzieren !!!
                                    ggf. Offset einplanen oder besser einen externen Sensor über Zigbee etc. verwenden)
              Timestamp           - wird in 0_userdata.0. Zeitpunkt der letzten Sensorübertragung
          Tasmota-Status0 - (zyklische Ausführung)
              liefert relevanten Tasmota-Informationen und kann bei Bedarf in "function get_tasmota_status0()" erweitert werden. Daten werden in 0_userdata.0. abgelegt
          Erforderliche Adapter:
              AccuWeather:        - Bei Nutzung der Wetterfunktionen (und zur Icon-Konvertierung) im Screensaver
              Alexa2:             - Bei Nutzung der dynamischen SpeakerList in der cardMedia
              Geräte verwalten    - Für Erstellung der Aliase
              Alias-Manager       - !!! ausschließlich für MEDIA-Alias
              MQTT-Adapter        - Für Kommunikation zwischen Skript und Tasmota
              JavaScript-Adapter
          Upgrades in Konsole:
              Tasmota BerryDriver     : Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
              TFT EU STABLE Version   : FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.6.0.tft
          ---------------------------------------------------------------------------------------
          */
          let Icons = new IconsSelector();
          let timeoutSlider: any;
          let manually_Update = false;
          const autoCreateAlias = true;  //Für diese Option muss der Haken in setObjects in deiner javascript.X. Instanz gesetzt sein.  
          
          const NSPanel_Path = '0_userdata.0.NSPanel.1.';
          const NSPanel_Alarm_Path = '0_userdata.0.NSPanel.'; //Neuer Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
          
          let AliasPath: string = 'alias.0.' + NSPanel_Path.substring(13, NSPanel_Path.length);
          const Debug = false;
          
          // Variablen zur Steuerung der Wettericons auf dem Screensaver (Steuerung in 0_userdata.0.XPANELX.ScreensaverInfo)
          // Wenn weatherForecastTimer auf true, dann Wechsel zwischen Datenpunkten und Wettervorhersage (30 Sekunden nach Minute (Zeit))
          // Wenn weatherForecastTimer auf false, dann Möglichkeit über weatherForecast, ob Datenpunkte oder Wettervorhersage (true = WeatherForecast/false = Datenpunkte)
          let weatherForecast: boolean; // Änderung zum Video --> Einstellung siehe Wiki
          
          const HMIOff:           RGB = { red:  68, green: 115, blue: 158 };     // Blau-Off - Original Entity Off
          const HMIOn:            RGB = { red:   3, green: 169, blue: 244 };     // Blau-On
          const HMIDark:          RGB = { red:  29, green:  29, blue:  29 };     // Original Background Color
          const Off:              RGB = { red: 253, green: 128, blue:   0 };     // Orange-Off - schönere Farbübergänge
          const On:               RGB = { red: 253, green: 216, blue:  53 };
          const MSRed:            RGB = { red: 251, green: 105, blue:  98 };
          const MSYellow:         RGB = { red: 255, green: 235, blue: 156 };
          const MSGreen:          RGB = { red: 121, green: 222, blue: 121 };
          const Red:              RGB = { red: 255, green:   0, blue:   0 };
          const White:            RGB = { red: 255, green: 255, blue: 255 };
          const Yellow:           RGB = { red: 255, green: 255, blue:   0 };
          const Green:            RGB = { red:   0, green: 255, blue:   0 };
          const Blue:             RGB = { red:   0, green:   0, blue: 255 };
          const DarkBlue:         RGB = { red:   0, green:   0, blue: 136 };
          const Gray:             RGB = { red: 136, green: 136, blue: 136 };
          const Black:            RGB = { red:   0, green:   0, blue:   0 };
          const colorSpotify:     RGB = { red:  30, green: 215, blue:  96 };
          const colorAlexa:       RGB = { red:  49, green: 196, blue: 243 };
          const colorRadio:       RGB = { red: 255, green: 127, blue:   0 };
          const BatteryFull:      RGB = { red:  96, green: 176, blue:  62 };
          const BatteryEmpty:     RGB = { red: 179, green:  45, blue:  25 };
          
          //Dynamische Indikatoren
          const colorScale0:      RGB = { red:   99, green: 190, blue: 123 };
          const colorScale1:      RGB = { red:  129, green: 199, blue: 126 };
          const colorScale2:      RGB = { red:  161, green: 208, blue: 127 };
          const colorScale3:      RGB = { red:  129, green: 217, blue: 126 };
          const colorScale4:      RGB = { red:  222, green: 226, blue: 131 };
          const colorScale5:      RGB = { red:  254, green: 235, blue: 132 };
          const colorScale6:      RGB = { red:  255, green: 210, blue: 129 };
          const colorScale7:      RGB = { red:  251, green: 185, blue: 124 };
          const colorScale8:      RGB = { red:  251, green: 158, blue: 117 };
          const colorScale9:      RGB = { red:  248, green: 131, blue: 111 };
          const colorScale10:     RGB = { red:  248, green: 105, blue: 107 };
          
          //Screensaver Default Theme Colors
          const scbackground:     RGB = { red:   0, green:    0, blue:   0};
          const scbackgroundInd1: RGB = { red: 255, green:   0,  blue:   0};
          const scbackgroundInd2: RGB = { red: 121, green: 222,  blue: 121};
          const scbackgroundInd3: RGB = { red: 255, green: 255,  blue:   0};
          const sctime:           RGB = { red: 255, green:  255, blue: 255};
          const sctimeAMPM:       RGB = { red: 255, green:  255, blue: 255};
          const scdate:           RGB = { red: 255, green:  255, blue: 255};
          const sctMainIcon:      RGB = { red: 255, green:  255, blue: 255};
          const sctMainText:      RGB = { red: 255, green:  255, blue: 255};
          const sctForecast1:     RGB = { red: 255, green:  255, blue: 255};
          const sctForecast2:     RGB = { red: 255, green:  255, blue: 255};
          const sctForecast3:     RGB = { red: 255, green:  255, blue: 255};
          const sctForecast4:     RGB = { red: 255, green:  255, blue: 255};
          const sctF1Icon:        RGB = { red: 255, green:  235, blue: 156};
          const sctF2Icon:        RGB = { red: 255, green:  235, blue: 156};
          const sctF3Icon:        RGB = { red: 255, green:  235, blue: 156};
          const sctF4Icon:        RGB = { red: 255, green:  235, blue: 156};
          const sctForecast1Val:  RGB = { red: 255, green:  255, blue: 255};
          const sctForecast2Val:  RGB = { red: 255, green:  255, blue: 255};
          const sctForecast3Val:  RGB = { red: 255, green:  255, blue: 255};
          const sctForecast4Val:  RGB = { red: 255, green:  255, blue: 255};
          const scbar:            RGB = { red: 255, green:  255, blue: 255};
          const sctMainIconAlt:   RGB = { red: 255, green:  255, blue: 255};
          const sctMainTextAlt:   RGB = { red: 255, green:  255, blue: 255};
          const sctTimeAdd:       RGB = { red: 255, green:  255, blue: 255};
          
          //Auto-Weather-Colors
          const swClearNight:     RGB = { red: 150, green: 150, blue: 100};
          const swCloudy:         RGB = { red:  75, green:  75, blue:  75};
          const swExceptional:    RGB = { red: 255, green:  50, blue:  50};
          const swFog:            RGB = { red: 150, green: 150, blue: 150};
          const swHail:           RGB = { red: 200, green: 200, blue: 200};
          const swLightning:      RGB = { red: 200, green: 200, blue:  0};
          const swLightningRainy: RGB = { red: 200, green: 200, blue: 150};
          const swPartlycloudy:   RGB = { red: 150, green: 150, blue: 150};
          const swPouring:        RGB = { red:  50, green:  50, blue: 255};
          const swRainy:          RGB = { red: 100, green: 100, blue: 255};
          const swSnowy:          RGB = { red: 150, green: 150, blue: 150};
          const swSnowyRainy:     RGB = { red: 150, green: 150, blue: 255};
          const swSunny:          RGB = { red: 255, green: 255, blue:   0};
          const swWindy:          RGB = { red: 150, green: 150, blue: 150};
          
          let vwIconColor = [];
          
          
          //-- Anfang der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich ----------------
          
          let Seite1_Broker: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Meine 1 Seite",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "Schlafzimmer Lampe", interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "RGB-Licht", minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "HUE-Licht-CT", minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "HUE-Licht-Color", minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
              ]
          };
          
          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 }
              ]
          };
          
          //Only DEV --> Test
          let ChartDemo: PageChart =
          {
              "type": "cardChart",
              "heading": "Charts Demo",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{ 
                          id: 'alias.0.NSPanel_1.cardChart', 
                          yAxis: 'Gas [kWh]', 
                          yAxisTicks: [2,4,6,8,10,12,14], 
                          onColor: Yellow
                       }]
          };
          
          let CardPowerExample: PagePower =
          {
              "type": "cardPower",
              "heading": "cardPower Emulator",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: 'alias.0.NSPanel_1.Power.PowerCard' },
              ]
          };
          
          let Test_Licht2: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Color Aliase 2",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  //Beispiel für RGB Light mit neuem PageItem-Parameter colormode: "xy" alternativ colormode: "rgb" oder weglassen
                  //Steuert im z.B. DeConz Adapter unter Lampen die Farben per CIE (XY)
                  <PageItem>{ id: "alias.0.NSPanel_2.WZ_E14_Fenster_rechts", name: "Fensterbank rechts", minValueBrightness: 0, maxValueBrightness: 100, minValueColorTemp: 500, maxValueColorTemp: 150, interpolateColor: true, colormode: "xy"},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
              ]
          };
          
          let Test_Funktionen: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Sonstige Aliase",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.TestLautstärke", offColor: MSRed, onColor: MSGreen, name: "Echo Spot Büro", minValue: 0, maxValue: 100 },
                  <PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur",name: "Temperatur außen", icon: "thermometer", onColor: White },
                  <PageItem>{ id: "alias.0.NSPanel_1.TestFeuchtigkeit", name: "Luftfeuchte außen", icon: "water-percent", unit: "%H", onColor: White },
                  <PageItem>{ id: "alias.0.NSPanel_1.TestInfo", name: "Windstärke", icon: "wind-power-outline", offColor: MSRed, onColor: MSGreen, unit: "bft", minValue: 0, maxValue: 12, interpolateColor: true, useColor: true }
              ]
          };
          
          let Buero_Seite_1: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Büro",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "power",offColor: MSRed, onColor: MSGreen}
              ]
          };
          
          let Fenster_1: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Fenster und Türen",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Haustuer", offColor: MSRed, onColor: MSGreen, name: "Haustür"},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", icon: "blinds-horizontal", offColor: White, onColor: Yellow, name: "Büro", secondRow: "Hier Text für 2. Zeile"},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestDoorlock", offColor: MSRed, onColor: MSGreen, name: "Türschloss"},
              ]
          };
          //<PageItem>{ id: "alias.0.NS-Panel.Buero.Rollade", icon: "blinds-horizontal", offColor: White, onColor: Yellow, name: "Büro", secondRow: "Hier Text für 2. Zeile"},
          let Button_1: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Button Aliase",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.TestTastensensor", name: "Tastensensor (FFN)"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "Taste (NDR2)", onColor: colorRadio},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestVentil1", icon: "valve-open", icon2: "valve-closed",offColor: MSRed, onColor: MSGreen, name: "Test-Ventil 1"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: 'alarm-light', name: "Alert mit Zielseite", offColor: MSGreen, onColor: MSRed, targetPage: 'Abfall', buttonText: 'Popup'},
              ]
          };
          
          let Subpages_1: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Test Subpages",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"},
                  <PageItem>{ navigate: true, id: "WLAN", onColor: White, name: "Gäste WLAN"},
              ]
          };
          
                  //Subpage 1 von Subpages_1
                  let Abfall: PageEntities =
                  {
                      "type": "cardEntities",
                      "heading": "Abfallkalender",
                      "useColor": true,
                      "subPage": true,
                      "parent": Subpages_1,
                      "items": [
                          <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
                          <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
                          <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
                          <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
                      ]
                  };
          
                  //Subpage 2 von Subpages_1
                  let WLAN: PageQR = 
                  {
                      "type": "cardQR",
                      "heading": "Gäste WLAN",
                      "useColor": true,
                      "subPage": true,
                      "parent": Subpages_1,
                      "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi", hidePassword: true }]
                  };
          
          let Buero_Seite_2: PageGrid =
          {
              "type": "cardGrid",
              "heading": "Büro 2",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", name: "Schreibtisch"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", name: "Deckenlampe"},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", offColor: MSRed, onColor: MSGreen},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", icon: "projector-screen", onColor: White, name: "Beamer", secondRow: "auch Text"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "play", onColor: White, name: "TuneIn"}
              ]
          };
          
          let Radiosender: PageGrid =
          {
              "type": "cardGrid",
              "heading": "Büro 2",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "radio", name: "Radio BOB", onColor: colorRadio}]
          };
          
          // NEW: Neue Definition von Medien-Aliasen
          // adapterPlayerInstance = alexa2.0. or spotify-premium.0. or sonos.0. or chromecast.0.
          // MEDIA ALIASE können auch per JS-Script erstellt werden https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Definitionen#medien---cardmedia
          let Alexa: PageMedia = 
          {
              'type': 'cardMedia',
              'heading': 'Alexa',
              'useColor': true,
              'subPage': false,
              'parent': undefined,
              'items': [<PageItem>{   
                          id: AliasPath + 'Media.PlayerAlexa', 
                          adapterPlayerInstance: 'alexa2.0.',
                          mediaDevice: 'G0XXXXXXXXXXXXXX', 
                          speakerList: ['Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero'],
                          autoCreateALias : true
                       }]
          };
          
          let Sonos: PageMedia = 
          {
              'type': 'cardMedia',
              'heading': 'Sonos',
              'useColor': true,
              'subPage': false,
              'parent': undefined,
              'items': [<PageItem>{   
                          id: AliasPath + 'Media.PlayerSonos', 
                          adapterPlayerInstance: "sonos.0.",
                          mediaDevice: "192_168_1_212",
                          speakerList: ['Terrasse'],
                          autoCreateALias : true
                       }]
          };
          
          let SpotifyPremium: PageMedia = 
          {
              "type": "cardMedia",
              "heading": "Spotify-Premium",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{ 
                          id: AliasPath + 'Media.PlayerSpotifyPremium', 
                          adapterPlayerInstance: "spotify-premium.0.",
                          speakerList: ['LENOVO-W11-01','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero'],
                          colorMediaIcon: colorSpotify,
                          colorMediaArtist: Yellow,
                          colorMediaTitle: Yellow,
                          autoCreateALias : true
                       }] 
          };
          
          let SqueezeboxRPC: PageMedia = 
          {
              "type": "cardMedia",
              "heading": "SqueezeboxRPC",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{ 
                          id: "alias.0.Media.LMS.SqueezePlay", 
                          adapterPlayerInstance: "squeezeboxrpc.0.Players.SqueezePlay.",
                          speakerList: ['SqueezePlay']
                       }] 
          };
          
          let WZ_Heizung: PageThermo = 
          {
              "type": "cardThermo",
              "heading": "WZ Thermostat",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{ id: "alias.0.NSPanel1.HeizungWZ", minValue: 50, maxValue: 300 }]
          };
          
          let Buero_Klimaanlage: PageThermo = 
          {
              "type": "cardThermo",
              "heading": "Test Klimaanlage",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{   
                          id: "alias.0.NSPanel_1.TestKlimaanlage", 
                          minValue: 50, 
                          maxValue: 250,
                          popupThermoMode1: ['Auto','0','1','2','3'],
                          popupThermoMode2: ['Auto','0','1','2','3','4','5'],
                          popupThermoMode3: ['Auto','Manual','Boost',],
                          popUpThermoName: ["Schwenk-Modus", 'Speed', 'Temperatur'],
                          icon: 'fan',
                          setThermoAlias: ['MODE1','MODE2','MODE3'],
                          //setThermoDestTemp2: 'ACTUAL2'
                       }]
          };
          
          let Buero_Alarm: PageAlarm = 
          {
              "type": "cardAlarm",
              "heading": "Alarm",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{ id: "alias.0.Alarm" }]
          };
          
          let button1Page: PageGrid =
          {
              'type': 'cardGrid',
              'heading': 'Radio',
              'useColor': true,
              'subPage': false,
              'parent': undefined,
              'items': [
                  <PageItem>{ id: 'alias.0.NSPanel_1.Radio.FFN', icon: 'radio', name: 'FFN', onColor: colorRadio},
                  <PageItem>{ id: 'alias.0.NSPanel_1.Radio.Antenne' , icon: 'radio', name: 'Antenne Nds.', onColor: colorRadio},
                  <PageItem>{ id: 'alias.0.NSPanel_1.Radio.NDR2', icon: 'radio', name: 'NDR2', onColor: colorRadio},
                  <PageItem>{ id: 'alias.0.NSPanel_1.Radio.Bob', icon: 'radio', name: 'Radio BOB', onColor: colorRadio},
                  <PageItem>{ id: 'alias.0.NSPanel_1.Radio.Spotify', icon: 'spotify', name: 'Party Playlist', onColor: colorSpotify},
                  <PageItem>{ id: 'alias.0.NSPanel_1.Radio.Alexa', icon: 'playlist-music', name: 'Playlist 2021', onColor: colorAlexa}
              ]
          };
          
          let button2Page: PageEntities =
          {
              'type': 'cardEntities',
              'heading': 'Büro',
              'useColor': true,
              'subPage': false,
              'parent': undefined,
              'items': [
                  <PageItem>{ id: 'alias.0.NSPanel_1.Schreibtischlampe'},
                  <PageItem>{ id: 'alias.0.NSPanel_1.Deckenbeleuchtung'}
              ]
          };
          
          //-- ENDE der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich ------------------
          
          
          /********************************************************************************************************** */
          //Service Pages mit Auto-Alias (Nachfolgende Seiten werden mit Alias automatisch angelegt)
          /********************************************************************************************************** */
          
          let Service: PageEntities =
          {
              "type": "cardEntities",
              "heading": "NSPanel Service",
              "useColor": true,
              "subPage": false,
              "parent": undefined, 
              "items": [
                  <PageItem>{ id: AliasPath + 'autoUpdate', name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen},
                  <PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"},
                  <PageItem>{ navigate: true, id: "NSPanel_Firmware_Info", icon: "update", onColor: White, name: "Firmware Infos"},
                  <PageItem>{ navigate: true, id: "NSPanel_Einstellungen", icon: "wrench-outline", onColor: White, name: "Screensaver"}
              ]
          };
          
                  //Subpage 1 von Subpages_2
                  let NSPanel_Infos: PageEntities =
                  {
                      "type": "cardEntities",
                      "heading": "NSPanel Infos",
                      "useColor": true,
                      "subPage": true,
                      "parent": Service,
                      "items": [
                          <PageItem>{ id: AliasPath + 'Tasmota.Hardware', name: 'Hardware', icon: 'memory', offColor: MSYellow, onColor: MSYellow, useColor: true},
                          <PageItem>{ id: AliasPath + 'Sensor.ESP32.Temperature', name: "ESP Temperatur", icon: "thermometer", unit: "°C", offColor: MSYellow, onColor: MSYellow, useColor: true},
                          <PageItem>{ id: AliasPath + 'Tasmota.Uptime', name: "Uptime", icon: "timeline-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true},
                          <PageItem>{ id: AliasPath + 'Tasmota.Wifi.RSSI', name: "Wifi-Signal", icon: "signal-distance-variant", unit: "dBm", offColor: MSYellow, onColor: MSYellow, useColor: true}
                      ]
                  };
          
                  //Subpage 2 von Subpages_2
                  let NSPanel_Einstellungen: PageEntities =
                  {
                      'type': 'cardEntities',
                      'heading': 'Screensaver',
                      'useColor': true,
                      'subPage': true,
                      'parent': Service,
                      'items': [
                          <PageItem>{ id: AliasPath + 'Dimmode.brightnessDay', name: 'Brightness Tag', icon: 'brightness-5', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
                          <PageItem>{ id: AliasPath + 'Dimmode.brightnessNight', name: 'Brightness Nacht', icon: 'brightness-4', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
                          <PageItem>{ id: AliasPath + 'Dimmode.hourDay', name: 'Stunde Tag', icon: 'sun-clock', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
                          <PageItem>{ id: AliasPath + 'Dimmode.hourNight', name: 'Stunde Nacht', icon: 'sun-clock-outline', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
                      ]
                  };
          
                  //Subpage 3 von Subpages_2
                  let NSPanel_Firmware_Info: PageEntities =
                  {
                      'type': 'cardEntities',
                      'heading': 'Firmware-Updates',
                      'useColor': true,
                      'subPage': true,
                      'parent': Service,
                      'items': [
                          <PageItem>{ id: AliasPath + 'Tasmota.Version', name: 'Tasmota Firmware', offColor: MSYellow, onColor: MSYellow, useColor: true},
                          <PageItem>{ id: AliasPath + 'Display.TFTVersion', name: 'TFT-Firmware', offColor: MSYellow, onColor: MSYellow, useColor: true},
                          <PageItem>{ id: AliasPath + 'Display.BerryDriver', name: 'Berry-Treiber', offColor: MSYellow, onColor: MSYellow, useColor: true},
                          <PageItem>{ id: AliasPath + 'Display.Model', name: 'NSPanel Version', offColor: MSYellow, onColor: MSYellow, useColor: true}
                      ]
                  };
          
          export const config: Config = {
              panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_1.tele.RESULT',       // anpassen
              panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend',   // anpassen
              firstScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Hourly.h0.PrecipitationProbability', ScreensaverEntityIcon: 'weather-pouring', ScreensaverEntityText: 'Regen', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100} },
              secondScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', ScreensaverEntityIcon: 'weather-windy', ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: 'km/h', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 120} },
              thirdScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.UVIndex', ScreensaverEntityIcon: 'solar-power', ScreensaverEntityText: 'UV', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 9} },
              fourthScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.RelativeHumidity', ScreensaverEntityIcon: 'water-percent', ScreensaverEntityText: 'Luft', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100, 'val_best': 65} },
              alternativeScreensaverLayout: false,
              autoWeatherColorScreensaverLayout: true,
              mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER1', ScreensaverEntityIcon: 'light-switch', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: HMIOff  },
              mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER2', ScreensaverEntityIcon: 'lightbulb', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: HMIOff  },
              timeoutScreensaver: 10,
              dimmode: 20,
              active: 100, //Standard-Brightness TFT
              screenSaverDoubleClick: true,
              locale: 'de-DE',                    // en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
              timeFormat: '%H:%M',                // currently not used 
              dateFormat: '%A, %d. %B %Y',        // currently not used 
              weatherEntity: 'alias.0.Wetter.Ullendorf',    // Dieser Alias muss erstellt werden, damit die 4 kleineren Icons (Wetter oder DP) angezeigt werden können
              defaultOffColor: Off,
              defaultOnColor: On,
              defaultColor: Off,
              defaultBackgroundColor: Black,    //New Parameter
              temperatureUnit: '°C',
              pages: [
                      Seite1_Broker,        //Beispiel-Seite
                      Buero_Seite_1,      //Beispiel-Seite
                      SensorGrid,         //Beispiel-Seite
                      //CardPowerExample,   //Beispiel-Seite
                      //SqueezeboxRPC,      //Beispiel-Seite
                      //Sonos,              //Beispiel-Seite
                      //SpotifyPremium,     //Beispiel-Seite
                      //Alexa,              //Beispiel-Seite
                      Buero_Seite_2,      //Beispiel-Seite
                      //Buero_Klimaanlage,  //Beispiel-Seite 
                      Button_1,           //Beispiel-Seite
                      Test_Licht2,        //Beispiel-Seite
                      Test_Funktionen,    //Beispiel-Seite    
                      Fenster_1,          //Beispiel-Seite
                      Subpages_1,         //Beispiel-Seite
                      WZ_Heizung,    //Beispiel-Seite
                      Buero_Alarm,        //Beispiel-Seite
          
                      Service             //Auto-Alias Service Page
              ],
              subPages: [
                          Abfall,                     //Beispiel-Unterseite
                          WLAN,                       //Beispiel-Unterseite
                          
                          NSPanel_Infos,              //Auto-Alias Service Page
                          NSPanel_Einstellungen,      //Auto-Alias Service Page
                          NSPanel_Firmware_Info       //Auto-Alias Service Page
              ],
              button1Page: button1Page,   //Beispiel-Seite auf Button 1, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null, 
              button2Page: button2Page    //Beispiel-Seite auf Button 2, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
          };
          
          // _________________________________ Ab hier keine Konfiguration mehr _____________________________________
          
          
          ArmilarA Offline
          ArmilarA Offline
          Armilar
          Most Active Forum Testing
          schrieb am zuletzt editiert von Armilar
          #1222

          @coto

          Eine weitere Frage, die Subpages von ServicePage "NSPanel Service" sind bei mir leer. Muss da auch was Manuel angelegt werden?
          "Service Pages mit Auto-Alias (Nachfolgende Seiten werden mit Alias automatisch angelegt)"

          Versuche nur nebenher nachzuvollziehen, warum die nicht angezeigt werden. Die Antwort hierzu ist: Nein muss nichts manuell angelegt werden.

          Aber das ein Alias automatisch und vollständig erzeugt werden kann, dazu benötigt das Script die Einstellung setObjects als Berechtigung im JS-Adapter.

          Sollten die also immer noch nicht zu sehen sein. Dann bitte mal checken, ob für die Seiten Aliase angelegt wurden.

          z.B. ein alias.0.NSPanel.1.Sensor.ESP32.Temperature

          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.

          C 1 Antwort Letzte Antwort
          0
          • ArmilarA Armilar

            @coto

            Eine weitere Frage, die Subpages von ServicePage "NSPanel Service" sind bei mir leer. Muss da auch was Manuel angelegt werden?
            "Service Pages mit Auto-Alias (Nachfolgende Seiten werden mit Alias automatisch angelegt)"

            Versuche nur nebenher nachzuvollziehen, warum die nicht angezeigt werden. Die Antwort hierzu ist: Nein muss nichts manuell angelegt werden.

            Aber das ein Alias automatisch und vollständig erzeugt werden kann, dazu benötigt das Script die Einstellung setObjects als Berechtigung im JS-Adapter.

            Sollten die also immer noch nicht zu sehen sein. Dann bitte mal checken, ob für die Seiten Aliase angelegt wurden.

            z.B. ein alias.0.NSPanel.1.Sensor.ESP32.Temperature

            C Offline
            C Offline
            coto
            schrieb am zuletzt editiert von
            #1223

            @armilar

            Danke für dein Hilfe.

            Die Datenpunkte sind alle erstellt, außer
            'Dimmode.brightnessDay'
            'Dimmode.brightnessNight'
            'Dimmode.hourDay'
            'Dimmode.hourNight'

            Die Einstellung setObjects hatte ich noch nicht gesetzt. Mit gesetzter Einstellung funktioniert es jetzt auch mit der Anzeige auf dem NSPanel.
            Die Screensaver SubPage funktionert allerdings nicht wegen der fehlenden Datenpunkte. Die werden wohl nicht automatisch angelegt. Hier sieht die Struktur auch anders aus.

            a8fb0c8d-082a-4634-a84a-feedf272b500-image.png

            72c15d9d-e6fd-42cf-8cc2-e567e01f099f-image.png

            T ArmilarA 2 Antworten Letzte Antwort
            0
            • C coto

              @armilar

              Danke für dein Hilfe.

              Die Datenpunkte sind alle erstellt, außer
              'Dimmode.brightnessDay'
              'Dimmode.brightnessNight'
              'Dimmode.hourDay'
              'Dimmode.hourNight'

              Die Einstellung setObjects hatte ich noch nicht gesetzt. Mit gesetzter Einstellung funktioniert es jetzt auch mit der Anzeige auf dem NSPanel.
              Die Screensaver SubPage funktionert allerdings nicht wegen der fehlenden Datenpunkte. Die werden wohl nicht automatisch angelegt. Hier sieht die Struktur auch anders aus.

              a8fb0c8d-082a-4634-a84a-feedf272b500-image.png

              72c15d9d-e6fd-42cf-8cc2-e567e01f099f-image.png

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

              @coto
              hast du das Script noch einmal neu gestartet? Eigentlich werden sie automatisch angelegt.

              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
              0
              • C coto

                @armilar

                Danke für dein Hilfe.

                Die Datenpunkte sind alle erstellt, außer
                'Dimmode.brightnessDay'
                'Dimmode.brightnessNight'
                'Dimmode.hourDay'
                'Dimmode.hourNight'

                Die Einstellung setObjects hatte ich noch nicht gesetzt. Mit gesetzter Einstellung funktioniert es jetzt auch mit der Anzeige auf dem NSPanel.
                Die Screensaver SubPage funktionert allerdings nicht wegen der fehlenden Datenpunkte. Die werden wohl nicht automatisch angelegt. Hier sieht die Struktur auch anders aus.

                a8fb0c8d-082a-4634-a84a-feedf272b500-image.png

                72c15d9d-e6fd-42cf-8cc2-e567e01f099f-image.png

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

                @coto

                Sollte in etwa so aussehen
                8e92eed7-49b5-4674-8035-0ec3c9d8502a-image.png

                Falls nicht, dann den ganzen 0_userdata-Baum und Alias-Baum löschen und neu anlegen lassen.

                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.

                C T 2 Antworten Letzte Antwort
                0
                • ArmilarA Armilar

                  @coto

                  Sollte in etwa so aussehen
                  8e92eed7-49b5-4674-8035-0ec3c9d8502a-image.png

                  Falls nicht, dann den ganzen 0_userdata-Baum und Alias-Baum löschen und neu anlegen lassen.

                  C Offline
                  C Offline
                  coto
                  schrieb am zuletzt editiert von
                  #1226

                  @armilar

                  Hab alles noch mal gelöscht und geht jetzt.

                  Danke euch. Für heute reicht das dann erstmal :blush:

                  1 Antwort Letzte Antwort
                  0
                  • ArmilarA Armilar

                    @coto

                    Sollte in etwa so aussehen
                    8e92eed7-49b5-4674-8035-0ec3c9d8502a-image.png

                    Falls nicht, dann den ganzen 0_userdata-Baum und Alias-Baum löschen und neu anlegen lassen.

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

                    @armilar
                    So krass wollte ich nicht gleich rangehen. :blush:

                    Frage: wie kann man die Farbe von Icon wechseln bei diesem pageItem? Ich wollte als Übersicht das Icon Rot Weden lassen, wenn mein DP größer 1 ist.

                    <PageItem>{ navigate: true, id: 'Fenster', icon: 'window-closed-variant', onColor: MSGreen, offColor: MSRed, name: 'Fenster'}
                    

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

                      @armilar
                      So krass wollte ich nicht gleich rangehen. :blush:

                      Frage: wie kann man die Farbe von Icon wechseln bei diesem pageItem? Ich wollte als Übersicht das Icon Rot Weden lassen, wenn mein DP größer 1 ist.

                      <PageItem>{ navigate: true, id: 'Fenster', icon: 'window-closed-variant', onColor: MSGreen, offColor: MSRed, name: 'Fenster'}
                      
                      ArmilarA Offline
                      ArmilarA Offline
                      Armilar
                      Most Active Forum Testing
                      schrieb am zuletzt editiert von
                      #1228

                      @tt-tom

                      Da kenne ich nix :blush:

                      Habe es nie ausprobiert, wüsste aber auch keinen Grund warum es nicht gehen sollte...

                      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.

                      T 1 Antwort Letzte Antwort
                      0
                      • ArmilarA Armilar

                        @tt-tom

                        Da kenne ich nix :blush:

                        Habe es nie ausprobiert, wüsste aber auch keinen Grund warum es nicht gehen sollte...

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

                        @armilar
                        die ID ist ja eine Subpage.

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

                          @armilar
                          die ID ist ja eine Subpage.

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

                          @tt-tom

                          Aber es ist doch immer noch ein pageItem. Das hat eigentlich mit der Seitenstruktur nichts zu tun.

                          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.

                          T 1 Antwort Letzte Antwort
                          0
                          • ArmilarA Armilar

                            @tt-tom

                            Aber es ist doch immer noch ein pageItem. Das hat eigentlich mit der Seitenstruktur nichts zu tun.

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

                            @armilar
                            ja aber bei ID steht doch die Subpage drin und nicht der DP

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

                              @armilar
                              ja aber bei ID steht doch die Subpage drin und nicht der DP

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

                              @tt-tom

                              ich brauchte etwas länger... stimmt - wie soll der einen Wert bekommen?

                              Das wird wohl dann doch nicht gehen...

                              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.

                              T 1 Antwort Letzte Antwort
                              0
                              • ArmilarA Armilar

                                @tt-tom

                                ich brauchte etwas länger... stimmt - wie soll der einen Wert bekommen?

                                Das wird wohl dann doch nicht gehen...

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

                                @armilar ich habe grade bei der Type Pageitem das gefunden

                                targetPage: (string | undefined)

                                wofür wird dies genutzt? eventuell kann man diesen ja für 'navigate:true' nutzen, dann bleibt ID für Datenpunkt.

                                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
                                0
                                • ArmilarA Offline
                                  ArmilarA Offline
                                  Armilar
                                  Most Active Forum Testing
                                  schrieb am zuletzt editiert von
                                  #1234

                                  @tt-tom

                                  Wäre möglich. Keine Ahnung wo der herkommt. Wahrscheinlich noch aus einer früheren Navigation.

                                  Naja war eigentlich auch nie gedacht, ein Navigations-Item einzufärben :blush:

                                  Hast du schon eine Idee? Sonst bastel mal ne Runde... Ich muss aktuell noch ans Christmas-Release... hoffe das schaffen wir noch...

                                  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.

                                  T 2 Antworten Letzte Antwort
                                  0
                                  • ArmilarA Armilar

                                    @tt-tom

                                    Wäre möglich. Keine Ahnung wo der herkommt. Wahrscheinlich noch aus einer früheren Navigation.

                                    Naja war eigentlich auch nie gedacht, ein Navigations-Item einzufärben :blush:

                                    Hast du schon eine Idee? Sonst bastel mal ne Runde... Ich muss aktuell noch ans Christmas-Release... hoffe das schaffen wir noch...

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

                                    @armilar hat erstmal Zeit. Ich werde es morgen, ne übermorgen mal zusammenschreiben, wofür es genutzt werden kann und mir dann mal den Code ansehen. schönen Abend noch

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

                                      @armilar hat erstmal Zeit. Ich werde es morgen, ne übermorgen mal zusammenschreiben, wofür es genutzt werden kann und mir dann mal den Code ansehen. schönen Abend noch

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

                                      @tt-tom

                                      Super, dir auch

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

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

                                      1 Antwort Letzte Antwort
                                      0
                                      • J joBr99

                                        @TopGoal

                                        Also das ist relativ einfach, mit 10-15 mal tippen kommst du auf meine Testseite auf der Verlinkungen zu diversen Seiten kommst, die sind allerdings leer, da das ioBroker Skript kein Inhalt zur Verfügung stellt. Das ist vollkommen normal, funktioniert vollkommen unabhängig von irgendeinem Backend. Auch dass das flashen bei 90% startet ist normal und spart beim updaten Zeit, da z.B. Schriftarten und Bilder sich nicht immer ändern. Wenn waiting for content da steht kannst du die Display Firmware auf jeden fall von der Liste streichen, die funktioniert. Nächste Stelle ist MQTT in Tasmota und das ioBroker Skript. Fragmente/Flash/Memory ist auf jeden Fall nicht die richtige Richtung.

                                        Das Panel sendet in dem waiting for content screen regelmäßig event,startup,42,eu, Tasmota leitet das weiter an das MQTT Result Topic, das backend nimmt das entgegen und sagt dem panel mit pageType xxx und dem dazugehörigen Inhalt was es anzeigen soll. Du könntest die Commands für das Display sogar manuell in Tasmota versenden. Damit es etwas sinnvolles anzeigt, das von ioBroker kommt muss das Skript also laufen und die MQTT Channel müssen in beiden Richtungen stimmen und funktionieren, da ich aber von ioBroker und dem Skript kein Plan hab überlass ich das mal den anderen.

                                        I Offline
                                        I Offline
                                        io_andre
                                        schrieb am zuletzt editiert von io_andre
                                        #1237

                                        @jobr99 Hallo, ich verzweifel gerade ebenfalls schon mehrere Tage am Punkt "Waiting for content". Die Anleitung ist wirklich 1. Klasse, ich bekomme es aber einfach nicht hin.
                                        Eine Frage zum Grundverständnis. Wenn die richtige Tasmota Version läuft, das Display geflasht ist und der Berry-Treiber richtig installiert ist, dann müsste doch ohne MQTT Server auch schon durch Eingabe von „CustomSend time~12:00“ in der Tasmota Console die Anzeige auf die Uhrzeit wechseln? Habe ich das richtig verstenden? VG Andre

                                        GELÖST: Wenn die Verzweiflung am größten ist geht es auf einmal - Ich habe den Datenpunkt "CustomSend" noch einmal über den ioBroker Expertenmodus und nicht im MQTT-Explorer oder über die Tasmota Console angelegt. Optisch sieht das Ergebnis genau so aus, nur das es nun geht!

                                        ArmilarA 1 Antwort Letzte Antwort
                                        0
                                        • I io_andre

                                          @jobr99 Hallo, ich verzweifel gerade ebenfalls schon mehrere Tage am Punkt "Waiting for content". Die Anleitung ist wirklich 1. Klasse, ich bekomme es aber einfach nicht hin.
                                          Eine Frage zum Grundverständnis. Wenn die richtige Tasmota Version läuft, das Display geflasht ist und der Berry-Treiber richtig installiert ist, dann müsste doch ohne MQTT Server auch schon durch Eingabe von „CustomSend time~12:00“ in der Tasmota Console die Anzeige auf die Uhrzeit wechseln? Habe ich das richtig verstenden? VG Andre

                                          GELÖST: Wenn die Verzweiflung am größten ist geht es auf einmal - Ich habe den Datenpunkt "CustomSend" noch einmal über den ioBroker Expertenmodus und nicht im MQTT-Explorer oder über die Tasmota Console angelegt. Optisch sieht das Ergebnis genau so aus, nur das es nun geht!

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

                                          @io_andre

                                          Schön das es funktioniert... Und weiterhin viel Spaß damit...

                                          Zu deiner Frage, die du wahrscheinlich schon beantwortet hast:

                                          Eine Frage zum Grundverständnis. Wenn die richtige Tasmota Version läuft, das Display geflasht ist und der Berry-Treiber richtig installiert ist, dann müsste doch ohne MQTT Server auch schon durch Eingabe von „CustomSend time~12:00“ in der Tasmota Console die Anzeige auf die Uhrzeit wechseln? Habe ich das richtig verstenden?

                                          Die MQTT-Kommunikation muss funktionieren, da "alle" Inhalte für das NSPanel vom ioBroker kommen. Sogar die Zeit und das Datum.

                                          Falls weitere Fragen aufkommen, zögere nicht sie hier zu stellen... :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.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          703

                                          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