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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Script: Alexa Listen pflegen und Anzeigen

NEWS

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

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

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

Script: Alexa Listen pflegen und Anzeigen

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascripttemplate
409 Beiträge 29 Kommentatoren 80.6k Aufrufe 42 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • liv-in-skyL liv-in-sky

    @nordischerjung ja bitte

    N Offline
    N Offline
    Nordischerjung
    schrieb am zuletzt editiert von
    #307

    @liv-in-sky

    <xml xmlns="https://developers.google.com/blockly/xml">
      <variables>
        <variable id="h!=BXv^X?0znFOj5|.T[">sendT</variable>
        <variable id="!t(_s6!A^|$7hHkJs}AV">test</variable>
        <variable id=":kI@a,4j*7?IgGv-BV0a">j</variable>
      </variables>
      <block type="on" id="Bz-8j@{0t-C?D:PP+HT:" x="-12" y="113">
        <field name="OID">javascript.0.Alexa_Listen.ALEXALists.Einkauf.Alexa_sende_BOOL</field>
        <field name="CONDITION">ne</field>
        <field name="ACK_CONDITION"></field>
        <statement name="STATEMENT">
          <block type="controls_if" id="XryH|r[I1#C0`P.3Sm53">
            <value name="IF0">
              <block type="on_source" id="5oF#p.$Ccf@@ty%t%#%3">
                <field name="ATTR">state.val</field>
              </block>
            </value>
            <statement name="DO0">
              <block type="comment" id="|l!;QjS^9oV8K{~p]|$2">
                <field name="COMMENT">Einkaufsliste</field>
                <next>
                  <block type="variables_set" id="nKaMcjH{m_1z4A2C~dfz">
                    <field name="VAR" id="h!=BXv^X?0znFOj5|.T[">sendT</field>
                    <value name="VALUE">
                      <block type="text" id="~M@jM_q$lI/l-J@YTF!5">
                        <field name="TEXT"></field>
                      </block>
                    </value>
                    <next>
                      <block type="variables_set" id="J|rU2BWw.iHvfh+YYbh~">
                        <field name="VAR" id="!t(_s6!A^|$7hHkJs}AV">test</field>
                        <value name="VALUE">
                          <block type="convert_json2object" id=";I*2jRK-9c2`,~Ax;Pv!">
                            <value name="VALUE">
                              <block type="get_value" id="m.!}$Y^0_[pBiYfPGVP-">
                                <field name="ATTR">val</field>
                                <field name="OID">alexa2.0.Lists.SHOPPING_LIST.json</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <next>
                          <block type="controls_forEach" id="7-pH3ft4,+Themy?-14#">
                            <field name="VAR" id=":kI@a,4j*7?IgGv-BV0a">j</field>
                            <value name="LIST">
                              <block type="variables_get" id="yrz)9c4`{Tvx2YizK(#v">
                                <field name="VAR" id="!t(_s6!A^|$7hHkJs}AV">test</field>
                              </block>
                            </value>
                            <statement name="DO">
                              <block type="variables_set" id="u_J6|Y1,EvU%ZFcGpiyF">
                                <field name="VAR" id="h!=BXv^X?0znFOj5|.T[">sendT</field>
                                <value name="VALUE">
                                  <block type="text_join" id="25}OYFEpJrJCp`tW$9X?">
                                    <mutation items="3"></mutation>
                                    <value name="ADD0">
                                      <block type="variables_get" id="LKaQRHW8[PcCc@wp%NKO">
                                        <field name="VAR" id="h!=BXv^X?0znFOj5|.T[">sendT</field>
                                      </block>
                                    </value>
                                    <value name="ADD1">
                                      <block type="get_attr" id=",Y3S3/-+XxNi.,=nZ57C">
                                        <value name="PATH">
                                          <shadow type="text" id=",Ref0eK;FaU|1Lj+%Y/7">
                                            <field name="TEXT">value</field>
                                          </shadow>
                                        </value>
                                        <value name="OBJECT">
                                          <block type="variables_get" id="wlSureM+,7_^^ujZ#)._">
                                            <field name="VAR" id=":kI@a,4j*7?IgGv-BV0a">j</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="ADD2">
                                      <block type="text_newline" id="n(Z7,H4-m;@6Tw,tf/d_">
                                        <field name="Type">\n</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </statement>
                            <next>
                              <block type="debug" id=";]W!thbkiT]Tmc$W!|Fo">
                                <field name="Severity">log</field>
                                <value name="TEXT">
                                  <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="d+q.({zATE2%rD*Uko)r">
                                    <field name="TEXT">test</field>
                                  </shadow>
                                  <block type="variables_get" id="vv#S!!b__s6aMtg(J88p">
                                    <field name="VAR" id="h!=BXv^X?0znFOj5|.T[">sendT</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="telegram" id="]MAP0iLY2Rw~ME14yYIY">
                                    <field name="INSTANCE">.0</field>
                                    <field name="LOG"></field>
                                    <field name="SILENT">FALSE</field>
                                    <field name="PARSEMODE">default</field>
                                    <value name="MESSAGE">
                                      <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="PA,`]^*J.9_=VN:QH@t$">
                                        <field name="TEXT">/opt/iobroker//iobroker-data/files//vis.0/htmlexample.html</field>
                                      </shadow>
                                      <block type="variables_get" id="rs3D_iC8/UKKG*}h;A;v">
                                        <field name="VAR" id="h!=BXv^X?0znFOj5|.T[">sendT</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="control" id="F1QnCLELdJ^Nl=IRT:04">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">javascript.0.Alexa_Listen.ALEXALists.Einkauf.Alexa_sende_BOOL</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="logic_boolean" id="LHA~=M:xNse{:m7%!uGk">
                                            <field name="BOOL">FALSE</field>
                                          </block>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </statement>
      </block>
    </xml>
    

    Gruß Nordischerjung

    sonnige Grüße von der Ostsee

    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • N Nordischerjung

      @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

      was aber cool wäre, wenn diese liste bzw jeder einzelne eintrag der liste in telegram als einzelner buttons erscheinen würde und z.b durch das drücken eines dieser buttons dann gelöscht wird und in iobroker auch

      also z.b sowas https://forum.iobroker.net/post/130590 nur halt mit todo einträgen - drückt man einen solchen button, soll der eintrag gelöscht werden

      Na das wäre natürlich das i-Tüpfelchen :call_me_hand:

      Bis jetzt hab ich mir mit einem Button die ganze Liste per Telegram geschickt, diese dann auf dem Handy aus Telegramm kopiert und in meine EinkaufsApp (Einkaufszettel) eingefügt. Dort kann man die dann einzelnd löschen, durchsteichen usw. Wenn das so mit Telegramm funktionieren würde, wäre das schon cool.

      Wennich dir iwie helfen kann/soll sag bescheid

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von
      #308

      @nordischerjung

      jetzt fehlt nur noch das anlegen über telegram

      https://www.youtube.com/watch?v=ZdeOv0FObnc&feature=youtu.be

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • N Nordischerjung

        @liv-in-sky

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="h!=BXv^X?0znFOj5|.T[">sendT</variable>
            <variable id="!t(_s6!A^|$7hHkJs}AV">test</variable>
            <variable id=":kI@a,4j*7?IgGv-BV0a">j</variable>
          </variables>
          <block type="on" id="Bz-8j@{0t-C?D:PP+HT:" x="-12" y="113">
            <field name="OID">javascript.0.Alexa_Listen.ALEXALists.Einkauf.Alexa_sende_BOOL</field>
            <field name="CONDITION">ne</field>
            <field name="ACK_CONDITION"></field>
            <statement name="STATEMENT">
              <block type="controls_if" id="XryH|r[I1#C0`P.3Sm53">
                <value name="IF0">
                  <block type="on_source" id="5oF#p.$Ccf@@ty%t%#%3">
                    <field name="ATTR">state.val</field>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="comment" id="|l!;QjS^9oV8K{~p]|$2">
                    <field name="COMMENT">Einkaufsliste</field>
                    <next>
                      <block type="variables_set" id="nKaMcjH{m_1z4A2C~dfz">
                        <field name="VAR" id="h!=BXv^X?0znFOj5|.T[">sendT</field>
                        <value name="VALUE">
                          <block type="text" id="~M@jM_q$lI/l-J@YTF!5">
                            <field name="TEXT"></field>
                          </block>
                        </value>
                        <next>
                          <block type="variables_set" id="J|rU2BWw.iHvfh+YYbh~">
                            <field name="VAR" id="!t(_s6!A^|$7hHkJs}AV">test</field>
                            <value name="VALUE">
                              <block type="convert_json2object" id=";I*2jRK-9c2`,~Ax;Pv!">
                                <value name="VALUE">
                                  <block type="get_value" id="m.!}$Y^0_[pBiYfPGVP-">
                                    <field name="ATTR">val</field>
                                    <field name="OID">alexa2.0.Lists.SHOPPING_LIST.json</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <next>
                              <block type="controls_forEach" id="7-pH3ft4,+Themy?-14#">
                                <field name="VAR" id=":kI@a,4j*7?IgGv-BV0a">j</field>
                                <value name="LIST">
                                  <block type="variables_get" id="yrz)9c4`{Tvx2YizK(#v">
                                    <field name="VAR" id="!t(_s6!A^|$7hHkJs}AV">test</field>
                                  </block>
                                </value>
                                <statement name="DO">
                                  <block type="variables_set" id="u_J6|Y1,EvU%ZFcGpiyF">
                                    <field name="VAR" id="h!=BXv^X?0znFOj5|.T[">sendT</field>
                                    <value name="VALUE">
                                      <block type="text_join" id="25}OYFEpJrJCp`tW$9X?">
                                        <mutation items="3"></mutation>
                                        <value name="ADD0">
                                          <block type="variables_get" id="LKaQRHW8[PcCc@wp%NKO">
                                            <field name="VAR" id="h!=BXv^X?0znFOj5|.T[">sendT</field>
                                          </block>
                                        </value>
                                        <value name="ADD1">
                                          <block type="get_attr" id=",Y3S3/-+XxNi.,=nZ57C">
                                            <value name="PATH">
                                              <shadow type="text" id=",Ref0eK;FaU|1Lj+%Y/7">
                                                <field name="TEXT">value</field>
                                              </shadow>
                                            </value>
                                            <value name="OBJECT">
                                              <block type="variables_get" id="wlSureM+,7_^^ujZ#)._">
                                                <field name="VAR" id=":kI@a,4j*7?IgGv-BV0a">j</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <value name="ADD2">
                                          <block type="text_newline" id="n(Z7,H4-m;@6Tw,tf/d_">
                                            <field name="Type">\n</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                                <next>
                                  <block type="debug" id=";]W!thbkiT]Tmc$W!|Fo">
                                    <field name="Severity">log</field>
                                    <value name="TEXT">
                                      <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="d+q.({zATE2%rD*Uko)r">
                                        <field name="TEXT">test</field>
                                      </shadow>
                                      <block type="variables_get" id="vv#S!!b__s6aMtg(J88p">
                                        <field name="VAR" id="h!=BXv^X?0znFOj5|.T[">sendT</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="telegram" id="]MAP0iLY2Rw~ME14yYIY">
                                        <field name="INSTANCE">.0</field>
                                        <field name="LOG"></field>
                                        <field name="SILENT">FALSE</field>
                                        <field name="PARSEMODE">default</field>
                                        <value name="MESSAGE">
                                          <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="PA,`]^*J.9_=VN:QH@t$">
                                            <field name="TEXT">/opt/iobroker//iobroker-data/files//vis.0/htmlexample.html</field>
                                          </shadow>
                                          <block type="variables_get" id="rs3D_iC8/UKKG*}h;A;v">
                                            <field name="VAR" id="h!=BXv^X?0znFOj5|.T[">sendT</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="control" id="F1QnCLELdJ^Nl=IRT:04">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">javascript.0.Alexa_Listen.ALEXALists.Einkauf.Alexa_sende_BOOL</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="logic_boolean" id="LHA~=M:xNse{:m7%!uGk">
                                                <field name="BOOL">FALSE</field>
                                              </block>
                                            </value>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </statement>
          </block>
        </xml>
        

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #309

        @nordischerjung

        werd dann morgen einen neuen thread dafür öffnen - es sind noch ein paar kleinigkeiten zu machen

        AApossis (10).gif

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        N 2 Antworten Letzte Antwort
        0
        • liv-in-skyL liv-in-sky

          @nordischerjung

          werd dann morgen einen neuen thread dafür öffnen - es sind noch ein paar kleinigkeiten zu machen

          AApossis (10).gif

          N Offline
          N Offline
          Nordischerjung
          schrieb am zuletzt editiert von
          #310

          @liv-in-sky super gemacht, das scheint was gutes zu werden:+1:

          Gruß Nordischerjung

          sonnige Grüße von der Ostsee

          1 Antwort Letzte Antwort
          0
          • liv-in-skyL liv-in-sky

            @nordischerjung

            werd dann morgen einen neuen thread dafür öffnen - es sind noch ein paar kleinigkeiten zu machen

            AApossis (10).gif

            N Offline
            N Offline
            Nordischerjung
            schrieb am zuletzt editiert von
            #311

            @liv-in-sky du sendest jetzt die Liste immer wenn du einen neuen Eintrag gemacht hast?

            Gruß Nordischerjung

            sonnige Grüße von der Ostsee

            liv-in-skyL 2 Antworten Letzte Antwort
            0
            • N Nordischerjung

              @liv-in-sky du sendest jetzt die Liste immer wenn du einen neuen Eintrag gemacht hast?

              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von
              #312

              @nordischerjung nee - da ist ein timer dahinter, der für die aufnahme sher kurz war - normalerweise könnte man da all paar minuten updaten

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              1 Antwort Letzte Antwort
              0
              • N Nordischerjung

                @liv-in-sky du sendest jetzt die Liste immer wenn du einen neuen Eintrag gemacht hast?

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #313

                @nordischerjung

                hier gehts weiter https://forum.iobroker.net/topic/42855/html-liste-für-telegram-und-vis

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                1 Antwort Letzte Antwort
                0
                • liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von
                  #314

                  mit dem neuen github update für alexa2 adapter funktioniert das löschen wieder :-) :-)

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  apollon77A 1 Antwort Letzte Antwort
                  1
                  • liv-in-skyL liv-in-sky

                    mit dem neuen github update für alexa2 adapter funktioniert das löschen wieder :-) :-)

                    apollon77A Offline
                    apollon77A Offline
                    apollon77
                    schrieb am zuletzt editiert von
                    #315

                    @liv-in-sky Kommt dann als 3.11 später heute für alle in Beta

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    1 Antwort Letzte Antwort
                    2
                    • MalleRalleM Offline
                      MalleRalleM Offline
                      MalleRalle
                      schrieb am zuletzt editiert von
                      #316

                      @liv-in-sky
                      Mit dem neuen js-controller 4.0 habe ich diese Fehlermeldungen:

                      (88099) Object javascript.0.Alexa_Listen.ALEXALists.Einkauf.AuswahlDelete is invalid: obj.common.states has an invalid type! Expected "object", received "string"
                      
                      
                      (88099) Object javascript.0.Alexa_Listen.ALEXALists.ToDo.AuswahlDelete is invalid: obj.common.states has an invalid type! Expected "object", received "string"
                      
                      
                      liv-in-skyL 1 Antwort Letzte Antwort
                      0
                      • MalleRalleM MalleRalle

                        @liv-in-sky
                        Mit dem neuen js-controller 4.0 habe ich diese Fehlermeldungen:

                        (88099) Object javascript.0.Alexa_Listen.ALEXALists.Einkauf.AuswahlDelete is invalid: obj.common.states has an invalid type! Expected "object", received "string"
                        
                        
                        (88099) Object javascript.0.Alexa_Listen.ALEXALists.ToDo.AuswahlDelete is invalid: obj.common.states has an invalid type! Expected "object", received "string"
                        
                        
                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von
                        #317

                        @malleralle

                        das ist ein dp mit einer werteliste. ich ändere da ein object und schreibe das.

                        wußte nicht mal, dass es schon leute gibt, die mit js-c. 4 arbeiten - kann ich erst bearbeiten, wenn ich auch js-c 4 habe.

                        zum testen:

                        es gibt 2 zeilen in dem einmal das object geschrieben wird und einmal der state

                        suche mal diese zeile und kommentiere sie aus - kommt dann die meldung immer noch ?

                        Image 1.png

                        wann kommt die meldung - immer oder nur, wenn du was in der vis ausführen läßt

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        S 1 Antwort Letzte Antwort
                        0
                        • MalleRalleM Offline
                          MalleRalleM Offline
                          MalleRalle
                          schrieb am zuletzt editiert von MalleRalle
                          #318

                          Deine beschriebene Zeile habe ich auskommentiert.
                          Die Meldung bleibt aber.
                          Die Meldung kommt sowohl beim Löschen über VIS als auch beim Start des Scriptes z.B. beim reboot.

                          Vieleicht ist es ja das gleiche Problem wie Hier

                          Funktionieren tut es ja.
                          Also, lass Dir Zeit.

                          1 Antwort Letzte Antwort
                          0
                          • liv-in-skyL liv-in-sky

                            @malleralle

                            das ist ein dp mit einer werteliste. ich ändere da ein object und schreibe das.

                            wußte nicht mal, dass es schon leute gibt, die mit js-c. 4 arbeiten - kann ich erst bearbeiten, wenn ich auch js-c 4 habe.

                            zum testen:

                            es gibt 2 zeilen in dem einmal das object geschrieben wird und einmal der state

                            suche mal diese zeile und kommentiere sie aus - kommt dann die meldung immer noch ?

                            Image 1.png

                            wann kommt die meldung - immer oder nur, wenn du was in der vis ausführen läßt

                            S Offline
                            S Offline
                            saeft_2003
                            Most Active
                            schrieb am zuletzt editiert von
                            #319

                            @liv-in-sky

                            Vielen Dank für das tolle Skript! Eine Frage und zwar wenn ich z.B. zur Alexa lösche Milch von der Einkaufsliste sage dann hakt sie es ab. Aber in der html Liste bleibt es, außer ich lösche es dort oder in der alexa app. Ich sehe auch das sich der DP completed bei Milch auf true geändert hat.

                            9AF65E2C-D907-417A-9E15-8408A185D4DD.png 83F196CB-679E-4C91-98A3-4905C7EA49E3.png

                            liv-in-skyL 2 Antworten Letzte Antwort
                            0
                            • S saeft_2003

                              @liv-in-sky

                              Vielen Dank für das tolle Skript! Eine Frage und zwar wenn ich z.B. zur Alexa lösche Milch von der Einkaufsliste sage dann hakt sie es ab. Aber in der html Liste bleibt es, außer ich lösche es dort oder in der alexa app. Ich sehe auch das sich der DP completed bei Milch auf true geändert hat.

                              9AF65E2C-D907-417A-9E15-8408A185D4DD.png 83F196CB-679E-4C91-98A3-4905C7EA49E3.png

                              liv-in-skyL Offline
                              liv-in-skyL Offline
                              liv-in-sky
                              schrieb am zuletzt editiert von
                              #320

                              @saeft_2003

                              im moment ist es so - die dp bleiben bestehen, wenn in der app oder über sprache ein item gelöscht wird - es ist dann nicht gelöscht, sondern erledigt. wenn man in der app alle erledigten löscht - verschwindet der dp und die liste ist wieder richtig

                              ich habe lange nix mehr am script geändert , ich glaube, dass war früher anders - daher müßte das angeglichen werden - ich habe mit halt angewöhnt, die erledigten items glich in der app zu löschen

                              oder anders - im moment werden alle items angezeigt - completed mit fals und true

                              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                              S 1 Antwort Letzte Antwort
                              0
                              • S saeft_2003

                                @liv-in-sky

                                Vielen Dank für das tolle Skript! Eine Frage und zwar wenn ich z.B. zur Alexa lösche Milch von der Einkaufsliste sage dann hakt sie es ab. Aber in der html Liste bleibt es, außer ich lösche es dort oder in der alexa app. Ich sehe auch das sich der DP completed bei Milch auf true geändert hat.

                                9AF65E2C-D907-417A-9E15-8408A185D4DD.png 83F196CB-679E-4C91-98A3-4905C7EA49E3.png

                                liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                schrieb am zuletzt editiert von
                                #321

                                @saeft_2003

                                versuche mal folgendes: (ich hoffe, das ganze funktioniert dann noch :-)

                                füge die markierten zeilen in dein script ein:

                                Image 1.png

                                if(!getState(id.replace("value","completed")).val) {
                                

                                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                MalleRalleM 1 Antwort Letzte Antwort
                                0
                                • liv-in-skyL liv-in-sky

                                  @saeft_2003

                                  im moment ist es so - die dp bleiben bestehen, wenn in der app oder über sprache ein item gelöscht wird - es ist dann nicht gelöscht, sondern erledigt. wenn man in der app alle erledigten löscht - verschwindet der dp und die liste ist wieder richtig

                                  ich habe lange nix mehr am script geändert , ich glaube, dass war früher anders - daher müßte das angeglichen werden - ich habe mit halt angewöhnt, die erledigten items glich in der app zu löschen

                                  oder anders - im moment werden alle items angezeigt - completed mit fals und true

                                  S Offline
                                  S Offline
                                  saeft_2003
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #322

                                  @liv-in-sky

                                  Ok verstehe. Vielleicht könntest du das anpassen, ich kann leider nicht einschätzen wie aufwendig das ist. Ich wäre dir auf jeden Fall sehr dankbar.

                                  liv-in-skyL 1 Antwort Letzte Antwort
                                  0
                                  • liv-in-skyL liv-in-sky

                                    @saeft_2003

                                    versuche mal folgendes: (ich hoffe, das ganze funktioniert dann noch :-)

                                    füge die markierten zeilen in dein script ein:

                                    Image 1.png

                                    if(!getState(id.replace("value","completed")).val) {
                                    
                                    MalleRalleM Offline
                                    MalleRalleM Offline
                                    MalleRalle
                                    schrieb am zuletzt editiert von
                                    #323

                                    @liv-in-sky
                                    Wenn ich z.B. sage:
                                    Alexa, lösche Brot von meiner Liste wird es auch im VIS gelöscht.

                                    Da musst Du aber noch mal dran.
                                    Diese Meldung bekomme ich immer.
                                    Ob Adapter startet oder gelöscht oder hinzugefügt wird.

                                    javascript.0	2022-02-14 14:10:00.923	warn	(627167) This object will not be created in future versions. Please report this to the developer.
                                    javascript.0	2022-02-14 14:10:00.923	warn	(627167) Object javascript.0.Alexa_Listen.ALEXALists.Einkauf.AuswahlDelete is invalid: obj.common.states has an invalid type! Expected "object", received "string"
                                    
                                    liv-in-skyL 2 Antworten Letzte Antwort
                                    0
                                    • MalleRalleM MalleRalle

                                      @liv-in-sky
                                      Wenn ich z.B. sage:
                                      Alexa, lösche Brot von meiner Liste wird es auch im VIS gelöscht.

                                      Da musst Du aber noch mal dran.
                                      Diese Meldung bekomme ich immer.
                                      Ob Adapter startet oder gelöscht oder hinzugefügt wird.

                                      javascript.0	2022-02-14 14:10:00.923	warn	(627167) This object will not be created in future versions. Please report this to the developer.
                                      javascript.0	2022-02-14 14:10:00.923	warn	(627167) Object javascript.0.Alexa_Listen.ALEXALists.Einkauf.AuswahlDelete is invalid: obj.common.states has an invalid type! Expected "object", received "string"
                                      
                                      liv-in-skyL Offline
                                      liv-in-skyL Offline
                                      liv-in-sky
                                      schrieb am zuletzt editiert von
                                      #324

                                      @malleralle
                                      wußte garnicht, dass ich das MUSS - vielleicht musst du dann meinen aufwand bezahlen :-)

                                      das hier ist ein script kein adapter - aber ich habe gesehen, dass jemand auf gitub vor hat, einen adapter dafür zu schreiben - daher ist die frage, ob ich da überhaupt weiterentwickeln soll.

                                      warnung:
                                      habe schon eine vermutung was das sein könnte - früher konnte man das machen, was ich da "reinprogrammiert" habe - evtl wurde das geändert - hast du den neuen js-controller4 im einsatz ? ich habe die meldung nicht

                                      @malleralle sagte in Script: Alexa Listen pflegen und Anzeigen:

                                      Alexa, lösche Brot von meiner Liste wird es auch im VIS gelöscht.

                                      bei mir nicht ??? mit dem jetztigen script - arbeite aber gerade daran und werde es dann posten

                                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                      1 Antwort Letzte Antwort
                                      0
                                      • S saeft_2003

                                        @liv-in-sky

                                        Ok verstehe. Vielleicht könntest du das anpassen, ich kann leider nicht einschätzen wie aufwendig das ist. Ich wäre dir auf jeden Fall sehr dankbar.

                                        liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        schrieb am zuletzt editiert von liv-in-sky
                                        #325

                                        @saeft_2003

                                        kannst du bitte testen -

                                        • completed weden nicht mehr angezeigt
                                        • das löschen sollte etwas stabiler sein - da hakte es bei mir manchmal

                                         //@liv-in-sky 2020  28.3.-9:42
                                        
                                         const dpPrefix = "javascript."+ instance +".";
                                        createState("Alexa_Listen.ALEXALists.Einkauf.Anlegen"             , "",{ name: 'Anlegen_VIS',  type: 'string', read:  true,  write: true,});
                                        createState("Alexa_Listen.ALEXALists.Einkauf.ALEXAEinkauf"           , { name: 'ALEXAEinkauf_VIS',  type: 'string', read:  true,  write: true,});
                                        createState("Alexa_Listen.ALEXALists.Einkauf.AuswahlDeleteWerte"   , { name: 'AuswahlDeleteWert_VIS',  type: 'string', read:  true,  write: true,});
                                        createState("Alexa_Listen.ALEXALists.Einkauf.AuswahlDeleteTexte"  , { name: 'AuswahlDeleteTexte_VIS',  type: 'string', read:  true,  write: true,});
                                        createState("Alexa_Listen.ALEXALists.Einkauf.Anzahl"  , { name: 'Einkauf_Anzahl_VIS',  type: 'number', read:  true,  write: true,});
                                        createState("Alexa_Listen.ALEXALists.Einkauf.DeleteALL"  , { name: 'Einkauf_DeleteALL',  type: 'boolean', role: 'switch', read:  true,  write: true,});
                                        createState("Alexa_Listen.ALEXALists.Einkauf.Refresh"  , { name: 'Refresh',  type: 'boolean', role: 'switch', read:  true,  write: true,});
                                        //createState("Alexa_Listen.ALEXALists.Einkauf.AuswahlDelete"       , { name: 'AuswahlDelete_VIS',  type: 'number', read:  true,  write: true,});
                                        
                                        createState("Alexa_Listen.ALEXALists.Einkauf.AuswahlDelete", {
                                        name: 'AuswahlDelete',
                                         role: "state",
                                         type: "number",
                                         states: "0:choose ...;1:eeee;2:test1;3:test;",
                                         min: 0,
                                         max: 50,
                                         def: 0,
                                         read: true,
                                         write: true});
                                        
                                        
                                        
                                        
                                        //HIER WIRD PFAD UND FILENAME DEFINIERT
                                        const path = "/htmltelegram.html";                   //FIlenamen definieren
                                        const home ='vis.0'                                 //wo soll das file im iobroker-file-system liegen ? (oder z.b auch iqontrol.meta)
                                        let   braucheEinFile=false;                          // bei true wird ein file geschrieben - für iqontrol
                                        let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben 
                                        let   braucheTelegram=true;
                                        let dpVIS=dpPrefix+"Alexa_Listen.ALEXALists.Einkauf.ALEXAEinkauf";                      // dp  für VIS-HTML-Basic-Widget // Datentyp: String
                                        let dPDELETE=dpPrefix+"Alexa_Listen.ALEXALists.Einkauf.AuswahlDelete";                  // Datentyp: Werteliste
                                        let dPDELETEWert=dpPrefix+"Alexa_Listen.ALEXALists.Einkauf.AuswahlDeleteWerte";         // Datentyp: String
                                        let dPDELETEAuswahl=dpPrefix+"Alexa_Listen.ALEXALists.Einkauf.AuswahlDeleteTexte";      // Datentyp: String
                                        let dpANLEGEN=dpPrefix+"Alexa_Listen.ALEXALists.Einkauf.Anlegen";                       // Datentyp: String
                                        let dpAnzahl=dpPrefix+"Alexa_Listen.ALEXALists.Einkauf.Anzahl";                         // Datentyp: Number
                                        let dpDelAll=dpPrefix+"Alexa_Listen.ALEXALists.Einkauf.DeleteALL";                      // Datentyp: Boolean
                                        let dpRefresh=dpPrefix+"Alexa_Listen.ALEXALists.Einkauf.Refresh";                      // Datentyp: Boolean
                                        let mySchedule=" */30 * * * * * ";                       
                                        let sortList=1;                                                                         // SORTIERUNG 1=nach datum; 2 nach Einkauf's
                                        let mitErstelldatum=false;
                                        var symbolLink="⚪";                                                                    //  👎  💀 ❌  ⚪  ⚫ ⭕  🔴 🔵
                                        let farbeSchalterON="blue";
                                        //---------------------------------------
                                        
                                        //HIER DIE SPALTEN ANZAHL DEFINIEREN - jede Spalte einen Wert - in diesem Beispiel sind es 3
                                        var htmlFeld1='Einkauf';       var Feld1lAlign="left";                     // überschrift Tabellen Spalte1 und  Ausrichtung left or center
                                        var htmlFeld2='Del';        var Feld2lAlign="center";                      // überschrift Tabellen Spalte2 und  Ausrichtung left,right or center
                                        var htmlFeld3='Erstellt vor';         var Feld3lAlign="center";                    // überschrift Tabellen Spalte3 und  Ausrichtung left,right or center
                                        //-----------------------------------
                                        
                                        
                                        //hier werden die styles für die tabelle definiert
                                        //ÜBERSCHRIFT ÜBER TABELLE
                                        let   htmlUberschrift=false;                           // mit Überschrift über der tabelle
                                        let   htmlSignature=false;                              // anstatt der Überscghrift eine signature: - kleiner - anliegend
                                        const htmlFeldUeber='ALEXA Einkaufsliste';              // Überschrift und Signature
                                        const htmlFarbUber="white";                         // Farbe der Überschrift
                                        const htmlSchriftWeite="normal";                       // bold, normal - Fettschrift für Überschrift
                                        const htmlÜberFontGroesse="18px";                       // schriftgröße überschrift
                                        //MEHRERE TABELLEN NEBENEINANDER
                                        let   mehrfachTabelle=1;                              // bis zu 4 Tabellen werden nebeneinander geschrieben-  verkürzt das Ganze, dafür etwas breiter - MÖGLICH 1,2,3,oder 4 !!!
                                        const trennungsLinie="2";                             //extra trennungslinie bei mehrfachtabellen - evtl auf 0 stellen, wnn htmlRahmenLinien auf none sind
                                        const farbetrennungsLinie="white";
                                        const htmlFarbZweiteTabelle="white";                // Farbe der Überschrift bei jeder 2.ten Tabelle
                                        const htmlFarbTableColorUber="#BDBDBD";               // Überschrift in der tabelle - der einzelnen Spalten
                                        //ÜBERSCHRIFT SPALTEN
                                        const UeberSchriftHöhe="35";                          //Überschrift bekommt mehr Raum - darunter und darüber - Zellenhöhe
                                        const LinieUnterUeberschrift="3";                   // Linie nur unter Spaltenüberschrift - 
                                        const farbeLinieUnterUeberschrift="white";
                                        const groesseUeberschrift=16;
                                        const UeberschriftStyle="normal"                     // möglich "bold"
                                        //GANZE TABELLE
                                        let abstandZelle="3";
                                        let farbeUngeradeZeilen="#000000";                     //Farbe für ungerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                        let farbeGeradeZeilen="#2E2E2E";                        //Farbe für gerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                        let weite="auto";                                     //Weite der Tabelle
                                        let zentriert=true;                                   //ganze tabelle zentriert
                                        const backgroundAll="#000000";                        //Hintergrund für die ganze Seite - für direkten aufruf oder iqontrol sichtber - keine auswirkung auf vis-widget
                                        const htmlSchriftart="Helvetica";
                                        const htmlSchriftgroesse="14px";
                                        //FELDER UND RAHMEN
                                        let   UeberschriftSpalten=true;                // ein- oder ausblenden der spatlen-überschriften
                                        const htmlFarbFelderschrift="#36d5ec";                  // SchriftFarbe der Felder
                                        const htmlFarbFelderschrift2="#D8D8D8";                 // SchriftFarbe der Felder für jede 2te Tabelle
                                        const htmlFarbTableColorGradient1="#424242";          //  Gradient - Hintergrund der Tabelle - Verlauffarbe
                                        const htmlFarbTableColorGradient2="#424242";          //  Gradient - Hintergrund der Tabelle - ist dieser Wert gleich Gradient1 gibt es keinen verlauf
                                        const htmlFarbTableBorderColor="grey";             // Farbe des Rahmen - is tdieser gleich den gradienten, sind die rahmen unsichtbar
                                        let htmlRahmenLinien="none";                            // Format für Rahmen: MÖGLICH: "none" oder "all" oder "cols" oder "rows"
                                        const htmlSpalte1Weite="auto";                   //  Weite der ersten beiden  Spalten oder z.b. 115px
                                        
                                        // HIER NICHTS  ÄNDERN
                                        
                                        let borderHelpBottum;
                                        let borderHelpRight;
                                        let htmlcenterHelp;
                                        let htmlcenterHelp2;
                                        
                                        if(htmlRahmenLinien=="rows") {borderHelpBottum=1;borderHelpRight=0;}
                                        if(htmlRahmenLinien=="cols") {borderHelpBottum=0;borderHelpRight=1;}
                                        if(htmlRahmenLinien=="none") {borderHelpBottum=0;borderHelpRight=0;}
                                        if(htmlRahmenLinien=="all")  {borderHelpBottum=1;borderHelpRight=1;}
                                        zentriert ? htmlcenterHelp="auto" : htmlcenterHelp="left";
                                        zentriert ? htmlcenterHelp2="center" : htmlcenterHelp2="left";
                                        
                                        
                                        const htmlZentriert='<center>'
                                        const htmlStart=    "<!DOCTYPE html><html lang=\"de\"><head><title>Vorlage</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">"+
                                                           "<style> * {  margin: 0;} body {background-color: "+backgroundAll+"; margin: 0 auto;  }"+
                                                           " p {padding-top: 10px; padding-bottom: 10px; text-align: "+htmlcenterHelp2+"}"+
                                                          // " div { margin: 0 auto;  margin-left: auto; margin-right: auto;}"+
                                                           " td { padding:"+abstandZelle+"px; border:0px solid "+htmlFarbTableBorderColor+";  border-right:"+borderHelpRight+"px solid "+htmlFarbTableBorderColor+";border-bottom:"+borderHelpBottum+"px solid "+htmlFarbTableBorderColor+";}"+ 
                                                           " table { width: "+weite+";  margin: 0 "+htmlcenterHelp+"; border:1px solid "+htmlFarbTableBorderColor+"; border-spacing=\""+abstandZelle+"0px\" ; }"+   // margin macht center
                                                           "td:nth-child(1) {width: "+htmlSpalte1Weite+"}"+"td:nth-child(2) {width:"+htmlSpalte1Weite+"}"+
                                                           " </style></head><body> <div>";
                                        //const htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-weight: bold\">"+htmlFeldUeber+"</p>";                    
                                        const htmlTabStyle= "<table bordercolor=\""+htmlFarbTableBorderColor+"\" border=\"2px\" cellspacing=\""+abstandZelle+"\" cellpadding=\""+abstandZelle+"\" width=\""+weite+"\" rules=\""+htmlRahmenLinien+"\" style=\"color:"+htmlFarbFelderschrift+";  font-size:"+htmlSchriftgroesse+
                                                              "; font-family:"+htmlSchriftart+";background-image: linear-gradient(42deg,"+htmlFarbTableColorGradient2+","+htmlFarbTableColorGradient1+");\">";
                                        const htmlTabUeber1="<tr height=\""+UeberSchriftHöhe+"\" style=\"color:"+htmlFarbTableColorUber+"; font-size: "+groesseUeberschrift+"px; font-weight: "+UeberschriftStyle+" ;  border-bottom: "+LinieUnterUeberschrift+"px solid "+farbeLinieUnterUeberschrift+" \">";
                                        const htmlTabUeber3="</tr>";
                                        /*
                                        table td:first-child {}  //1
                                        table td:nth-child(2) {} //2
                                        table td:nth-child(3) {} //3
                                        table td:last-child {}   //4
                                        */
                                        
                                        const buttonScript =  '<script> function setOnDblClickCustomShop( myvalue ) {	var Self = this; var objID = myvalue;	vis.setValue(myvalue,true);  var2 = \"' + dpPrefix + 'Alexa_Listen.ALEXALists.Einkauf.Refresh\"; vis.setValue(var2,true);  console.log("www")  } </script>'
                                        
                                        // const buttonScript =  '<script> function setOnDblClickCustom( myvalue ) {	var Self = this; var objID = myvalue;	Self.servConn.getStates(objID, (error, states) => {  console.log(states);  Self.servConn.setState(objID, true);  }); var2 = \"javascript.0.Alexa_Listen.ALEXALists.Einkauf.Refresh\"; Self.servConn.setState(var2, true); console.log("www")} </script>'
                                        
                                        //NICHTS ÄNDERN - abhängig von den oben definierten _Spalten - in diesem Beispiel sind es 3
                                        
                                           	var htmlTabUeber2="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+">&ensp;"+htmlFeld2+"&ensp;</td><td  align="+Feld3lAlign+">&ensp;"+htmlFeld3+"&ensp;</td>";
                                        var htmlTabUeber2_1="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+"  align="+Feld2lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld2+
                                                           "&ensp;</td><td  align="+Feld3lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld3+"&ensp;</td>";
                                        //------------------------------------------------------
                                        
                                        
                                        var htmlTabUeber="";
                                        var htmlOut="";
                                        var mix;
                                        var counter;
                                        var warte;
                                        var myIDArr=[];
                                        let myDeleterArr;
                                        var myRememberList="";
                                        var myTelegram=false;
                                        var telegramString="telegram.0";
                                        //HIER SIND DIE  WERTE, DIE IN DER SCHLEIFE GEFILTERET WER%DEN - Jede spalte einen wert - jeder valx muss in dieser schleife gesetzt werden !!
                                        var val1; var val2; var val0; var val3; var valSort; 
                                        
                                        function writeHTML(){
                                        
                                        
                                        htmlOut="";
                                        
                                        counter=-1;
                                        htmlTabUeber="";
                                        switch (mehrfachTabelle) { 
                                           case 1: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber3;  break;
                                           case 2: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                           case 3: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber3; break;
                                           case 4: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                        };   
                                        if (!UeberschriftSpalten) {htmlTabUeber=""}
                                        
                                        var valID; var myListWerte=""; var myListAuswahl="";
                                        //--------------------------------------------------------------------------------------------------------------------------------------------------
                                        //---------hier kommt eure schleife rein counter++, tabelleBind() und tabelleFinish() müssen so integriert bleiben !!!------------------------------
                                        //---------alle valx werte müssen von euch bestimmt werden - val0,val1,val2 !!!---------------------------------------------------------------------
                                        //--------------------------------------------------------------------------------------------------------------------------------------------------
                                        var myArr=[]; var myList=""; var myListArr=[]; myIDArr=[]; myDeleterArr=[];
                                        
                                         let myhelerArr=getState("alexa2.0.Lists.SHOPPING_LIST.json").val;
                                        
                                        myListArr.push('0'+":"+'choose ...'+";");
                                                    myListWerte=myListWerte+"choose ..."+";";
                                                   myListAuswahl=myListAuswahl+(0+";");
                                                   myIDArr.push("dummy");
                                        $('alexa2.0.Lists.SHOPPING_LIST.items.*.value').each(function(id, i) {           // hier eigene schleife definierenalexa2.0.Lists.SHOPPING_LIST.items.0f43141e-029c-4860-bcd0-828702b0dc86.value
                                                
                                                let ida=id.split('.')
                                               // log(myhelerArr)
                                               // log(myhelerArr.includes(ida[5]))
                                                 if(myhelerArr.includes(ida[5])) {
                                                 
                                                  if(!getState(id.replace("value","completed")).val) {
                                                   val0=getState(id).val;
                                                   val1=getState(id.replace("value","completed")).val; 
                                                   val2=valSort=getState(id.replace("value","updatedDateTime")).val; 
                                                   valID=getState(id.replace("value","id")).val; 
                                                   myIDArr.push(valID);
                                                   var yy= (Math.round((new Date()).getTime() / 1000))-Math.round(val2/1000);
                                                   val2=formatDate(getDateObject(val2), "TT.MM(SS:mm)")
                                                   val3=(Math.floor( ((yy)/60/60/24) )+"d "+ Math.floor(((yy)/60/60) % 24) +"h "+ Math.floor( ((yy)/60) % 60 )+"m")
                                                //   if (val1==false) {val1="❌"} else{val1="✅"}
                                                    let valButton=id.replace("value","#delete")
                                                    myDeleterArr.push(id.replace("value","#delete"))
                                                   //log(valButton)
                                                   val1="<button style\=\"border:none\; background-color\:transparent\; color\:white\; font\-size\:1em\; text\-align:left\" value=\"toggle\" onclick=\"setOnDblClickCustomShop\(\'"+valButton+"\')\">"+symbolLink + "</button> <font color=\""+farbeSchalterON+"\">";
                                                   myArr.push([val0,val1,val2,val3,valSort]);
                                                   val0=val0.replace(/,/g,'-');  
                                                   myListArr.push((i+1)+":"+val0+";");
                                                   myListWerte=myListWerte+val0+";";
                                                   myListAuswahl=myListAuswahl+(i+1)+";";
                                                  }} else{ //log('alexa2.0.Lists.SHOPPING_LIST.items.'+ida[5]);
                                                           deleteObject('alexa2.0.Lists.SHOPPING_LIST.items.'+ida[5], true);
                                                  }
                                        });
                                             //  log(myIDArr.toString())
                                        
                                                //log (myListArr.toString());
                                               for (var x=0;x<myListArr.length;x++){
                                                 myList=myList.concat(myListArr[x]);
                                                // log(myListArr[x]);
                                                 //log(myList);
                                        
                                               }
                                              // log("-----------myList : "+myList)
                                               if(myList!=myRememberList){
                                                   myTelegram=true; //log("ist true")
                                                   setStateDelayed(dPDELETEWert, myListAuswahl,500);        
                                                   setStateDelayed(dPDELETEAuswahl,  myListWerte,500);
                                                 var timeout = setTimeout(function () {
                                                   // var obj = getObject(dPDELETE);
                                                    // log("11---"+myList);
                                                   // obj.common.states=myList;
                                                    myRememberList=myList;
                                                    //log("22---"+myList);
                                                   extendObject(dPDELETE, {common: {states: myList}});   
                                                 }, 400);
                                               }
                                         //SORT
                                        
                                           if (sortList==1) {
                                                         myArr.sort(function (alpha, beta) {
                                                      if (alpha[4] > beta[4])
                                                         return -1;
                                                      if (beta[4] > alpha[4])
                                                         return 1;
                                                      return 0;
                                                     });
                                                            } else
                                               {          myArr.sort(function (alpha, beta) {
                                                      if (alpha[0].toUpperCase() > beta[0].toUpperCase())
                                                         return 1;
                                                      if (beta[0].toUpperCase() > alpha[0].toUpperCase())
                                                         return -1;
                                                      return 0;
                                                     });
                                        
                                                            }
                                        
                                                            telegramString="";
                                          for (var x=0 ; x<myArr.length ; x++) {
                                              counter++;
                                             //HIER WERDEN DIE DATEN DER SCHLEIFE ZUSAMMENGESETZT - hat man oben 2 Felder definiert, braucht man hier 2 Werte
                                               val0=myArr[x][0];
                                               val1=myArr[x][1];
                                               var val2help=myArr[x][2]
                                               var val3help=myArr[x][3];
                                               if (mitErstelldatum) {val2=val3help+" am "+val2help;} else {val2=val3help}
                                              
                                                 
                                               if (backgroundAll) {
                                                  telegramString=telegramString+ myArr[x][0] + " - "+myArr[x][2] + '\n';   // "-"+ myArr[x][1]  +
                                                 
                                               }  
                                                tabelleBind(); 
                                          }
                                        //-------------------------------------------------------------------------------------------------------------------------------------------------
                                        //--------------------------------------------------Ende der schleife------------------------------------------------------------------------------
                                        //-------------------------------------------------------------------------------------------------------------------------------------------------
                                        
                                              tabelleFinish(); // AB HIER NICHTS ÄNDERN - tabelle fertigstellen
                                             
                                        } // function ende
                                        
                                        //MAIN:
                                         
                                        schedule(mySchedule,  function () { 
                                          var timeout = setTimeout(function () {
                                          if(!getState(dpDelAll).val) writeHTML();
                                            if (braucheEinFile) {writeFile(home, path ,htmlOut, function (error) { /* log('file written');*/  });}
                                            }, 500);
                                        
                                        }); 
                                         var timeout = setTimeout(function () {
                                        writeHTML(); 
                                         }, 2000);                                  //     <tdalign
                                        
                                         function tabelleBind(){
                                           //  counter=counter+mehrfachTabelle;
                                               switch (mehrfachTabelle) { 
                                        
                                                 case 1: if(counter%2==0)         {  htmlOut=htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td></tr>"; break;}else    
                                                                                  {  htmlOut=htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td></tr>"; break;}
                                                 case 2: if(counter%4==0){
                                                            if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+
                                                                                                ";\" align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td>"; } 
                                                                       else {htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td></tr>";} break;
                                                              }else{
                                                                        if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+
                                                                                                ";\"align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td>"; } 
                                                                       else {htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td></tr>";} break;}
                                                                            
                                                 case 3:if(counter%2==0)   {
                                                            if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+
                                                                                                ";\"align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td>"; } //Teil1 c=0
                                                                       else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+
                                                                                                "; \"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td>";} //Teil 2 c=1
                                                                                        else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td></tr>";} //Teil 3 c=3
                                                                                  } break;}else{
                                                            if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+
                                                                                                ";\"align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td>"; } 
                                                                       else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+
                                                                                                ";\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td>";} 
                                                                                        else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td></tr>";}
                                                                                  } break;}                                          
                                        
                                        
                                                 case 4:  // counter=counter+8;
                                                           if(counter%8==0)   {
                                                           if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td  style=\" border-right: "+trennungsLinie+"px solid "+ farbetrennungsLinie+";\" align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td>"; } // teil1
                                                                           else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td>";} //teil 2
                                                                                        else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td></tr>";} //teil 4
                                                                                                          else    {htmlOut  = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";\"  align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td>";}} //teil 3
                                                                                  } break;}else{
                                                           if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td  style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";\" align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td>"; } //teil 1
                                                                           else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td>";} // teil 2
                                                                                        else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td></tr>";} // teil 4
                                                                                                          else    {htmlOut  = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";\"align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td>";}} //teil 3
                                                                                  } break;}                                    
                                                } //switch ende
                                        
                                        }
                                        
                                        function tabelleFinish() {
                                        
                                        switch (mehrfachTabelle) {  
                                               case 1:    break;
                                        
                                               case 2:    
                                                          if(counter%2==0)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>');
                                                        
                                                          break;
                                        
                                               case 3:   if(counter%3==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                         if(counter%3==1)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");        
                                                         if(counter%3==0)      htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td><td  style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                       
                                                          break;
                                               case 4:   if(counter%4==3)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                         if(counter%4==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                         if(counter%4==1)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");    
                                                         if(counter%4==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");      
                                                         break; }
                                             
                                                 var htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: "+htmlÜberFontGroesse+"; font-weight:"+htmlSchriftWeite+ "\">"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</p>"; 
                                               var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 70%; text-align: right;\" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>";
                                                
                                                if (!htmlSignature) htmlUnter="";
                                                  //Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
                                                   var htmlOutVIS="";
                                                 //  htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>";
                                                    if (htmlUberschrift) 
                                                        { zentriert ? htmlOutVIS=htmlZentriert+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript : htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript ;
                                        
                                                      } else {
                                                       zentriert ?  htmlOutVIS=htmlZentriert+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript :  htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript;
                                        
                                                         }
                                                         
                                        
                                          // log("bin raus aus tabelleBind");
                                                   if (braucheEinVISWidget) setState(dpVIS, htmlOutVIS );
                                        
                                         var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 80%;  text-align: center; \" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                        
                                         if (!htmlSignature) htmlUnter="";
                                          var htmlEnd="</table>"+htmlUnter+"</div></body>";
                                         //mit oder ohne überschrift - zentriert oder links
                                        htmlUberschrift ? htmlOut=htmlStart+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd : htmlOut=htmlStart+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd;
                                         //log(htmlOut);
                                         setState(dpANLEGEN,"");
                                         setState(dpAnzahl,(counter+1));
                                         setState(dPDELETE,0);
                                        
                                         
                                         if(myTelegram && braucheTelegram){ 
                                             //log("sende");
                                             myTelegram=false;
                                             
                                            sendTo('telegram.0', {
                                                
                                           text: (telegramString),
                                           type: 'text'
                                           });
                                        
                                        telegramString="";
                                        
                                        }
                                        } // function ende
                                        
                                        on({id: dPDELETE, ack: false, change: "ne"}, function (obj) { 
                                          
                                           let a=getState(dPDELETE).val;
                                           if (a!=0){
                                           let toDelete=myIDArr[getState(dPDELETE).val];
                                           var stateHelp="alexa2.0.Lists.SHOPPING_LIST.items."+toDelete+".#delete"
                                           setState(stateHelp,true);
                                           var timeout = setTimeout(function () {
                                           writeHTML(); }, 4000);
                                         
                                        
                                           }
                                          // log("1+bin im on !!!+++!"+a+stateHelp)
                                           });
                                        
                                           on({id: dpANLEGEN, ack: false, change: "ne"}, function (obj) { 
                                              // log(getState(dpANLEGEN).val+"----aa");
                                               if(getState(dpANLEGEN).val!="") {
                                            setState("alexa2.0.Lists.SHOPPING_LIST.#New",getState(dpANLEGEN).val)
                                               var timeout = setTimeout(function () {
                                           writeHTML(); }, 2000);
                                               } 
                                               
                                           });
                                        
                                               on({id: dpRefresh, ack: false, change: "any"}, function (obj) { 
                                               //log(getState(dpANLEGEN).val+"----refresh");
                                               var timeout2 = setTimeout(function () {
                                           writeHTML(); }, 4000);
                                              // }
                                           
                                           });  
                                        
                                              on({id: myDeleterArr, ack: false, change: "any"}, function (obj) { 
                                               //log(getState(dpANLEGEN).val+"----refresh");
                                               var timeout2 = setTimeout(function () {
                                           writeHTML(); }, 4000);
                                          
                                              // }
                                           
                                           });
                                        
                                           
                                             on({id: dpDelAll, ack: false,val: true}, function (obj) { 
                                         let i;
                                         for (i=0;i<myIDArr.length;i++) {//log("hier : "+myIDArr[i]);
                                           if (myIDArr[i]!="dummy") {
                                           let toDelete=myIDArr[i];
                                              setTimeout( function timer(){
                                              var stateHelp="alexa2.0.Lists.SHOPPING_LIST.items."+toDelete+".#delete"
                                           log("Statehelp: "+stateHelp)
                                           setState(stateHelp,true);
                                           }, i*2500 );
                                        
                                          
                                           }
                                           }
                                           log(i.toString())
                                           var timeout = setTimeout(function () {
                                                setState(dpDelAll,false);
                                                writeHTML(); }, (1+myIDArr.length)*1500);
                                          
                                          // log(stateHelp)
                                        
                                         });
                                        
                                        
                                        
                                        
                                        
                                        

                                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                        S 2 Antworten Letzte Antwort
                                        1
                                        • MalleRalleM MalleRalle

                                          @liv-in-sky
                                          Wenn ich z.B. sage:
                                          Alexa, lösche Brot von meiner Liste wird es auch im VIS gelöscht.

                                          Da musst Du aber noch mal dran.
                                          Diese Meldung bekomme ich immer.
                                          Ob Adapter startet oder gelöscht oder hinzugefügt wird.

                                          javascript.0	2022-02-14 14:10:00.923	warn	(627167) This object will not be created in future versions. Please report this to the developer.
                                          javascript.0	2022-02-14 14:10:00.923	warn	(627167) Object javascript.0.Alexa_Listen.ALEXALists.Einkauf.AuswahlDelete is invalid: obj.common.states has an invalid type! Expected "object", received "string"
                                          
                                          liv-in-skyL Offline
                                          liv-in-skyL Offline
                                          liv-in-sky
                                          schrieb am zuletzt editiert von
                                          #326

                                          @malleralle

                                          du könntest auch mal testen - habe das mit dem object geändert - ist da noch eine fehlermeldung

                                          testscript:
                                          https://forum.iobroker.net/post/762376

                                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          377

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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