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. Blockly
  5. [Gelöst] Wert aus Werteliste ansprechen?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[Gelöst] Wert aus Werteliste ansprechen?

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
5 Beiträge 4 Kommentatoren 1.4k Aufrufe 3 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.
  • P Offline
    P Offline
    Pilot0423
    schrieb am zuletzt editiert von Pilot0423
    #1

    Juten Tach!

    Ich komme nicht klar mit einer Werteliste / einem Array.

    Ich würde mich gerne auf verschiedene Arten und Weisen von Alexa begrüßen lassen. Hatte das erst in meinem Guten-Morgen-Skript ganz einfach über eine Variable gelöst; funktioniert auch soweit. Ich möchte diese Anrede nun aber über den ganzen Tag verteilt auch in anderen Skripts verwenden.

    Soweit ich das verstanden habe, ist ja eine Variable nur in dem jeweiligen Skript und nicht übergreifend verfügbar. D. h., ich hätte meine Anredenliste in jedem einzelnen Skript einpflegen müssen. Das ist aber bestimmt nicht die eleganteste Lösung und bedeutet auch Pflegeaufwand in allen Skripts, wenn ich die Liste erweitern möchte.

    Daher habe ich einen Datenpunkt in Userdata erstellt als Werteliste. Diese Liste befülle ich morgens per Cronjob. Meine Idee war, dann im Skript eine Variable aus diesem Datenpunkt zu befüllen und aus dieser Variable ein zufälliges Element zu wählen.

    Gelöst momentan so:

    Cronjob morgens:

    1.JPG

    Im Skript befülle ich dann eine Variable und gebe einen zufälligen Wert aus (habe alles gelöscht bis auf die hier relevanten Teile):

    2.JPG

    Resultat: Alexa liest immer die komplette Liste, also alle Anreden nacheinander vor.

    Frage: Wie greife ich auf ein einzelnes Element im Datenpunkt bzw. in der Variable zu? Ich komm da echt nicht weiter.

    Grüße, Jürgen

    J.A.R.V.I.S.J paul53P dslraserD 3 Antworten Letzte Antwort
    0
    • P Pilot0423

      Juten Tach!

      Ich komme nicht klar mit einer Werteliste / einem Array.

      Ich würde mich gerne auf verschiedene Arten und Weisen von Alexa begrüßen lassen. Hatte das erst in meinem Guten-Morgen-Skript ganz einfach über eine Variable gelöst; funktioniert auch soweit. Ich möchte diese Anrede nun aber über den ganzen Tag verteilt auch in anderen Skripts verwenden.

      Soweit ich das verstanden habe, ist ja eine Variable nur in dem jeweiligen Skript und nicht übergreifend verfügbar. D. h., ich hätte meine Anredenliste in jedem einzelnen Skript einpflegen müssen. Das ist aber bestimmt nicht die eleganteste Lösung und bedeutet auch Pflegeaufwand in allen Skripts, wenn ich die Liste erweitern möchte.

      Daher habe ich einen Datenpunkt in Userdata erstellt als Werteliste. Diese Liste befülle ich morgens per Cronjob. Meine Idee war, dann im Skript eine Variable aus diesem Datenpunkt zu befüllen und aus dieser Variable ein zufälliges Element zu wählen.

      Gelöst momentan so:

      Cronjob morgens:

      1.JPG

      Im Skript befülle ich dann eine Variable und gebe einen zufälligen Wert aus (habe alles gelöscht bis auf die hier relevanten Teile):

      2.JPG

      Resultat: Alexa liest immer die komplette Liste, also alle Anreden nacheinander vor.

      Frage: Wie greife ich auf ein einzelnes Element im Datenpunkt bzw. in der Variable zu? Ich komm da echt nicht weiter.

      Grüße, Jürgen

      J.A.R.V.I.S.J Offline
      J.A.R.V.I.S.J Offline
      J.A.R.V.I.S.
      Developer
      schrieb am zuletzt editiert von J.A.R.V.I.S.
      #2

      Hey, ich werde mir das später mal anschauen und dir eine Rückmeldung geben.

      Wie ich das aber gerade sehe, nimmst du nicht den Wert der Variable, sondern die komplette Variabel. Du müsstest einen "Wert von Variable"-Block nehmen.

      1 Antwort Letzte Antwort
      0
      • P Pilot0423

        Juten Tach!

        Ich komme nicht klar mit einer Werteliste / einem Array.

        Ich würde mich gerne auf verschiedene Arten und Weisen von Alexa begrüßen lassen. Hatte das erst in meinem Guten-Morgen-Skript ganz einfach über eine Variable gelöst; funktioniert auch soweit. Ich möchte diese Anrede nun aber über den ganzen Tag verteilt auch in anderen Skripts verwenden.

        Soweit ich das verstanden habe, ist ja eine Variable nur in dem jeweiligen Skript und nicht übergreifend verfügbar. D. h., ich hätte meine Anredenliste in jedem einzelnen Skript einpflegen müssen. Das ist aber bestimmt nicht die eleganteste Lösung und bedeutet auch Pflegeaufwand in allen Skripts, wenn ich die Liste erweitern möchte.

        Daher habe ich einen Datenpunkt in Userdata erstellt als Werteliste. Diese Liste befülle ich morgens per Cronjob. Meine Idee war, dann im Skript eine Variable aus diesem Datenpunkt zu befüllen und aus dieser Variable ein zufälliges Element zu wählen.

        Gelöst momentan so:

        Cronjob morgens:

        1.JPG

        Im Skript befülle ich dann eine Variable und gebe einen zufälligen Wert aus (habe alles gelöscht bis auf die hier relevanten Teile):

        2.JPG

        Resultat: Alexa liest immer die komplette Liste, also alle Anreden nacheinander vor.

        Frage: Wie greife ich auf ein einzelnes Element im Datenpunkt bzw. in der Variable zu? Ich komm da echt nicht weiter.

        Grüße, Jürgen

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #3

        @Pilot0423 sagte in Wie Wert aus Datenpunkt-Werteliste ansprechen?:

        Datenpunkt in Userdata erstellt als Werteliste.

        Eine Werteliste ist ein Datenpunkt vom Typ "number" und kein Array / keine Liste. Der Datenpunkt muss vom Typ "Feld"(array) sein.

        Wenn der Datenpunkt bereits eine Liste enthält, ist das falsch:
        setze Anrede-Name auf erzeuge Liste mit Wert vom Objekt Anrede
        Richtig:
        setze Anrede-Name auf Wert vom Objekt Anrede

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • P Pilot0423

          Juten Tach!

          Ich komme nicht klar mit einer Werteliste / einem Array.

          Ich würde mich gerne auf verschiedene Arten und Weisen von Alexa begrüßen lassen. Hatte das erst in meinem Guten-Morgen-Skript ganz einfach über eine Variable gelöst; funktioniert auch soweit. Ich möchte diese Anrede nun aber über den ganzen Tag verteilt auch in anderen Skripts verwenden.

          Soweit ich das verstanden habe, ist ja eine Variable nur in dem jeweiligen Skript und nicht übergreifend verfügbar. D. h., ich hätte meine Anredenliste in jedem einzelnen Skript einpflegen müssen. Das ist aber bestimmt nicht die eleganteste Lösung und bedeutet auch Pflegeaufwand in allen Skripts, wenn ich die Liste erweitern möchte.

          Daher habe ich einen Datenpunkt in Userdata erstellt als Werteliste. Diese Liste befülle ich morgens per Cronjob. Meine Idee war, dann im Skript eine Variable aus diesem Datenpunkt zu befüllen und aus dieser Variable ein zufälliges Element zu wählen.

          Gelöst momentan so:

          Cronjob morgens:

          1.JPG

          Im Skript befülle ich dann eine Variable und gebe einen zufälligen Wert aus (habe alles gelöscht bis auf die hier relevanten Teile):

          2.JPG

          Resultat: Alexa liest immer die komplette Liste, also alle Anreden nacheinander vor.

          Frage: Wie greife ich auf ein einzelnes Element im Datenpunkt bzw. in der Variable zu? Ich komm da echt nicht weiter.

          Grüße, Jürgen

          dslraserD Offline
          dslraserD Offline
          dslraser
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #4

          @Pilot0423

          Beispiel:

          Bildschirmfoto 2019-12-15 um 15.46.00.png

          <xml xmlns="http://www.w3.org/1999/xhtml">
           <variables>
             <variable type="" id="^lbL`[/|tB:vyR3j/t4T">text</variable>
           </variables>
           <block type="variables_set" id="mJ=h023,;]Ix8UPE1Hy]" x="12" y="87">
             <field name="VAR" id="^lbL`[/|tB:vyR3j/t4T" variabletype="">text</field>
             <value name="VALUE">
               <block type="lists_create_with" id="$6cCfz1{6FzI3b2[%!Yc">
                 <mutation items="4"></mutation>
                 <value name="ADD0">
                   <block type="text" id="c}.w$OTDmz)S6Fjm{U#!">
                     <field name="TEXT">Meister</field>
                   </block>
                 </value>
                 <value name="ADD1">
                   <block type="text" id="KH)O}PSyJfAAf{uv%[73">
                     <field name="TEXT">Kollege</field>
                   </block>
                 </value>
                 <value name="ADD2">
                   <block type="text" id="~Nd.;}2wEqG*-!+~kii+">
                     <field name="TEXT">Digga</field>
                   </block>
                 </value>
                 <value name="ADD3">
                   <block type="text" id="2F}6~!lyHo)F}`x-}G%c">
                     <field name="TEXT">Alter</field>
                   </block>
                 </value>
               </block>
             </value>
             <next>
               <block type="control" id="q;YQqu/~Jn]XE%V=dL-F">
                 <mutation delay_input="false"></mutation>
                 <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                 <field name="WITH_DELAY">FALSE</field>
                 <value name="VALUE">
                   <block type="lists_getIndex" id=";s=8~:yu0q6%aOYbY*Zh">
                     <mutation statement="false" at="false"></mutation>
                     <field name="MODE">GET</field>
                     <field name="WHERE">RANDOM</field>
                     <value name="VALUE">
                       <block type="variables_get" id="S!DyhTGzq2:u#krkFR0L">
                         <field name="VAR" id="^lbL`[/|tB:vyR3j/t4T" variabletype="">text</field>
                       </block>
                     </value>
                   </block>
                 </value>
               </block>
             </next>
           </block>
          </xml>
          

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            Pilot0423
            schrieb am zuletzt editiert von Pilot0423
            #5

            Vielen Dank, dslraser. Aber das ist ja genau das, was ich hatte und was auch funktionierte (also mit einer Variablen arbeiten). Das müsste ich aber in jedem Skript machen (also die Liste befüllen), denn die Variable habe ich ja in anderen Skripts nicht mehr zur Verfügung.

            Ich möchte einen globalen Datenpunkt, den ich nur an einer Stelle pflege und in allen Skripts zur Verfügung habe. Und da möchte ich auf einen einzelnen Wert zugreifen. Verstehe leider immer noch nicht, welche Syntax ich da nehmen muss bzw. wie das Blockly optisch aussehen muss.

            Edit: JEEEEEEEEEEEEEEETZT ist der Groschen gefallen dank Paul53! Vielen Dank! Liste mit Liste befüllen = nix gut :)

            Schöne Weihnachtstage Euch,

            Jürgen

            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

            795

            Online

            32.7k

            Benutzer

            82.4k

            Themen

            1.3m

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

            • Du hast noch kein Konto? Registrieren

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