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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Sonoff NSPanel

NEWS

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

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

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

Sonoff NSPanel

Scheduled Pinned Locked Moved Hardware
1.5k Posts 78 Posters 636.7k Views 80 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • panikP panik

    @haus-automatisierung Dann schaue ich da mal rein, vielleicht gibt es da Hinweise zum Bafallkalender und CardAlarm denn da Hänge ich und habe hier auch nicht den passenden Hinweis finden können bzw. die nötigen Aliase ?!

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

    @panik

    Für den Abfall gibt es hier ein Beitrag.

    Bei Alarm kann ich dir nicht helfen.

    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 Reply Last reply
    0
    • K Offline
      K Offline
      Kuckuckmann
      wrote on last edited by Kuckuckmann
      #1086

      Ich mal wieder 🙂

      Ich versuche mich gerade daran den Button2 als meinen Home Button zu deklarieren.

      Ich habe den Button vom Relay getrennt:

      Rule2 on Button2#state do Publish SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"} endon
      

      und die dann aktiviert mit

      Rule2 1 (Rule aktivieren)
      

      Nun habe ich im ioBroker

      mqtt.0.SmartHome.nspanel_7C14FC.cmnd.RESULT
      

      mit dem Wert

      {"CustomRecv":"event,button2"}
      

      Im Skript habe ich eine PageGrid mit dem Namen "Home".
      Also habe ich in er Page Definition gesagt:

      button2Page: Home
      

      Wenn ich den Button nun drücke schaltet kein Relay mehr (was so sein soll) ,aber meine Seite "Home" wird nicht geladen.

      In der Tasmota Konsole sehe ich das:

      15:14:28.355 APP: Knopf2 Mehrfachdruck 1
      15:14:28.875 RUL: BUTTON2#STATE performs "Publish SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"}"
      15:14:28.878 SRC: Rule
      15:14:28.881 CMD: Grp 0, Cmd 'PUBLISH', Idx 1, Len 71, Pld -99, Data 'SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"}'
      15:14:28.891 MQT: SmartHome/nspanel_7C14FC/cmnd/RESULT = {"CustomRecv":"event,button2"}
      15:15:00.039 SRC: MQTT
      15:15:00.043 CMD: Grp 0, Cmd 'CUSTOMSEND', Idx 1, Len 10, Pld -99, Data 'time~16:15'
      15:15:00.063 NXP: payload sent = bytes('55BB0A0074696D657E31363A3135BC35')
      15:15:00.072 MQT: SmartHome/nspanel_7C14FC/stat/RESULT = {"CustomSend":"Done"}
      

      Wo ist mein Fehler?

      Danke vorab.

      LG

      NSPanel Dokumentation im GitHub Wiki:

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

      ArmilarA 1 Reply Last reply
      0
      • T TT-Tom

        @panik

        Für den Abfall gibt es hier ein Beitrag.

        Bei Alarm kann ich dir nicht helfen.

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

        @tt-tom sagte in Sonoff NSPanel:

        @panik

        Für den Abfall gibt es hier ein Beitrag.

        Bei Alarm kann ich dir nicht helfen.

        o.a. Link von TT-Tom für dynamische Erstellung per ical

        oder statisch (ebenfalls per ical)
        https://forum.iobroker.net/post/846494
        Hier wurde der Adapter "Müllabfuhr-Zeitplan" (trashschedule optional verwendet. Auf diese kann man dann per info-Alias zugreifen.

        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 Reply Last reply
        0
        • panikP panik

          @haus-automatisierung Dann schaue ich da mal rein, vielleicht gibt es da Hinweise zum Bafallkalender und CardAlarm denn da Hänge ich und habe hier auch nicht den passenden Hinweis finden können bzw. die nötigen Aliase ?!

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

          @panik sagte in Sonoff NSPanel:

          @haus-automatisierung Dann schaue ich da mal rein, vielleicht gibt es da Hinweise zum Bafallkalender und CardAlarm denn da Hänge ich und habe hier auch nicht den passenden Hinweis finden können bzw. die nötigen Aliase ?!

          Keine Panik 😉

          Gerne folgende Anleitung befolgen:

          Folgende 3 Datenpunkte unter 0_userdata anlegen (sollten eigentlich schon da sein):
          83e440f3-b152-4dbd-a514-c758cecbab06-image.png

          Dann wie in den Beispiel pageItems
          var Buero_Alarm: PageAlarm =
          {
          "type": "cardAlarm",
          "heading": "Alarm",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }]
          };

          1c075d93-b101-455a-bacb-c306b0e092e7-image.png

          Alias-Feueralarm verwenden oder wie folgt mit Alias-Manager:
          c562e1ea-33fd-4a3d-965f-b9f4fcd98993-image.png
          aae6b780-3d15-4017-a566-00059ba885c3-image.png
          fe07b7b6-97de-4b92-9937-a837b84f2c00-image.png

          Bei Aktivierung oder Deaktivierung der Alarmanlage wechselt der Status in "arming" oder "pending". Da die Verarbeitung der Alarmlogik außerhalb des Skriptes stattfindet, müssen die Datenpunkte auch entsprechend durch das externe Skript weitergetaktet werden:

          Nachfolgend ein kurzes Emulationsskript für die Weiterverarbeitung. Diese Logik sollte auch in dein eigenes externes Alarm-Skript übernommen werden.

          6d784593-e046-434e-a610-7eb1e8464f9a-image.png

          <xml xmlns="https://developers.google.com/blockly/xml">
            <block type="on_ext" id="q!?(x}z/f~TClQnNmbyU" x="113" y="38">
              <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="]~f@4kO$zmxdg=}/810C">
                  <field name="oid">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="controls_if" id="=_e7bf!`Q]$tg*0U1_2F">
                  <mutation elseif="1"></mutation>
                  <value name="IF0">
                    <block type="logic_compare" id="0_9gv(MmSSJ{2a$j{}(P">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="on_source" id="H$WWrxxX|NaWkT%W]g!Z">
                          <field name="ATTR">state.val</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="text" id="_TnyjJ5x!)JY~rQ:Opj)">
                          <field name="TEXT">arming</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="control" id="eO}0c$0s~08Di)?sMM0(">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                      <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                      <field name="WITH_DELAY">TRUE</field>
                      <field name="DELAY_MS">1000</field>
                      <field name="UNIT">ms</field>
                      <field name="CLEAR_RUNNING">TRUE</field>
                      <value name="VALUE">
                        <block type="text" id="J(va8~n[/dogNBn!W].I">
                          <field name="TEXT">armed</field>
                        </block>
                      </value>
                    </block>
                  </statement>
                  <value name="IF1">
                    <block type="logic_compare" id="]p3s+ouB~BJkfd:e)G:(">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="on_source" id=":n]Z,t6+q#-l_hP+MEI@">
                          <field name="ATTR">state.val</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="text" id="([Ep{MPBu5s.C-lOdHgr">
                          <field name="TEXT">pending</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO1">
                    <block type="control" id="s77gpG^9o0A)T{f}{#,c">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                      <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                      <field name="WITH_DELAY">TRUE</field>
                      <field name="DELAY_MS">1000</field>
                      <field name="UNIT">ms</field>
                      <field name="CLEAR_RUNNING">TRUE</field>
                      <value name="VALUE">
                        <block type="text" id="4DC5l(?mcdlhZ/jIumty">
                          <field name="TEXT">disarmed</field>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </statement>
            </block>
          </xml>
          

          Test-Blockly starten

          Alarm-Code in die cardAlarm eingeben --> Schutz auswählen --> aktiviert
          Alarm-Code in die cardAlarm eingeben --> Deaktivieren --> deaktiviert

          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.

          panikP 1 Reply Last reply
          0
          • ArmilarA Armilar

            @kuckuckmann sagte in Sonoff NSPanel:

            @Armilar

            Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

            //Subpage 1 von Subpages_1
            var 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"}
                ]
            };
            

            Unsere Stadt stellt einen ical Kalender zur Verfügung.

            var i, Muell_JSON, Event2, Color;
            
            function subsequenceFromStartLast(sequence, at1) {
              var start = at1;
              var end = sequence.length - 1 + 1;
              return sequence.slice(start, end);
            }
            
            
            on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              for (i = 0; i <= 3; i++) {
                Muell_JSON = getState("ical.1.data.table").val;
                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                if (Event2 == 'Reststoff') {
                  Color = 33840;
                } else if (Event2 == 'Biotonne') {
                  Color = 2016;
                } else if (Event2 == 'Blaue Tonne') {
                  Color = 31;
                } else if (Event2 == 'Gelbe Tonne') {
                  Color = 65504;
                }
                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
              }
            });
            

            Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

            Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

            Statisch lässt dich das als Alias "info" abbilden

            K Offline
            K Offline
            Kuckuckmann
            wrote on last edited by Kuckuckmann
            #1089

            @armilar said in Sonoff NSPanel:

            @Armilar Du hast hier geschrieben "darüber liegt jeweils ein Alias vom Typ "warning"". Kannst Du mal beschreiben, welche Felder du mit welchen Daten befüllst?
            Egal was ich mache, ich bekomme entweder eine blaue Tonne (Symbol) mit dem Datum als Beschreibung und Wert, oder eine schwarze Tonne (Symbol) mit null als Beschreibung und Wert.

            Ich nutze den Trashschedul Adapter von @haus-automatisierung und beziehe mich dort auf den Datumswert nextdateformat.

            Danke vorab
            LG

            @kuckuckmann sagte in Sonoff NSPanel:

            @Armilar

            Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

            //Subpage 1 von Subpages_1
            var 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"}
                ]
            };
            

            Unsere Stadt stellt einen ical Kalender zur Verfügung.

            var i, Muell_JSON, Event2, Color;
            
            function subsequenceFromStartLast(sequence, at1) {
              var start = at1;
              var end = sequence.length - 1 + 1;
              return sequence.slice(start, end);
            }
            
            
            on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              for (i = 0; i <= 3; i++) {
                Muell_JSON = getState("ical.1.data.table").val;
                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                if (Event2 == 'Reststoff') {
                  Color = 33840;
                } else if (Event2 == 'Biotonne') {
                  Color = 2016;
                } else if (Event2 == 'Blaue Tonne') {
                  Color = 31;
                } else if (Event2 == 'Gelbe Tonne') {
                  Color = 65504;
                }
                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
              }
            });
            

            Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

            Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

            Statisch lässt dich das als Alias "info" abbilden

            NSPanel Dokumentation im GitHub Wiki:

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

            ArmilarA 1 Reply Last reply
            1
            • ArmilarA Armilar

              @panik sagte in Sonoff NSPanel:

              @haus-automatisierung Dann schaue ich da mal rein, vielleicht gibt es da Hinweise zum Bafallkalender und CardAlarm denn da Hänge ich und habe hier auch nicht den passenden Hinweis finden können bzw. die nötigen Aliase ?!

              Keine Panik 😉

              Gerne folgende Anleitung befolgen:

              Folgende 3 Datenpunkte unter 0_userdata anlegen (sollten eigentlich schon da sein):
              83e440f3-b152-4dbd-a514-c758cecbab06-image.png

              Dann wie in den Beispiel pageItems
              var Buero_Alarm: PageAlarm =
              {
              "type": "cardAlarm",
              "heading": "Alarm",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }]
              };

              1c075d93-b101-455a-bacb-c306b0e092e7-image.png

              Alias-Feueralarm verwenden oder wie folgt mit Alias-Manager:
              c562e1ea-33fd-4a3d-965f-b9f4fcd98993-image.png
              aae6b780-3d15-4017-a566-00059ba885c3-image.png
              fe07b7b6-97de-4b92-9937-a837b84f2c00-image.png

              Bei Aktivierung oder Deaktivierung der Alarmanlage wechselt der Status in "arming" oder "pending". Da die Verarbeitung der Alarmlogik außerhalb des Skriptes stattfindet, müssen die Datenpunkte auch entsprechend durch das externe Skript weitergetaktet werden:

              Nachfolgend ein kurzes Emulationsskript für die Weiterverarbeitung. Diese Logik sollte auch in dein eigenes externes Alarm-Skript übernommen werden.

              6d784593-e046-434e-a610-7eb1e8464f9a-image.png

              <xml xmlns="https://developers.google.com/blockly/xml">
                <block type="on_ext" id="q!?(x}z/f~TClQnNmbyU" x="113" y="38">
                  <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="]~f@4kO$zmxdg=}/810C">
                      <field name="oid">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                    </shadow>
                  </value>
                  <statement name="STATEMENT">
                    <block type="controls_if" id="=_e7bf!`Q]$tg*0U1_2F">
                      <mutation elseif="1"></mutation>
                      <value name="IF0">
                        <block type="logic_compare" id="0_9gv(MmSSJ{2a$j{}(P">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="on_source" id="H$WWrxxX|NaWkT%W]g!Z">
                              <field name="ATTR">state.val</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="text" id="_TnyjJ5x!)JY~rQ:Opj)">
                              <field name="TEXT">arming</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="control" id="eO}0c$0s~08Di)?sMM0(">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                          <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                          <field name="WITH_DELAY">TRUE</field>
                          <field name="DELAY_MS">1000</field>
                          <field name="UNIT">ms</field>
                          <field name="CLEAR_RUNNING">TRUE</field>
                          <value name="VALUE">
                            <block type="text" id="J(va8~n[/dogNBn!W].I">
                              <field name="TEXT">armed</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                      <value name="IF1">
                        <block type="logic_compare" id="]p3s+ouB~BJkfd:e)G:(">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="on_source" id=":n]Z,t6+q#-l_hP+MEI@">
                              <field name="ATTR">state.val</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="text" id="([Ep{MPBu5s.C-lOdHgr">
                              <field name="TEXT">pending</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO1">
                        <block type="control" id="s77gpG^9o0A)T{f}{#,c">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                          <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                          <field name="WITH_DELAY">TRUE</field>
                          <field name="DELAY_MS">1000</field>
                          <field name="UNIT">ms</field>
                          <field name="CLEAR_RUNNING">TRUE</field>
                          <value name="VALUE">
                            <block type="text" id="4DC5l(?mcdlhZ/jIumty">
                              <field name="TEXT">disarmed</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </statement>
                </block>
              </xml>
              

              Test-Blockly starten

              Alarm-Code in die cardAlarm eingeben --> Schutz auswählen --> aktiviert
              Alarm-Code in die cardAlarm eingeben --> Deaktivieren --> deaktiviert

              panikP Offline
              panikP Offline
              panik
              wrote on last edited by
              #1090

              @armilar Wie geil! Da werde ich mich nochmal hinsetzen und das Ausprobieren 🙂
              Vielen Dank!

              1 Reply Last reply
              0
              • K Kuckuckmann

                @armilar said in Sonoff NSPanel:

                @Armilar Du hast hier geschrieben "darüber liegt jeweils ein Alias vom Typ "warning"". Kannst Du mal beschreiben, welche Felder du mit welchen Daten befüllst?
                Egal was ich mache, ich bekomme entweder eine blaue Tonne (Symbol) mit dem Datum als Beschreibung und Wert, oder eine schwarze Tonne (Symbol) mit null als Beschreibung und Wert.

                Ich nutze den Trashschedul Adapter von @haus-automatisierung und beziehe mich dort auf den Datumswert nextdateformat.

                Danke vorab
                LG

                @kuckuckmann sagte in Sonoff NSPanel:

                @Armilar

                Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                //Subpage 1 von Subpages_1
                var 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"}
                    ]
                };
                

                Unsere Stadt stellt einen ical Kalender zur Verfügung.

                var i, Muell_JSON, Event2, Color;
                
                function subsequenceFromStartLast(sequence, at1) {
                  var start = at1;
                  var end = sequence.length - 1 + 1;
                  return sequence.slice(start, end);
                }
                
                
                on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  for (i = 0; i <= 3; i++) {
                    Muell_JSON = getState("ical.1.data.table").val;
                    setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                    Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                    setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                    if (Event2 == 'Reststoff') {
                      Color = 33840;
                    } else if (Event2 == 'Biotonne') {
                      Color = 2016;
                    } else if (Event2 == 'Blaue Tonne') {
                      Color = 31;
                    } else if (Event2 == 'Gelbe Tonne') {
                      Color = 65504;
                    }
                    setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                  }
                });
                

                Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                Statisch lässt dich das als Alias "info" abbilden

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

                @kuckuckmann sagte in Sonoff NSPanel:

                @armilar said in Sonoff NSPanel:

                @Armilar Du hast hier geschrieben "darüber liegt jeweils ein Alias vom Typ "warning"". Kannst Du mal beschreiben, welche Felder du mit welchen Daten befüllst?
                Egal was ich mache, ich bekomme entweder eine blaue Tonne (Symbol) mit dem Datum als Beschreibung und Wert, oder eine schwarze Tonne (Symbol) mit null als Beschreibung und Wert.

                Danke vorab
                LG

                @kuckuckmann sagte in Sonoff NSPanel:

                @Armilar

                Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                //Subpage 1 von Subpages_1
                var 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"}
                    ]
                };
                

                Unsere Stadt stellt einen ical Kalender zur Verfügung.

                var i, Muell_JSON, Event2, Color;
                
                function subsequenceFromStartLast(sequence, at1) {
                  var start = at1;
                  var end = sequence.length - 1 + 1;
                  return sequence.slice(start, end);
                }
                
                
                on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  for (i = 0; i <= 3; i++) {
                    Muell_JSON = getState("ical.1.data.table").val;
                    setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                    Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                    setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                    if (Event2 == 'Reststoff') {
                      Color = 33840;
                    } else if (Event2 == 'Biotonne') {
                      Color = 2016;
                    } else if (Event2 == 'Blaue Tonne') {
                      Color = 31;
                    } else if (Event2 == 'Gelbe Tonne') {
                      Color = 65504;
                    }
                    setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                  }
                });
                

                Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                Statisch lässt dich das als Alias "info" abbilden

                ff5c7e62-f840-44de-9c7d-ab9d8317587d-image.png

                also jeweils für event 1 bis event 4

                fca79a75-9585-462b-bb9e-c9ffc31159bb-image.png

                und das sind die Datenpunkte
                6b9e0fb1-c84d-4d55-9569-59b2ceb7a65a-image.png

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

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

                K 1 Reply Last reply
                0
                • K Kuckuckmann

                  Ich mal wieder 🙂

                  Ich versuche mich gerade daran den Button2 als meinen Home Button zu deklarieren.

                  Ich habe den Button vom Relay getrennt:

                  Rule2 on Button2#state do Publish SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"} endon
                  

                  und die dann aktiviert mit

                  Rule2 1 (Rule aktivieren)
                  

                  Nun habe ich im ioBroker

                  mqtt.0.SmartHome.nspanel_7C14FC.cmnd.RESULT
                  

                  mit dem Wert

                  {"CustomRecv":"event,button2"}
                  

                  Im Skript habe ich eine PageGrid mit dem Namen "Home".
                  Also habe ich in er Page Definition gesagt:

                  button2Page: Home
                  

                  Wenn ich den Button nun drücke schaltet kein Relay mehr (was so sein soll) ,aber meine Seite "Home" wird nicht geladen.

                  In der Tasmota Konsole sehe ich das:

                  15:14:28.355 APP: Knopf2 Mehrfachdruck 1
                  15:14:28.875 RUL: BUTTON2#STATE performs "Publish SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"}"
                  15:14:28.878 SRC: Rule
                  15:14:28.881 CMD: Grp 0, Cmd 'PUBLISH', Idx 1, Len 71, Pld -99, Data 'SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"}'
                  15:14:28.891 MQT: SmartHome/nspanel_7C14FC/cmnd/RESULT = {"CustomRecv":"event,button2"}
                  15:15:00.039 SRC: MQTT
                  15:15:00.043 CMD: Grp 0, Cmd 'CUSTOMSEND', Idx 1, Len 10, Pld -99, Data 'time~16:15'
                  15:15:00.063 NXP: payload sent = bytes('55BB0A0074696D657E31363A3135BC35')
                  15:15:00.072 MQT: SmartHome/nspanel_7C14FC/stat/RESULT = {"CustomSend":"Done"}
                  

                  Wo ist mein Fehler?

                  Danke vorab.

                  LG

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

                  @kuckuckmann sagte in Sonoff NSPanel:

                  Ich mal wieder 🙂

                  Ich versuche mich gerade daran den Button2 als meinen Home Button zu deklarieren.

                  Ich habe den Button vom Relay getrennt:

                  Rule2 on Button2#state do Publish SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"} endon
                  

                  und die dann aktiviert mit

                  Rule2 1 (Rule aktivieren)
                  

                  Nun habe ich im ioBroker

                  mqtt.0.SmartHome.nspanel_7C14FC.cmnd.RESULT
                  

                  mit dem Wert

                  {"CustomRecv":"event,button2"}
                  

                  Im Skript habe ich eine PageGrid mit dem Namen "Home".
                  Also habe ich in er Page Definition gesagt:

                  button2Page: Home
                  

                  Wenn ich den Button nun drücke schaltet kein Relay mehr (was so sein soll) ,aber meine Seite "Home" wird nicht geladen.

                  In der Tasmota Konsole sehe ich das:

                  15:14:28.355 APP: Knopf2 Mehrfachdruck 1
                  15:14:28.875 RUL: BUTTON2#STATE performs "Publish SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"}"
                  15:14:28.878 SRC: Rule
                  15:14:28.881 CMD: Grp 0, Cmd 'PUBLISH', Idx 1, Len 71, Pld -99, Data 'SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"}'
                  15:14:28.891 MQT: SmartHome/nspanel_7C14FC/cmnd/RESULT = {"CustomRecv":"event,button2"}
                  15:15:00.039 SRC: MQTT
                  15:15:00.043 CMD: Grp 0, Cmd 'CUSTOMSEND', Idx 1, Len 10, Pld -99, Data 'time~16:15'
                  15:15:00.063 NXP: payload sent = bytes('55BB0A0074696D657E31363A3135BC35')
                  15:15:00.072 MQT: SmartHome/nspanel_7C14FC/stat/RESULT = {"CustomSend":"Done"}
                  

                  Wo ist mein Fehler?

                  Danke vorab.

                  LG

                  Bei mir funktioniert das auch...

                  Das wichtigste ist eigentlich
                  52d7357f-8fec-41cf-9bc3-792cce957505-image.png

                  Was mich jedoch irritiert ist der Rest. Den habe ich bei mir nicht. Also Zeile 1, 3-9

                  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.

                  K 1 Reply Last reply
                  0
                  • Jens WoznyJ Jens Wozny

                    @armilar ja genau den, ohne den Hinweis gestern hätte ich ihn auch erst nicht gefunden da die Anzahl der Posts doch ziemlich angewachsen ist und auch wenn man sich bemüht irgendwann doch die Übersicht verliert 🙂

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

                    @jens-wozny sagte in Sonoff NSPanel:

                    @armilar ja genau den, ohne den Hinweis gestern hätte ich ihn auch erst nicht gefunden da die Anzahl der Posts doch ziemlich angewachsen ist und auch wenn man sich bemüht irgendwann doch die Übersicht verliert 🙂

                    Habe ich erweitert

                    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 Reply Last reply
                    0
                    • haus-automatisierungH haus-automatisierung

                      Hallo zusammen,

                      da dieser Thread (und damit auch die einzige Dokumentation) ziemlich verteilt Infos liefert, habe ich probiert das Vorgehen mal in einem Video zusammen zu fassen: https://youtu.be/ZPLJk2ZLo_8

                      Danke für die tolle Arbeit @Armilar ! Ich hoffe, dass ich mit meinen letzten Änderungen am Script ein wenig helfen konnte. Keine neuen Features - nur Aufräumarbeiten. Insbesondere wenn das Script erstmalig ausgeführt wurde, gab es sehr viele Warnungen.

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

                      @haus-automatisierung sagte in Sonoff NSPanel:

                      Hallo zusammen,

                      da dieser Thread (und damit auch die einzige Dokumentation) ziemlich verteilt Infos liefert, habe ich probiert das Vorgehen mal in einem Video zusammen zu fassen: https://youtu.be/ZPLJk2ZLo_8

                      Danke für die tolle Arbeit @Armilar ! Ich hoffe, dass ich mit meinen letzten Änderungen am Script ein wenig helfen konnte. Keine neuen Features - nur Aufräumarbeiten. Insbesondere wenn das Script erstmalig ausgeführt wurde, gab es sehr viele Warnungen.

                      Wie immer ein gutes Video 👍 - Danke fürs aufräumen - gefällt mir 😉

                      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 Reply Last reply
                      1
                      • haus-automatisierungH haus-automatisierung

                        Hallo zusammen,

                        da dieser Thread (und damit auch die einzige Dokumentation) ziemlich verteilt Infos liefert, habe ich probiert das Vorgehen mal in einem Video zusammen zu fassen: https://youtu.be/ZPLJk2ZLo_8

                        Danke für die tolle Arbeit @Armilar ! Ich hoffe, dass ich mit meinen letzten Änderungen am Script ein wenig helfen konnte. Keine neuen Features - nur Aufräumarbeiten. Insbesondere wenn das Script erstmalig ausgeführt wurde, gab es sehr viele Warnungen.

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

                        @haus-automatisierung sagte in Sonoff NSPanel:

                        Hallo zusammen,

                        da dieser Thread (und damit auch die einzige Dokumentation) ziemlich verteilt Infos liefert, habe ich probiert das Vorgehen mal in einem Video zusammen zu fassen: https://youtu.be/ZPLJk2ZLo_8

                        Danke für die tolle Arbeit @Armilar ! Ich hoffe, dass ich mit meinen letzten Änderungen am Script ein wenig helfen konnte. Keine neuen Features - nur Aufräumarbeiten. Insbesondere wenn das Script erstmalig ausgeführt wurde, gab es sehr viele Warnungen.

                        Allerdings hätte ich noch eine Frage - Ich habe natürlich versucht (auch vorher schon) per Expertenmodus den CustomSend anzulegen (ist ja im Prinzip auch das einfachste 😉 ) . Hat damals nicht geklappt und nach dem ich das im Video mal nachgespielt habe, ebenfalls nicht. In der Listenebene cmnd bekomme ich das "+" nicht aktiviert. Hast du dazu mal irgendwelche Einstellungen vorgenommen oder etwas anderes verändert?

                        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.

                        haus-automatisierungH 1 Reply Last reply
                        0
                        • ArmilarA Armilar

                          @kuckuckmann sagte in Sonoff NSPanel:

                          @armilar said in Sonoff NSPanel:

                          @Armilar Du hast hier geschrieben "darüber liegt jeweils ein Alias vom Typ "warning"". Kannst Du mal beschreiben, welche Felder du mit welchen Daten befüllst?
                          Egal was ich mache, ich bekomme entweder eine blaue Tonne (Symbol) mit dem Datum als Beschreibung und Wert, oder eine schwarze Tonne (Symbol) mit null als Beschreibung und Wert.

                          Danke vorab
                          LG

                          @kuckuckmann sagte in Sonoff NSPanel:

                          @Armilar

                          Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                          //Subpage 1 von Subpages_1
                          var 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"}
                              ]
                          };
                          

                          Unsere Stadt stellt einen ical Kalender zur Verfügung.

                          var i, Muell_JSON, Event2, Color;
                          
                          function subsequenceFromStartLast(sequence, at1) {
                            var start = at1;
                            var end = sequence.length - 1 + 1;
                            return sequence.slice(start, end);
                          }
                          
                          
                          on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;
                            for (i = 0; i <= 3; i++) {
                              Muell_JSON = getState("ical.1.data.table").val;
                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                              Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                              if (Event2 == 'Reststoff') {
                                Color = 33840;
                              } else if (Event2 == 'Biotonne') {
                                Color = 2016;
                              } else if (Event2 == 'Blaue Tonne') {
                                Color = 31;
                              } else if (Event2 == 'Gelbe Tonne') {
                                Color = 65504;
                              }
                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                            }
                          });
                          

                          Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                          Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                          Statisch lässt dich das als Alias "info" abbilden

                          ff5c7e62-f840-44de-9c7d-ab9d8317587d-image.png

                          also jeweils für event 1 bis event 4

                          fca79a75-9585-462b-bb9e-c9ffc31159bb-image.png

                          und das sind die Datenpunkte
                          6b9e0fb1-c84d-4d55-9569-59b2ceb7a65a-image.png

                          K Offline
                          K Offline
                          Kuckuckmann
                          wrote on last edited by
                          #1096

                          @armilar said in Sonoff NSPanel:

                          Super, vielen Dank 🙂
                          Wenn ich nun Dein Skript nutzen möchte, wie ist das anzulegen?
                          Einfach nur als JS hinzufügen?
                          Muss das noch irgendwie angesteuert werden, damit es was macht?

                          Ich habe es bei mir als JS in einem unterordner angelegt und den ical Adapter auf ical.0 geändert.
                          Außerdem habe ich unter 0_userdata den Abfallkalender Ordner angelgt.

                          Das Skript ist gestartet, aber da kommen keine Datenpunkte im Abfallkalender Ordner.

                          @kuckuckmann sagte in Sonoff NSPanel:

                          @armilar said in Sonoff NSPanel:

                          @Armilar Du hast hier geschrieben "darüber liegt jeweils ein Alias vom Typ "warning"". Kannst Du mal beschreiben, welche Felder du mit welchen Daten befüllst?
                          Egal was ich mache, ich bekomme entweder eine blaue Tonne (Symbol) mit dem Datum als Beschreibung und Wert, oder eine schwarze Tonne (Symbol) mit null als Beschreibung und Wert.

                          Danke vorab
                          LG

                          @kuckuckmann sagte in Sonoff NSPanel:

                          @Armilar

                          Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                          //Subpage 1 von Subpages_1
                          var 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"}
                              ]
                          };
                          

                          Unsere Stadt stellt einen ical Kalender zur Verfügung.

                          var i, Muell_JSON, Event2, Color;
                          
                          function subsequenceFromStartLast(sequence, at1) {
                            var start = at1;
                            var end = sequence.length - 1 + 1;
                            return sequence.slice(start, end);
                          }
                          
                          
                          on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;
                            for (i = 0; i <= 3; i++) {
                              Muell_JSON = getState("ical.1.data.table").val;
                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                              Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                              if (Event2 == 'Reststoff') {
                                Color = 33840;
                              } else if (Event2 == 'Biotonne') {
                                Color = 2016;
                              } else if (Event2 == 'Blaue Tonne') {
                                Color = 31;
                              } else if (Event2 == 'Gelbe Tonne') {
                                Color = 65504;
                              }
                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                            }
                          });
                          

                          Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                          Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                          Statisch lässt dich das als Alias "info" abbilden

                          ff5c7e62-f840-44de-9c7d-ab9d8317587d-image.png

                          also jeweils für event 1 bis event 4

                          fca79a75-9585-462b-bb9e-c9ffc31159bb-image.png

                          und das sind die Datenpunkte
                          6b9e0fb1-c84d-4d55-9569-59b2ceb7a65a-image.png

                          NSPanel Dokumentation im GitHub Wiki:

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

                          ArmilarA T 2 Replies Last reply
                          0
                          • K Kuckuckmann

                            @armilar said in Sonoff NSPanel:

                            Super, vielen Dank 🙂
                            Wenn ich nun Dein Skript nutzen möchte, wie ist das anzulegen?
                            Einfach nur als JS hinzufügen?
                            Muss das noch irgendwie angesteuert werden, damit es was macht?

                            Ich habe es bei mir als JS in einem unterordner angelegt und den ical Adapter auf ical.0 geändert.
                            Außerdem habe ich unter 0_userdata den Abfallkalender Ordner angelgt.

                            Das Skript ist gestartet, aber da kommen keine Datenpunkte im Abfallkalender Ordner.

                            @kuckuckmann sagte in Sonoff NSPanel:

                            @armilar said in Sonoff NSPanel:

                            @Armilar Du hast hier geschrieben "darüber liegt jeweils ein Alias vom Typ "warning"". Kannst Du mal beschreiben, welche Felder du mit welchen Daten befüllst?
                            Egal was ich mache, ich bekomme entweder eine blaue Tonne (Symbol) mit dem Datum als Beschreibung und Wert, oder eine schwarze Tonne (Symbol) mit null als Beschreibung und Wert.

                            Danke vorab
                            LG

                            @kuckuckmann sagte in Sonoff NSPanel:

                            @Armilar

                            Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                            //Subpage 1 von Subpages_1
                            var 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"}
                                ]
                            };
                            

                            Unsere Stadt stellt einen ical Kalender zur Verfügung.

                            var i, Muell_JSON, Event2, Color;
                            
                            function subsequenceFromStartLast(sequence, at1) {
                              var start = at1;
                              var end = sequence.length - 1 + 1;
                              return sequence.slice(start, end);
                            }
                            
                            
                            on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              for (i = 0; i <= 3; i++) {
                                Muell_JSON = getState("ical.1.data.table").val;
                                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                                Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                                if (Event2 == 'Reststoff') {
                                  Color = 33840;
                                } else if (Event2 == 'Biotonne') {
                                  Color = 2016;
                                } else if (Event2 == 'Blaue Tonne') {
                                  Color = 31;
                                } else if (Event2 == 'Gelbe Tonne') {
                                  Color = 65504;
                                }
                                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                              }
                            });
                            

                            Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                            Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                            Statisch lässt dich das als Alias "info" abbilden

                            ff5c7e62-f840-44de-9c7d-ab9d8317587d-image.png

                            also jeweils für event 1 bis event 4

                            fca79a75-9585-462b-bb9e-c9ffc31159bb-image.png

                            und das sind die Datenpunkte
                            6b9e0fb1-c84d-4d55-9569-59b2ceb7a65a-image.png

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

                            @kuckuckmann sagte in Sonoff NSPanel:

                            @armilar said in Sonoff NSPanel:

                            Super, vielen Dank 🙂
                            Wenn ich nun Dein Skript nutzen möchte, wie ist das anzulegen?
                            Einfach nur als JS hinzufügen?
                            Muss das noch irgendwie angesteuert werden, damit es was macht?

                            Ich habe es bei mir als JS in einem unterordner angelegt und den ical Adapter auf ical.0 geändert.
                            Außerdem habe ich unter 0_userdata den Abfallkalender Ordner angelgt.

                            Das Skript ist gestartet, aber da kommen keine Datenpunkte im Abfallkalender Ordner.

                            @kuckuckmann sagte in Sonoff NSPanel:

                            @armilar said in Sonoff NSPanel:

                            @Armilar Du hast hier geschrieben "darüber liegt jeweils ein Alias vom Typ "warning"". Kannst Du mal beschreiben, welche Felder du mit welchen Daten befüllst?
                            Egal was ich mache, ich bekomme entweder eine blaue Tonne (Symbol) mit dem Datum als Beschreibung und Wert, oder eine schwarze Tonne (Symbol) mit null als Beschreibung und Wert.

                            Danke vorab
                            LG

                            @kuckuckmann sagte in Sonoff NSPanel:

                            @Armilar

                            Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                            //Subpage 1 von Subpages_1
                            var 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"}
                                ]
                            };
                            

                            Unsere Stadt stellt einen ical Kalender zur Verfügung.

                            var i, Muell_JSON, Event2, Color;
                            
                            function subsequenceFromStartLast(sequence, at1) {
                              var start = at1;
                              var end = sequence.length - 1 + 1;
                              return sequence.slice(start, end);
                            }
                            
                            
                            on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              for (i = 0; i <= 3; i++) {
                                Muell_JSON = getState("ical.1.data.table").val;
                                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                                Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                                if (Event2 == 'Reststoff') {
                                  Color = 33840;
                                } else if (Event2 == 'Biotonne') {
                                  Color = 2016;
                                } else if (Event2 == 'Blaue Tonne') {
                                  Color = 31;
                                } else if (Event2 == 'Gelbe Tonne') {
                                  Color = 65504;
                                }
                                setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                              }
                            });
                            

                            Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                            Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                            Statisch lässt dich das als Alias "info" abbilden

                            ff5c7e62-f840-44de-9c7d-ab9d8317587d-image.png

                            also jeweils für event 1 bis event 4

                            fca79a75-9585-462b-bb9e-c9ffc31159bb-image.png

                            und das sind die Datenpunkte
                            6b9e0fb1-c84d-4d55-9569-59b2ceb7a65a-image.png

                            Ist egal, ob Javascript oder TypeScript - sollte das gleiche sein.

                            oder als Blockly

                            <xml xmlns="https://developers.google.com/blockly/xml">
                              <variables>
                                <variable id="h}CE-n1l`S|gRf(0K%./">i</variable>
                                <variable id="j5C=K+Z.E:im1#q:;A=6">Muell_JSON</variable>
                                <variable id="^:v=Yb?;aM;Z[}4jCF3-">Event</variable>
                                <variable id="9^)S?J=tLkC7cUWc-u9w">Color</variable>
                              </variables>
                              <block type="on_ext" id="aFeZac36,?)=rfMg%3T|" x="38" y="-287">
                                <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="GSzQ}epUa))me3m8yyuD">
                                    <field name="oid">ical.1.data.table</field>
                                  </shadow>
                                </value>
                                <statement name="STATEMENT">
                                  <block type="controls_for" id="wduAM(OBPzLJ@bfYAK5%">
                                    <field name="VAR" id="h}CE-n1l`S|gRf(0K%./">i</field>
                                    <value name="FROM">
                                      <shadow type="math_number" id="HK~R2U|`xb$U5W+tsHpN">
                                        <field name="NUM">0</field>
                                      </shadow>
                                    </value>
                                    <value name="TO">
                                      <shadow type="math_number" id="Ed[L/:1e9-cwxrRaZiIv">
                                        <field name="NUM">3</field>
                                      </shadow>
                                    </value>
                                    <value name="BY">
                                      <shadow type="math_number" id="o@5kngFiPpvl5dGo@Q$9">
                                        <field name="NUM">1</field>
                                      </shadow>
                                    </value>
                                    <statement name="DO">
                                      <block type="variables_set" id="0T)vK0k8aikvg7mF6XHo">
                                        <field name="VAR" id="j5C=K+Z.E:im1#q:;A=6">Muell_JSON</field>
                                        <value name="VALUE">
                                          <block type="get_value" id="1~kG;UHn$nw2zzbfOIT]">
                                            <field name="ATTR">val</field>
                                            <field name="OID">ical.1.data.table</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="control_ex" id="UAu,2OBRJp9~Nzyxouyu">
                                            <field name="TYPE">false</field>
                                            <field name="CLEAR_RUNNING">FALSE</field>
                                            <value name="OID">
                                              <shadow type="field_oid" id="J_|uu;{e44n5Z-;qE+hP">
                                                <field name="oid">Object ID</field>
                                              </shadow>
                                              <block type="text_join" id="8/|eHqk))j9Po-O*mK`e">
                                                <mutation items="3"></mutation>
                                                <value name="ADD0">
                                                  <block type="text" id="Zp8GRfdfXujkeM41=PeZ">
                                                    <field name="TEXT">0_userdata.0.Abfallkalender.</field>
                                                  </block>
                                                </value>
                                                <value name="ADD1">
                                                  <block type="math_arithmetic" id="$!!l@[eJ~4Kdb5/Imo.X">
                                                    <field name="OP">ADD</field>
                                                    <value name="A">
                                                      <shadow type="math_number" id="zaU15{yD43xkuY@?)RY(">
                                                        <field name="NUM">1</field>
                                                      </shadow>
                                                      <block type="variables_get" id="o3pJ(+3KE~Co%u-dy.:W">
                                                        <field name="VAR" id="h}CE-n1l`S|gRf(0K%./">i</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <shadow type="math_number" id="_LBb[#z%M$n0~1Y}~8w+">
                                                        <field name="NUM">1</field>
                                                      </shadow>
                                                    </value>
                                                  </block>
                                                </value>
                                                <value name="ADD2">
                                                  <block type="text" id="Vt#-b{iDzusQQx]#0%0,">
                                                    <field name="TEXT">.date</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <value name="VALUE">
                                              <shadow type="logic_boolean" id="/y1w}eely@o.gl$]#)o=">
                                                <field name="BOOL">TRUE</field>
                                              </shadow>
                                              <block type="get_attr" id="p~0A1{eb$lD~.9`9R4K)">
                                                <value name="PATH">
                                                  <shadow type="text">
                                                    <field name="TEXT">0.date</field>
                                                  </shadow>
                                                  <block type="text_join" id="DDs!.^n(V7=A_TK}DFQt">
                                                    <mutation items="2"></mutation>
                                                    <value name="ADD0">
                                                      <block type="variables_get" id="k1+Dybgb:u2y9v57OrCg">
                                                        <field name="VAR" id="h}CE-n1l`S|gRf(0K%./">i</field>
                                                      </block>
                                                    </value>
                                                    <value name="ADD1">
                                                      <block type="text" id="EXgB=?B}IKiUdQ.2tKoa">
                                                        <field name="TEXT">.date</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <value name="OBJECT">
                                                  <block type="variables_get" id="dzLb1f^T!(MM,d=cYU9y">
                                                    <field name="VAR" id="j5C=K+Z.E:im1#q:;A=6">Muell_JSON</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <value name="DELAY_MS">
                                              <shadow type="math_number" id="f8q~r@+q|8Kov#3EufsI">
                                                <field name="NUM">0</field>
                                              </shadow>
                                            </value>
                                            <next>
                                              <block type="variables_set" id="E[W-)N[vKeufX{v$B[]p">
                                                <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field>
                                                <value name="VALUE">
                                                  <block type="text_getSubstring" id="YU_Q05y^+I.IzV[c9h9B" inline="false">
                                                    <mutation at1="true" at2="false"></mutation>
                                                    <field name="WHERE1">FROM_START</field>
                                                    <field name="WHERE2">LAST</field>
                                                    <value name="STRING">
                                                      <block type="get_attr" id=":/^m9o]3:=L%$4[9$f]7">
                                                        <value name="PATH">
                                                          <shadow type="text">
                                                            <field name="TEXT">0.event</field>
                                                          </shadow>
                                                          <block type="text_join" id="*MaT-W83R/Y5`?QCQNec">
                                                            <mutation items="2"></mutation>
                                                            <value name="ADD0">
                                                              <block type="variables_get" id="l5d$/glqMm3~+YA`5]wg">
                                                                <field name="VAR" id="h}CE-n1l`S|gRf(0K%./">i</field>
                                                              </block>
                                                            </value>
                                                            <value name="ADD1">
                                                              <block type="text" id="$+g0XH}$`2`+{B}s3ID@">
                                                                <field name="TEXT">.event</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <value name="OBJECT">
                                                          <block type="variables_get" id="nSDdx_!gO45lc4.$`wI`">
                                                            <field name="VAR" id="j5C=K+Z.E:im1#q:;A=6">Muell_JSON</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                    <value name="AT1">
                                                      <block type="math_number" id="ic:P:#_w68q^w]#/;w+K">
                                                        <field name="NUM">9</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="control_ex" id="^[032{A//-EpUE6lh7ml">
                                                    <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="`@U%x4KdNV~Y0I`#+,BB">
                                                        <mutation items="3"></mutation>
                                                        <value name="ADD0">
                                                          <block type="text" id="Rk[N`gae|lr/9FXmY!no">
                                                            <field name="TEXT">0_userdata.0.Abfallkalender.</field>
                                                          </block>
                                                        </value>
                                                        <value name="ADD1">
                                                          <block type="math_arithmetic" id="=RY5pU%/0M!J;{^z81qr">
                                                            <field name="OP">ADD</field>
                                                            <value name="A">
                                                              <shadow type="math_number">
                                                                <field name="NUM">1</field>
                                                              </shadow>
                                                              <block type="variables_get" id="TbkkwM2BKh^+;KTQY3C]">
                                                                <field name="VAR" id="h}CE-n1l`S|gRf(0K%./">i</field>
                                                              </block>
                                                            </value>
                                                            <value name="B">
                                                              <shadow type="math_number" id="e,-Pz1Hy!V:=8S,tHo`:">
                                                                <field name="NUM">1</field>
                                                              </shadow>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <value name="ADD2">
                                                          <block type="text" id="SApnes6}k9wDi243W2xp">
                                                            <field name="TEXT">.event</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                    <value name="VALUE">
                                                      <shadow type="logic_boolean" id="70uxCt~?y`hOTCs:tJ^~">
                                                        <field name="BOOL">TRUE</field>
                                                      </shadow>
                                                      <block type="variables_get" id="}@7(YP=fmA0l@:FJS$v#">
                                                        <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field>
                                                      </block>
                                                    </value>
                                                    <value name="DELAY_MS">
                                                      <shadow type="math_number" id="@JEhP_3fysDQ6a_x:ILm">
                                                        <field name="NUM">0</field>
                                                      </shadow>
                                                    </value>
                                                    <next>
                                                      <block type="controls_if" id="r,.`4GPI|(([[.76Cft~">
                                                        <mutation elseif="3"></mutation>
                                                        <value name="IF0">
                                                          <block type="logic_compare" id="d4g.Ts.`^;_R!bu)T_~|">
                                                            <field name="OP">EQ</field>
                                                            <value name="A">
                                                              <block type="variables_get" id="tC!eDI_BV-hGgDc@kuPc">
                                                                <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field>
                                                              </block>
                                                            </value>
                                                            <value name="B">
                                                              <block type="text" id="?3tZotX[hHq9HGFsA(x|">
                                                                <field name="TEXT">Reststoff</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <statement name="DO0">
                                                          <block type="variables_set" id="FXPSk]#;ZliNOBw7bVC8">
                                                            <field name="VAR" id="9^)S?J=tLkC7cUWc-u9w">Color</field>
                                                            <value name="VALUE">
                                                              <block type="math_number" id="-6AJ8U932(j5LuWN@Sp,">
                                                                <field name="NUM">33840</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </statement>
                                                        <value name="IF1">
                                                          <block type="logic_compare" id=":{8uXg8tzuFNCxedDJ:F">
                                                            <field name="OP">EQ</field>
                                                            <value name="A">
                                                              <block type="variables_get" id="0A}m@W~711B2u){_B8uP">
                                                                <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field>
                                                              </block>
                                                            </value>
                                                            <value name="B">
                                                              <block type="text" id="x,Cz(O2e|co^a7rJEdO7">
                                                                <field name="TEXT">Biotonne</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <statement name="DO1">
                                                          <block type="variables_set" id="Y#|WXlt|w+`5h3B`VI]*">
                                                            <field name="VAR" id="9^)S?J=tLkC7cUWc-u9w">Color</field>
                                                            <value name="VALUE">
                                                              <block type="math_number" id="BVnWo|iSfirB?Vw*M7;o">
                                                                <field name="NUM">2016</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </statement>
                                                        <value name="IF2">
                                                          <block type="logic_compare" id="Q0ejJ+ovU#35l7SaPd`7">
                                                            <field name="OP">EQ</field>
                                                            <value name="A">
                                                              <block type="variables_get" id="/EhoIt{trOOc3*+k5m4C">
                                                                <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field>
                                                              </block>
                                                            </value>
                                                            <value name="B">
                                                              <block type="text" id="BVzI8#S#S*Yqk5v;$?kD">
                                                                <field name="TEXT">Blaue Tonne</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <statement name="DO2">
                                                          <block type="variables_set" id="R7DF(c~|*~pR_D]JqW7c">
                                                            <field name="VAR" id="9^)S?J=tLkC7cUWc-u9w">Color</field>
                                                            <value name="VALUE">
                                                              <block type="math_number" id="#A]b|UX(@QPk*SM_q)RZ">
                                                                <field name="NUM">31</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </statement>
                                                        <value name="IF3">
                                                          <block type="logic_compare" id="MjEHt,7LG#}DST*Iuc.R">
                                                            <field name="OP">EQ</field>
                                                            <value name="A">
                                                              <block type="variables_get" id="(WzO?43I0:YSK;VgFmnX">
                                                                <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field>
                                                              </block>
                                                            </value>
                                                            <value name="B">
                                                              <block type="text" id="![3nA.95iLG[3]m5%GYS">
                                                                <field name="TEXT">Gelbe Tonne</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <statement name="DO3">
                                                          <block type="variables_set" id="959t9eG^*uj2c;pF^HGP">
                                                            <field name="VAR" id="9^)S?J=tLkC7cUWc-u9w">Color</field>
                                                            <value name="VALUE">
                                                              <block type="math_number" id="{*68t/i/Q7}6cb+0$`6Y">
                                                                <field name="NUM">65504</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </statement>
                                                        <next>
                                                          <block type="control_ex" id="^c0LOh0WChe-1QNTGVAy">
                                                            <field name="TYPE">false</field>
                                                            <field name="CLEAR_RUNNING">FALSE</field>
                                                            <value name="OID">
                                                              <shadow type="field_oid" id="7gi,zaI;54L/Ek{e9,I@">
                                                                <field name="oid">Object ID</field>
                                                              </shadow>
                                                              <block type="text_join" id="J|nD$KZ,I6q=mt,xW@:X">
                                                                <mutation items="3"></mutation>
                                                                <value name="ADD0">
                                                                  <block type="text" id="kwm[DP}25YD]Te=}p`S0">
                                                                    <field name="TEXT">0_userdata.0.Abfallkalender.</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD1">
                                                                  <block type="math_arithmetic" id="pj~|`_~%6}=?B^fK4@;L">
                                                                    <field name="OP">ADD</field>
                                                                    <value name="A">
                                                                      <shadow type="math_number">
                                                                        <field name="NUM">1</field>
                                                                      </shadow>
                                                                      <block type="variables_get" id="To0?Cg*f2pZ(Z`zK|=?M">
                                                                        <field name="VAR" id="h}CE-n1l`S|gRf(0K%./">i</field>
                                                                      </block>
                                                                    </value>
                                                                    <value name="B">
                                                                      <shadow type="math_number" id="=Q|k5qeOIy1ya}{CVNF@">
                                                                        <field name="NUM">1</field>
                                                                      </shadow>
                                                                    </value>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD2">
                                                                  <block type="text" id="If6$$63npGW3OazEE^46">
                                                                    <field name="TEXT">.color</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <value name="VALUE">
                                                              <shadow type="logic_boolean" id=")+b01E8B2-c#vcsGmA+Y">
                                                                <field name="BOOL">TRUE</field>
                                                              </shadow>
                                                              <block type="variables_get" id="/5*6z@-R5w^1i2*XphN|">
                                                                <field name="VAR" id="9^)S?J=tLkC7cUWc-u9w">Color</field>
                                                              </block>
                                                            </value>
                                                            <value name="DELAY_MS">
                                                              <shadow type="math_number" id="79qt?j;aoK%i)roQkfoE">
                                                                <field name="NUM">0</field>
                                                              </shadow>
                                                            </value>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </statement>
                              </block>
                            </xml>
                            

                            Wichtig ist, dass ein Abfallkalender über den ical abgegriffen wird. Dann kannst du die events im Skript entsprechend deiner Gemeinde/Lankreis/Stadt anpassen. Ich denke die verwenden da überall unterschiedliche Namen für die Tonnen. Manchmal auch andere Farben per Region. Wir haben z.B. kein braun.

                            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 Reply Last reply
                            0
                            • K Kuckuckmann

                              @armilar said in Sonoff NSPanel:

                              Super, vielen Dank 🙂
                              Wenn ich nun Dein Skript nutzen möchte, wie ist das anzulegen?
                              Einfach nur als JS hinzufügen?
                              Muss das noch irgendwie angesteuert werden, damit es was macht?

                              Ich habe es bei mir als JS in einem unterordner angelegt und den ical Adapter auf ical.0 geändert.
                              Außerdem habe ich unter 0_userdata den Abfallkalender Ordner angelgt.

                              Das Skript ist gestartet, aber da kommen keine Datenpunkte im Abfallkalender Ordner.

                              @kuckuckmann sagte in Sonoff NSPanel:

                              @armilar said in Sonoff NSPanel:

                              @Armilar Du hast hier geschrieben "darüber liegt jeweils ein Alias vom Typ "warning"". Kannst Du mal beschreiben, welche Felder du mit welchen Daten befüllst?
                              Egal was ich mache, ich bekomme entweder eine blaue Tonne (Symbol) mit dem Datum als Beschreibung und Wert, oder eine schwarze Tonne (Symbol) mit null als Beschreibung und Wert.

                              Danke vorab
                              LG

                              @kuckuckmann sagte in Sonoff NSPanel:

                              @Armilar

                              Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                              //Subpage 1 von Subpages_1
                              var 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"}
                                  ]
                              };
                              

                              Unsere Stadt stellt einen ical Kalender zur Verfügung.

                              var i, Muell_JSON, Event2, Color;
                              
                              function subsequenceFromStartLast(sequence, at1) {
                                var start = at1;
                                var end = sequence.length - 1 + 1;
                                return sequence.slice(start, end);
                              }
                              
                              
                              on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                for (i = 0; i <= 3; i++) {
                                  Muell_JSON = getState("ical.1.data.table").val;
                                  setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                                  Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                                  setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                                  if (Event2 == 'Reststoff') {
                                    Color = 33840;
                                  } else if (Event2 == 'Biotonne') {
                                    Color = 2016;
                                  } else if (Event2 == 'Blaue Tonne') {
                                    Color = 31;
                                  } else if (Event2 == 'Gelbe Tonne') {
                                    Color = 65504;
                                  }
                                  setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                                }
                              });
                              

                              Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                              Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                              Statisch lässt dich das als Alias "info" abbilden

                              ff5c7e62-f840-44de-9c7d-ab9d8317587d-image.png

                              also jeweils für event 1 bis event 4

                              fca79a75-9585-462b-bb9e-c9ffc31159bb-image.png

                              und das sind die Datenpunkte
                              6b9e0fb1-c84d-4d55-9569-59b2ceb7a65a-image.png

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

                              @kuckuckmann

                              hast du eine URL zum Kalender oder eine Datei ?

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

                                @kuckuckmann

                                hast du eine URL zum Kalender oder eine Datei ?

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

                                @tt-tom sagte in Sonoff NSPanel:

                                @kuckuckmann

                                hast du eine URL zum Kalender oder eine Datei ?

                                ist ne URL

                                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 Reply Last reply
                                0
                                • ArmilarA Armilar

                                  @tt-tom sagte in Sonoff NSPanel:

                                  @kuckuckmann

                                  hast du eine URL zum Kalender oder eine Datei ?

                                  ist ne URL

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

                                  @armilar @Kuckuckmann

                                  wie lautet die den? mal reinsehen wie sie die JSON aufgebaut haben

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

                                    @armilar @Kuckuckmann

                                    wie lautet die den? mal reinsehen wie sie die JSON aufgebaut haben

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

                                    @tt-tom sagte in Sonoff NSPanel:

                                    @armilar @Kuckuckmann

                                    wie lautet die den? mal reinsehen wie sie die JSON aufgebaut haben

                                    Nee, ist doch eine ical-Datei hinter der URL.

                                    Ich komme aus dem Landkreis Aurich.
                                    https://mkw-grossefehn.de/service-information/abfuhrkalender.html
                                    Der Link unter ical ist faktisch das Ziel.

                                    Hab mal eine fiktive Adresse in Ostfriesland rausgesucht

                                    https://apps.c-trace.de/web.aurich-abfallkalender/(S(gb01nqhuxwx2kms52l5qrc33))/abfallkalender/cal?Gemeinde=Aurich&Ort=Aurich-Stadt&Strasse=Marktplatz&Hausnr=1-2
                                    

                                    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 Reply Last reply
                                    0
                                    • K Offline
                                      K Offline
                                      Kuckuckmann
                                      wrote on last edited by Kuckuckmann
                                      #1102

                                      Hier hab ich den ical für Euch. Adressdaten und ein paar andere persönliche Daten habe ich durch das Wort "ausgetauscht" ersetzt.

                                      [{"date":"In 3 Tagen  ","event":"Restabfalltonne","_class":"ical_Abfallkalender ical_3days","_date":"2022-08-30T22:00:00.000Z","_end":"2022-08-31T22:00:00.000Z","_section":"ausgetauscht","_IDID":"ausgetauscht","_allDay":true,"_private":false,"_rule":" ","location":"ausgetauscht","_calName":"Abfallkalender","_calColor":"#0080ff","_object":{"type":"VEVENT","params":[],"start":"2022-08-30T22:00:00.000Z","datetype":"date","end":"2022-08-31T22:00:00.000Z","dtstamp":"2022-08-28T15:30:06.000Z","uid":"ausgetauscht","url":"ausgetauscht","class":"PUBLIC","created":"2021-12-28T23:22:14.000Z","description":"ausgetauscht","lastmodified":"2021-12-28T23:23:20.000Z","location":"ausgetauscht","sequence":"0","status":"CONFIRMED","summary":"Restabfalltonne","transparency":"TRANSPARENT","method":"PUBLISH"}},{"date":"In 4 Tagen  ","event":"Gelbe Tonne","_class":"ical_Abfallkalender ical_4days","_date":"2022-08-31T22:00:00.000Z","_end":"2022-09-01T22:00:00.000Z","_section":"ausgetauscht","_IDID":"ausgetauscht","_allDay":true,"_private":false,"_rule":" ","location":"ausgetauscht","_calName":"Abfallkalender","_calColor":"#0080ff","_object":{"type":"VEVENT","params":[],"start":"2022-08-31T22:00:00.000Z","datetype":"date","end":"2022-09-01T22:00:00.000Z","dtstamp":"2022-08-28T15:30:06.000Z","uid":"ausgetauscht","url":"ausgetauscht","class":"PUBLIC","created":"2021-12-28T23:22:14.000Z","description":"ausgetauscht","lastmodified":"2021-12-28T23:23:20.000Z","location":"ausgetauscht","sequence":"0","status":"CONFIRMED","summary":"Gelbe Tonne","transparency":"TRANSPARENT","method":"PUBLISH"}},{"date":"07.09.2022  ","event":"Biotonne","_class":"ical_Abfallkalender ","_date":"2022-09-06T22:00:00.000Z","_end":"2022-09-07T22:00:00.000Z","_section":"ausgetauscht","_IDID":"ausgetauscht","_allDay":true,"_private":false,"_rule":" ","location":"ausgetauscht","_calName":"Abfallkalender","_calColor":"#0080ff","_object":{"type":"VEVENT","params":[],"start":"2022-09-06T22:00:00.000Z","datetype":"date","end":"2022-09-07T22:00:00.000Z","dtstamp":"2022-08-28T15:30:06.000Z","uid":"ausgetauscht","url":"ausgetauscht","class":"PUBLIC","created":"2021-12-28T23:22:14.000Z","description":"ausgetauscht","lastmodified":"2021-12-28T23:23:20.000Z","location":"ausgetauscht","sequence":"0","status":"CONFIRMED","summary":"Biotonne","transparency":"TRANSPARENT","method":"PUBLISH"}},{"date":"14.09.2022  ","event":"Restabfalltonne","_class":"ical_Abfallkalender ","_date":"2022-09-13T22:00:00.000Z","_end":"2022-09-14T22:00:00.000Z","_section":"ausgetauscht","_IDID":"ausgetauscht","_allDay":true,"_private":false,"_rule":" ","location":"ausgetauscht","_calName":"Abfallkalender","_calColor":"#0080ff","_object":{"type":"VEVENT","params":[],"start":"2022-09-13T22:00:00.000Z","datetype":"date","end":"2022-09-14T22:00:00.000Z","dtstamp":"2022-08-28T15:30:06.000Z","uid":"ausgetauscht","url":"ausgetauscht","class":"PUBLIC","created":"2021-12-28T23:22:14.000Z","description":"ausgetauscht","lastmodified":"2021-12-28T23:23:20.000Z","location":"ausgetauscht","sequence":"0","status":"CONFIRMED","summary":"Restabfalltonne","transparency":"TRANSPARENT","method":"PUBLISH"}},{"date":"15.09.2022  ","event":"Gelbe Tonne","_class":"ical_Abfallkalender ","_date":"2022-09-14T22:00:00.000Z","_end":"2022-09-15T22:00:00.000Z","_section":"ausgetauscht","_IDID":"ausgetauscht","_allDay":true,"_private":false,"_rule":" ","location":"ausgetauscht","_calName":"Abfallkalender","_calColor":"#0080ff","_object":{"type":"VEVENT","params":[],"start":"2022-09-14T22:00:00.000Z","datetype":"date","end":"2022-09-15T22:00:00.000Z","dtstamp":"2022-08-28T15:30:06.000Z","uid":"ausgetauscht","url":"ausgetauscht","class":"PUBLIC","created":"2021-12-28T23:22:14.000Z","description":"ausgetauscht","lastmodified":"2021-12-28T23:23:20.000Z","location":"ausgetauscht","sequence":"0","status":"CONFIRMED","summary":"Gelbe Tonne","transparency":"TRANSPARENT","method":"PUBLISH"}},{"date":"21.09.2022  ","event":"Biotonne","_class":"ical_Abfallkalender ","_date":"2022-09-20T22:00:00.000Z","_end":"2022-09-21T22:00:00.000Z","_section":"ausgetauscht","_IDID":"ausgetauscht","_allDay":true,"_private":false,"_rule":" ","location":"ausgetauscht","_calName":"Abfallkalender","_calColor":"#0080ff","_object":{"type":"VEVENT","params":[],"start":"2022-09-20T22:00:00.000Z","datetype":"date","end":"2022-09-21T22:00:00.000Z","dtstamp":"2022-08-28T15:30:06.000Z","uid":"ausgetauscht","url":"ausgetauscht","class":"PUBLIC","created":"2021-12-28T23:22:14.000Z","description":"ausgetauscht","lastmodified":"2021-12-28T23:23:20.000Z","location":"ausgetauscht","sequence":"0","status":"CONFIRMED","summary":"Biotonne","transparency":"TRANSPARENT","method":"PUBLISH"}},{"date":"22.09.2022  ","event":"Blaue Tonne","_class":"ical_Abfallkalender ","_date":"2022-09-21T22:00:00.000Z","_end":"2022-09-22T22:00:00.000Z","_section":"","_IDID":"ausgetauscht","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Abfallkalender","_calColor":"#0080ff","_object":{"type":"VEVENT","params":[],"start":"2022-09-21T22:00:00.000Z","datetype":"date","end":"2022-09-22T22:00:00.000Z","dtstamp":"2022-08-28T15:30:06.000Z","uid":"ausgetauscht","created":"2021-12-28T23:28:18.000Z","description":"","lastmodified":"2021-12-28T23:28:18.000Z","location":"","sequence":"0","status":"CONFIRMED","summary":"Blaue Tonne","transparency":"TRANSPARENT","method":"PUBLISH"}}]
                                      

                                      Das ist übrigens ein standard google ical. Würde mich nu wundern, wenn das groß abweichend wäre.

                                      NSPanel Dokumentation im GitHub Wiki:

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

                                      T 1 Reply Last reply
                                      0
                                      • ArmilarA Armilar

                                        @kuckuckmann sagte in Sonoff NSPanel:

                                        Ich mal wieder 🙂

                                        Ich versuche mich gerade daran den Button2 als meinen Home Button zu deklarieren.

                                        Ich habe den Button vom Relay getrennt:

                                        Rule2 on Button2#state do Publish SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"} endon
                                        

                                        und die dann aktiviert mit

                                        Rule2 1 (Rule aktivieren)
                                        

                                        Nun habe ich im ioBroker

                                        mqtt.0.SmartHome.nspanel_7C14FC.cmnd.RESULT
                                        

                                        mit dem Wert

                                        {"CustomRecv":"event,button2"}
                                        

                                        Im Skript habe ich eine PageGrid mit dem Namen "Home".
                                        Also habe ich in er Page Definition gesagt:

                                        button2Page: Home
                                        

                                        Wenn ich den Button nun drücke schaltet kein Relay mehr (was so sein soll) ,aber meine Seite "Home" wird nicht geladen.

                                        In der Tasmota Konsole sehe ich das:

                                        15:14:28.355 APP: Knopf2 Mehrfachdruck 1
                                        15:14:28.875 RUL: BUTTON2#STATE performs "Publish SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"}"
                                        15:14:28.878 SRC: Rule
                                        15:14:28.881 CMD: Grp 0, Cmd 'PUBLISH', Idx 1, Len 71, Pld -99, Data 'SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"}'
                                        15:14:28.891 MQT: SmartHome/nspanel_7C14FC/cmnd/RESULT = {"CustomRecv":"event,button2"}
                                        15:15:00.039 SRC: MQTT
                                        15:15:00.043 CMD: Grp 0, Cmd 'CUSTOMSEND', Idx 1, Len 10, Pld -99, Data 'time~16:15'
                                        15:15:00.063 NXP: payload sent = bytes('55BB0A0074696D657E31363A3135BC35')
                                        15:15:00.072 MQT: SmartHome/nspanel_7C14FC/stat/RESULT = {"CustomSend":"Done"}
                                        

                                        Wo ist mein Fehler?

                                        Danke vorab.

                                        LG

                                        Bei mir funktioniert das auch...

                                        Das wichtigste ist eigentlich
                                        52d7357f-8fec-41cf-9bc3-792cce957505-image.png

                                        Was mich jedoch irritiert ist der Rest. Den habe ich bei mir nicht. Also Zeile 1, 3-9

                                        K Offline
                                        K Offline
                                        Kuckuckmann
                                        wrote on last edited by Kuckuckmann
                                        #1103

                                        @armilar said in Sonoff NSPanel:

                                        Bei mir funktioniert das auch...
                                        Das wichtigste ist eigentlich

                                        Was mich jedoch irritiert ist der Rest. Den habe ich bei mir nicht. Also Zeile 1, 3-9

                                        Hast Du sonst noch eine Idee was ich untersuchen kann?

                                        Nachtrag: Ich habe jetzt mal die default Button2Page konfiguriert, auch die wird über den Button nicht aufgerufen.
                                        ich habe das Gefühl, da fehlt was, muss man da noch was abonnieren via MQTT oder irgendwo einstellen?

                                        Wenn ich die button1Page: oder button2Page: plus deren Konfigurationen entferne, startet das Skript nicht mehr. Ist das ein Bug?

                                        script.js.common.NSPanel_7C14FC_2_9_0: TypeScript compilation failed:export const config: Config = { ^ERROR: Type '{ panelRecvTopic: string; panelSendTopic: string; firstScreensaverEntity: { ScreensaverEntity: string; ScreensaverEntityIcon: string; ScreensaverEntityText: string; ScreensaverEntityUnitText: string; }; ... 16 more ...; subPages: (PageGrid | PageEntities)[]; }' is missing the following properties from type 'Config': button1Page, button2Page
                                        

                                        NSPanel Dokumentation im GitHub Wiki:

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

                                        ArmilarA 1 Reply Last reply
                                        0
                                        • ArmilarA Armilar

                                          @haus-automatisierung sagte in Sonoff NSPanel:

                                          Hallo zusammen,

                                          da dieser Thread (und damit auch die einzige Dokumentation) ziemlich verteilt Infos liefert, habe ich probiert das Vorgehen mal in einem Video zusammen zu fassen: https://youtu.be/ZPLJk2ZLo_8

                                          Danke für die tolle Arbeit @Armilar ! Ich hoffe, dass ich mit meinen letzten Änderungen am Script ein wenig helfen konnte. Keine neuen Features - nur Aufräumarbeiten. Insbesondere wenn das Script erstmalig ausgeführt wurde, gab es sehr viele Warnungen.

                                          Allerdings hätte ich noch eine Frage - Ich habe natürlich versucht (auch vorher schon) per Expertenmodus den CustomSend anzulegen (ist ja im Prinzip auch das einfachste 😉 ) . Hat damals nicht geklappt und nach dem ich das im Video mal nachgespielt habe, ebenfalls nicht. In der Listenebene cmnd bekomme ich das "+" nicht aktiviert. Hast du dazu mal irgendwelche Einstellungen vorgenommen oder etwas anderes verändert?

                                          haus-automatisierungH Online
                                          haus-automatisierungH Online
                                          haus-automatisierung
                                          Developer Most Active
                                          wrote on last edited by
                                          #1104

                                          @armilar Im Expertenmodus kannst Du überall Objekte anlegen.

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          744

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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