Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [geloest] Wert eines Objektes nicht auslesbar

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [geloest] Wert eines Objektes nicht auslesbar

    This topic has been deleted. Only users with topic management privileges can see it.
    • oberfragger
      oberfragger last edited by oberfragger

      Hi,
      ich möchte gern dass mir Alexa mitteilt, welcher Kaffe gerade fertig ist. Dazu muss "nur" der Wert aus einem DP ausgelesen werden. Ich möchte ungern 20 if then einbauen... das muss doch eleganter gehen.

      Hier die Defintion des Datenpunktes:

      {
        "type": "state",
        "common": {
          "name": "BSH_Common_Root_SelectedProgram",
          "type": "string",
          "role": "indicator",
          "write": true,
          "read": true,
          "states": {
            "ConsumerProducts.CoffeeMaker.Program.Beverage.Espresso": "Espresso",
            "ConsumerProducts.CoffeeMaker.Program.Beverage.EspressoMacchiato": "Espresso Macchiato",
            "ConsumerProducts.CoffeeMaker.Program.Beverage.Coffee": "Caffe Crema",
            "ConsumerProducts.CoffeeMaker.Program.Beverage.Cappuccino": "Cappuccino",
            "ConsumerProducts.CoffeeMaker.Program.Beverage.LatteMacchiato": "Latte Macchiato",
            "ConsumerProducts.CoffeeMaker.Program.Beverage.CaffeLatte": "Milchkaffee",
            "ConsumerProducts.CoffeeMaker.Program.Beverage.Ristretto": "Ristretto",
            "ConsumerProducts.CoffeeMaker.Program.Beverage.MilkFroth": "Milchschaum",
            "ConsumerProducts.CoffeeMaker.Program.Beverage.WarmMilk": "Warme Milch",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KleinerBrauner": "Kleiner Brauner",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.GrosserBrauner": "Großer Brauner",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Verlaengerter": "Verlängerter",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.VerlaengerterBraun": "Verlängerter braun",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.WienerMelange": "Wiener Melange",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.FlatWhite": "Flat White",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Cortado": "Cortado",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeCortado": "Café cortado",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeConLeche": "Café con leche",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeAuLait": "Café au lait",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Doppio": "Doppio",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Kaapi": "Kaapi",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KoffieVerkeerd": "Koffie verkeerd",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Galao": "Galão",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Garoto": "Garoto",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Americano": "Americano",
            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.RedEye": "Red Eye"
          }
        },
        "native": {},
        "from": "system.adapter.homeconnect.0",
        "user": "system.user.admin",
        "ts": 1577488560220,
        "_id": "homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram",
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      

      Mein Blockly sieht so aus:
      c0283804-c234-4894-9435-32988b938cf6-image.png

      Wenn ich Konvertierung nach String wähle - liest mir Alexa 'null' vor, ansonsten schweigt Sie zu der Zeile. Ideen das irgendwie via Liste oder Textmanipulation zu machen?

      Leider geht die Textmanipulation nicht...
      d999a8a3-debf-443f-8072-84e549ab3d97-image.png

      Error in callback: TypeError: Cannot read property 'charAt' of null
      
      dslraser 1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @oberfragger last edited by dslraser

        @oberfragger
        ich habe mir mal Deinen Datenpunkt von oben angelegt. Wenn Du jetzt hier in der Werteliste die Kaffeesorte änderst wird der ausgewählte Kaffee vorgelesen bzw. angesagt.

        also hier auswählen und ändern..

        Bildschirmfoto 2019-12-28 um 22.43.46.png

        In Deinem Blockly verstehe ich nicht was wert=100 als Text macht ?

        Hier mal zum probieren für Dich (speak musst Du natürlich mit Deinem ECHO tauschen)

        Bildschirmfoto 2019-12-28 um 22.43.24.png

        <xml xmlns="http://www.w3.org/1999/xhtml">
         <block type="on_ext" id="!qq%RAL[XH[~GDI0vlUd" x="13" y="63">
           <mutation items="1"></mutation>
           <field name="CONDITION">ne</field>
           <field name="ACK_CONDITION"></field>
           <value name="OID0">
             <shadow type="field_oid" id="T0~h+3m~FFwkp*@}/~PC">
               <field name="oid">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="control" id="7Zq/43@@JO4Rb)=$f`Xg">
               <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="text_join" id="@~B,i;x$I)8%Je^k*)DR">
                   <mutation items="3"></mutation>
                   <value name="ADD0">
                     <block type="text" id="Q5Xjmj~g%]*WvRW4EvTX">
                       <field name="TEXT">Hallo, Dein </field>
                     </block>
                   </value>
                   <value name="ADD1">
                     <block type="text_getSubstring" id="X|YKPo0/!GBgZ0^5z/2," inline="false">
                       <mutation at1="true" at2="false"></mutation>
                       <field name="WHERE1">FROM_START</field>
                       <field name="WHERE2">LAST</field>
                       <value name="STRING">
                         <block type="get_value" id="p5%H5#w[it6WS9iE|tj[">
                           <field name="ATTR">val</field>
                           <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                         </block>
                       </value>
                       <value name="AT1">
                         <block type="math_arithmetic" id="bF186|FznYoaFBx}io9o" inline="false">
                           <field name="OP">ADD</field>
                           <value name="A">
                             <shadow type="math_number" id="A`TLz5Lbfgw;=mJOp}(^">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="text_indexOf" id="j1|aA3l$S=z^m.Ug8?B=" inline="false">
                               <field name="END">LAST</field>
                               <value name="VALUE">
                                 <block type="get_value" id="4}HZ*/+Ss/,Q?CV4P7Kh">
                                   <field name="ATTR">val</field>
                                   <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                 </block>
                               </value>
                               <value name="FIND">
                                 <shadow type="text" id="P5s;aJDPT*F;y(,VtRBs">
                                   <field name="TEXT">abc</field>
                                 </shadow>
                                 <block type="text" id="Mir}i#n{YT[K@4t#)Q?v">
                                   <field name="TEXT">.</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="B">
                             <shadow type="math_number" id="-9+`M14/p._`PvUM3`yk">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="math_number" id="I%mK$b3fzLFhu88Z[g?_">
                               <field name="NUM">1</field>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="ADD2">
                     <block type="text" id="-DS/R`ePW!paNc:WF^eT">
                       <field name="TEXT"> ist fertig</field>
                     </block>
                   </value>
                 </block>
               </value>
               <next>
                 <block type="debug" id="BYdwBc,CJ~4YCE[yqQeN">
                   <field name="Severity">log</field>
                   <value name="TEXT">
                     <shadow type="text" id="%{XK|i!40F#rUhLX?+H6">
                       <field name="TEXT">test</field>
                     </shadow>
                     <block type="text_getSubstring" id=";V75FO4VtMZ3nP[Seh:A" inline="false">
                       <mutation at1="true" at2="false"></mutation>
                       <field name="WHERE1">FROM_START</field>
                       <field name="WHERE2">LAST</field>
                       <value name="STRING">
                         <block type="get_value" id="t$6J}yw=#$*H%Oy@L$lh">
                           <field name="ATTR">val</field>
                           <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                         </block>
                       </value>
                       <value name="AT1">
                         <block type="math_arithmetic" id="h7_S)hH`5@RA?#U)5g=1" inline="false">
                           <field name="OP">ADD</field>
                           <value name="A">
                             <shadow type="math_number" id="A`TLz5Lbfgw;=mJOp}(^">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="text_indexOf" id="0e*(2Dhq5d1#U;xsFNn%" inline="false">
                               <field name="END">LAST</field>
                               <value name="VALUE">
                                 <block type="get_value" id="isq[qfzLYyRaRLY;L45w">
                                   <field name="ATTR">val</field>
                                   <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                 </block>
                               </value>
                               <value name="FIND">
                                 <shadow type="text" id="P5s;aJDPT*F;y(,VtRBs">
                                   <field name="TEXT">abc</field>
                                 </shadow>
                                 <block type="text" id="c,}EJ]POpPpb|nI#.!zb">
                                   <field name="TEXT">.</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="B">
                             <shadow type="math_number" id="-9+`M14/p._`PvUM3`yk">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="math_number" id="(Kg1M+/J_!`LmKq-sU!S">
                               <field name="NUM">1</field>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </value>
                 </block>
               </next>
             </block>
           </statement>
         </block>
        </xml>
        

        EDIT: Du kannst den Trigger auch auf wurde aktualisiert stellen, je nach dem wie das gesamte Blockly dann aussieht und machen soll bzw. wann es laufen soll.

        oberfragger 1 Reply Last reply Reply Quote 0
        • oberfragger
          oberfragger @dslraser last edited by

          @dslraser said in Alexa kann Wert eines Objektes nicht sprechen:

          In Deinem Blockly verstehe ich nicht was wert=100 als Text macht ?

          Die Kaffeemaschine bzw. App hat einen Prozentwert. Wenn der 100 erreicht ist der Kaffee fertig 🙂

          dslraser 1 Reply Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @oberfragger last edited by

            @oberfragger sagte in Alexa kann Wert eines Objektes nicht sprechen:

            Wenn der 100 erreicht ist der Kaffee fertig

            100 Prozent als Text oder als Zahl ? Wie sieht der RAW des Datenpunktes aus ?

            oberfragger 1 Reply Last reply Reply Quote 0
            • oberfragger
              oberfragger @dslraser last edited by oberfragger

              @dslraser Nö. Läuft leider nicht mit Deinem Blockly.

              javascript.0	2019-12-28 23:19:00.378	error	(1709) at processImmediate (timers.js:658:5)
              javascript.0	2019-12-28 23:19:00.378	error	(1709) at tryOnImmediate (timers.js:676:5)
              javascript.0	2019-12-28 23:19:00.378	error	(1709) at runCallback (timers.js:705:18)
              javascript.0	2019-12-28 23:19:00.377	error	(1709) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
              javascript.0	2019-12-28 23:19:00.377	error	(1709) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
              javascript.0	2019-12-28 23:19:00.376	error	(1709) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
              javascript.0	2019-12-28 23:19:00.376	error	(1709) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
              javascript.0	2019-12-28 23:19:00.375	error	(1709) at Object.<anonymous> (script.js.common.Alexa_Kaffeeansage:12:342)
              javascript.0	2019-12-28 23:19:00.374	error	(1709) Error in callback: TypeError: Cannot read property 'lastIndexOf' of null
              
              23:19:00.375	error	javascript.0 (1709) at Object.<anonymous> (script.js.common.Alexa_Kaffeeansage:12:342)
              

              Der Datenpunkt von den 100...? Da läuft doch alles. Das ist nur der Trigger. Und den RAW vom BSH_Common_Root_SelectedProgram habe ich doch oben gepostet. Stehe ich vielleicht gerade auf dem Schlauch?

              dslraser 1 Reply Last reply Reply Quote 0
              • dslraser
                dslraser Forum Testing Most Active @oberfragger last edited by dslraser

                @oberfragger
                dann gib mal bitte Deinen Blockly Export und den RAW des Trigger Datenpunktes.
                Wenn Du nur den Speak Baustein(mit dem gesamten Textbaustein) ohne Trigger nimmst, also aus dem Blockly rausziehst, dann geht es bei mir. Dann ist in Deinem gesamten Blockly was falsch.

                oberfragger 1 Reply Last reply Reply Quote 0
                • oberfragger
                  oberfragger @dslraser last edited by oberfragger

                  @dslraser Export vom Blockly

                  <xml xmlns="http://www.w3.org/1999/xhtml">
                    <block type="on" id="8715eV~RN{[[atjqp@A8" x="107" y="65">
                      <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.active.options.BSH_Common_Option_ProgramProgress</field>
                      <field name="CONDITION">ne</field>
                      <field name="ACK_CONDITION"></field>
                      <statement name="STATEMENT">
                        <block type="controls_if" id="i$4lS6+x-a-AN;|Wmh]X">
                          <value name="IF0">
                            <block type="logic_compare" id="v9co4T,*.REvm,*8J2i#">
                              <field name="OP">EQ</field>
                              <value name="A">
                                <block type="on_source" id="W?RA#KxD4^Kb9*?T7_h?">
                                  <field name="ATTR">state.val</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="text" id="B+(*%MY~j/GNKQIdmFM9">
                                  <field name="TEXT">100</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="control" id="Je-575z]PxkP_zFl(Z!U">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">alexa2.0.Echo-Devices.G090U509914419KQ.Commands.speak</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="text_join" id="@~B,i;x$I)8%Je^k*)DR">
                                  <mutation items="3"></mutation>
                                  <value name="ADD0">
                                    <block type="text" id="Q5Xjmj~g%]*WvRW4EvTX">
                                      <field name="TEXT">Hallo, Dein </field>
                                    </block>
                                  </value>
                                  <value name="ADD1">
                                    <block type="text_getSubstring" id="X|YKPo0/!GBgZ0^5z/2," inline="false">
                                      <mutation at1="true" at2="false"></mutation>
                                      <field name="WHERE1">FROM_START</field>
                                      <field name="WHERE2">LAST</field>
                                      <value name="STRING">
                                        <block type="get_value" id="p5%H5#w[it6WS9iE|tj[">
                                          <field name="ATTR">val</field>
                                          <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                        </block>
                                      </value>
                                      <value name="AT1">
                                        <block type="math_arithmetic" id="bF186|FznYoaFBx}io9o" inline="false">
                                          <field name="OP">ADD</field>
                                          <value name="A">
                                            <shadow type="math_number" id="A`TLz5Lbfgw;=mJOp}(^">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="text_indexOf" id="j1|aA3l$S=z^m.Ug8?B=" inline="false">
                                              <field name="END">LAST</field>
                                              <value name="VALUE">
                                                <block type="get_value" id="4}HZ*/+Ss/,Q?CV4P7Kh">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                                </block>
                                              </value>
                                              <value name="FIND">
                                                <shadow type="text" id="P5s;aJDPT*F;y(,VtRBs">
                                                  <field name="TEXT">abc</field>
                                                </shadow>
                                                <block type="text" id="Mir}i#n{YT[K@4t#)Q?v">
                                                  <field name="TEXT">.</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number" id="-9+`M14/p._`PvUM3`yk">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="math_number" id="I%mK$b3fzLFhu88Z[g?_">
                                              <field name="NUM">1</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="ADD2">
                                    <block type="text" id="-DS/R`ePW!paNc:WF^eT">
                                      <field name="TEXT"> ist fertig</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="debug" id="E;l%;geOn!|rdiT.sc5a">
                                  <field name="Severity">log</field>
                                  <value name="TEXT">
                                    <shadow type="text" id="Xs_M92/GAeD6l2|_Y~dT">
                                      <field name="TEXT">BSH_Common_Option_ProgramProgress_auf_100%</field>
                                    </shadow>
                                    <block type="text_join" id="Pl2tbDK3unWM,c-2~(po">
                                      <mutation items="3"></mutation>
                                      <value name="ADD0">
                                        <block type="text" id="1]-mr1)bwgU!2iJW7Gr-">
                                          <field name="TEXT">Hallo, Dein </field>
                                        </block>
                                      </value>
                                      <value name="ADD1">
                                        <block type="text_getSubstring" id="7_gd/nDVsY5t7X^aC(dH" inline="false">
                                          <mutation at1="true" at2="false"></mutation>
                                          <field name="WHERE1">FROM_START</field>
                                          <field name="WHERE2">LAST</field>
                                          <value name="STRING">
                                            <block type="get_value" id="u#1/@sb^88T:atE:rk+*">
                                              <field name="ATTR">val</field>
                                              <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                            </block>
                                          </value>
                                          <value name="AT1">
                                            <block type="math_arithmetic" id="L04we+5X]U^5?@Ua.Jr!" inline="false">
                                              <field name="OP">ADD</field>
                                              <value name="A">
                                                <shadow type="math_number" id="A`TLz5Lbfgw;=mJOp}(^">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="text_indexOf" id="7Hg3~{#zFgX^4e]iEu[/" inline="false">
                                                  <field name="END">LAST</field>
                                                  <value name="VALUE">
                                                    <block type="get_value" id="]}8EkT?*B-y[0%o4SU5_">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                                    </block>
                                                  </value>
                                                  <value name="FIND">
                                                    <shadow type="text" id="P5s;aJDPT*F;y(,VtRBs">
                                                      <field name="TEXT">abc</field>
                                                    </shadow>
                                                    <block type="text" id="pe(!(TuP#HoKY39*~{G+">
                                                      <field name="TEXT">.</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <shadow type="math_number" id="-9+`M14/p._`PvUM3`yk">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="math_number" id="cXVm+lfkz-m:|X#O5tQ2">
                                                  <field name="NUM">1</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <value name="ADD2">
                                        <block type="text" id="0WPrr.Q,}Mn2P{0-WrTW">
                                          <field name="TEXT"> ist fertig</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </statement>
                        </block>
                      </statement>
                      <next>
                        <block type="on" id="%Qry3R,F-w~eDWIZ;v~Q">
                          <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.events.ConsumerProducts_CoffeeMaker_Event_DripTrayFull</field>
                          <field name="CONDITION">ne</field>
                          <field name="ACK_CONDITION"></field>
                          <statement name="STATEMENT">
                            <block type="controls_if" id="s+uRRm_,=H?8|j|GSLrD">
                              <value name="IF0">
                                <block type="logic_compare" id="({v/UANZbItzMGQVz;PO">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="on_source" id="pecp$)zA!mFQ,:p2NR($">
                                      <field name="ATTR">state.val</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="text" id="9)#UKeJGU=0BXO9mzOft">
                                      <field name="TEXT">BSH.Common.EnumType.EventPresentState.Present</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="control" id=",,H!U35,2=48#DuW,!+$">
                                  <mutation delay_input="false"></mutation>
                                  <field name="OID">alexa2.0.Echo-Devices.G090U509914419KQ.Commands.speak</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="text_join" id="z|J(n/Z1m%yc,kWJUl=J">
                                      <mutation items="1"></mutation>
                                      <value name="ADD0">
                                        <block type="text" id="BqB=N.D1{}my3ZRt8o[6">
                                          <field name="TEXT">Bitte Tropfschale leeren.</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                            </block>
                          </statement>
                          <next>
                            <block type="on" id="j?sr8Kd.S/N@pQN(A1vt">
                              <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.events.ConsumerProducts_CoffeeMaker_Event_WaterTankEmpty</field>
                              <field name="CONDITION">ne</field>
                              <field name="ACK_CONDITION"></field>
                              <statement name="STATEMENT">
                                <block type="controls_if" id="8{?uPOLRWYL.d~nt8AUV">
                                  <value name="IF0">
                                    <block type="logic_compare" id="@tLM~A-j]@aUA@-Wt`C3">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="on_source" id="K4CbR^8njT!H]#RdQdqS">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="text" id=".uE~(4Ui~h(LX?VY}yHN">
                                          <field name="TEXT">BSH.Common.EnumType.EventPresentState.Present</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="control" id="y?HpJNT?9z_[/UhEvK-p">
                                      <mutation delay_input="false"></mutation>
                                      <field name="OID">alexa2.0.Echo-Devices.G090U509914419KQ.Commands.speak</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="text_join" id="t/y|E^|@|NJ`QM*vQMY2">
                                          <mutation items="1"></mutation>
                                          <value name="ADD0">
                                            <block type="text" id="VINF;n`EDeCMwW6JowOA">
                                              <field name="TEXT">Bitte Wassertank füllen.</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </statement>
                                </block>
                              </statement>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </xml>
                  

                  RAW vom Trigger (wie gesagt, der Trigger funktioniert. Eine Anage wie: Der Kaffee ist fertig." ist zuverlässig. Ich bin heir gerade dabei zu probieren... "Der Espresso ist fertig.")

                  {
                    "from": "system.adapter.homeconnect.0",
                    "user": "system.user.admin",
                    "ts": 1569475336110,
                    "common": {
                      "name": "BSH_Common_Option_ProgramProgress",
                      "type": "object",
                      "role": "indicator",
                      "unit": "%",
                      "write": true,
                      "read": true
                    },
                    "native": {},
                    "acl": {
                      "object": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator",
                      "state": 1636
                    },
                    "_id": "homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.active.options.BSH_Common_Option_ProgramProgress",
                    "type": "state"
                  }
                  
                  dslraser 1 Reply Last reply Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active @oberfragger last edited by dslraser

                    @oberfragger

                    Das Blockly funktioniert. In der Auswahl muß auch ein Kaffe stehen und nicht leer sein. Wähle mal einen Kaffee aus und stelle dann auf 100% im anderen Datenpunkt.

                    Bildschirmfoto 2019-12-28 um 23.35.03.png

                    Auswahl:
                    Bildschirmfoto 2019-12-28 um 23.40.36.png

                    <xml xmlns="http://www.w3.org/1999/xhtml">
                      <block type="on" id="8715eV~RN{[[atjqp@A8" x="107" y="65">
                        <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.active.options.BSH_Common_Option_ProgramProgress</field>
                        <field name="CONDITION">any</field>
                        <field name="ACK_CONDITION"></field>
                        <statement name="STATEMENT">
                          <block type="controls_if" id="i$4lS6+x-a-AN;|Wmh]X">
                            <value name="IF0">
                              <block type="logic_compare" id="v9co4T,.REvm,8J2i#">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="on_source" id="W?RA#KxD4^Kb9?T7_h?">
                                    <field name="ATTR">state.val</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="text" id="e,/w59t+MG?^V%`rA^*Q">
                                    <field name="TEXT">100</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="control" id="Je-575z]PxkP_zFl(Z!U">
                                <mutation delay_input="false"></mutation>
                                <field name="OID">alexa2.0.Echo-Devices.G0911B0592770T3W.Commands.speak</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="text_join" id="@~B,i;x$I)8%Je^k*)DR">
                                    <mutation items="3"></mutation>
                                    <value name="ADD0">
                                      <block type="text" id="Q5Xjmj~g%]WvRW4EvTX">
                                        <field name="TEXT">Hallo, Dein </field>
                                      </block>
                                    </value>
                                    <value name="ADD1">
                                      <block type="text_getSubstring" id="X|YKPo0/!GBgZ0^5z/2," inline="false">
                                        <mutation at1="true" at2="false"></mutation>
                                        <field name="WHERE1">FROM_START</field>
                                        <field name="WHERE2">LAST</field>
                                        <value name="STRING">
                                          <block type="get_value" id="p5%H5#w[it6WS9iE|tj[">
                                            <field name="ATTR">val</field>
                                            <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                          </block>
                                        </value>
                                        <value name="AT1">
                                          <block type="math_arithmetic" id="bF186|FznYoaFBx}io9o" inline="false">
                                            <field name="OP">ADD</field>
                                            <value name="A">
                                              <shadow type="math_number" id="ATLz5Lbfgw;=mJOp}(^">
                                                <field name="NUM">1</field>
                                              </shadow>
                                              <block type="text_indexOf" id="j1|aA3l$S=z^m.Ug8?B=" inline="false">
                                                <field name="END">LAST</field>
                                                <value name="VALUE">
                                                  <block type="get_value" id="4}HZ*/+Ss/,Q?CV4P7Kh">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                                  </block>
                                                </value>
                                                <value name="FIND">
                                                  <shadow type="text" id="P5s;aJDPT*F;y(,VtRBs">
                                                    <field name="TEXT">abc</field>
                                                  </shadow>
                                                  <block type="text" id="Mir}i#n{YT[K@4t#)Q?v">
                                                    <field name="TEXT">.</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <shadow type="math_number" id="-9+M14/p.PvUM3yk">
                                                <field name="NUM">1</field>
                                              </shadow>
                                              <block type="math_number" id="I%mK$b3fzLFhu88Z[g?">
                                                <field name="NUM">1</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="ADD2">
                                      <block type="text" id="-DS/RePW!paNc:WF^eT">
                                        <field name="TEXT"> ist fertig</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </statement>
                          </block>
                        </statement>
                      </block>
                    </xml>
                    
                    oberfragger 1 Reply Last reply Reply Quote 0
                    • oberfragger
                      oberfragger @dslraser last edited by oberfragger

                      @dslraser
                      Bild während der Heisswasserproduktion:
                      d1257bfb-36c9-4de5-aae4-fb0b177a1713-image.png
                      Logfile:
                      0b6de2f7-b24d-4c4f-bee8-823e0c48bb35-image.png

                      Wenn ich via App oder Bedienung das Programm (die Sorte) wechsel, dann wird das sofort an den Datenpunkt homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram

                      Hier nochmal der Code (falls ich vorhin zu wenig kopiert haben sollte):

                      {
                        "from": "system.adapter.homeconnect.0",
                        "user": "system.user.admin",
                        "ts": 1577572279045,
                        "common": {
                          "name": "BSH_Common_Root_SelectedProgram",
                          "type": "string",
                          "role": "indicator",
                          "write": true,
                          "read": true,
                          "states": {
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.Espresso": "Espresso",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.EspressoMacchiato": "Espresso Macchiato",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.Coffee": "Caffe Crema",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.Cappuccino": "Cappuccino",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.LatteMacchiato": "Latte Macchiato",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.CaffeLatte": "Milchkaffee",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.Ristretto": "Ristretto",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.MilkFroth": "Milchschaum",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.WarmMilk": "Warme Milch",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KleinerBrauner": "Kleiner Brauner",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.GrosserBrauner": "Großer Brauner",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Verlaengerter": "Verlängerter",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.VerlaengerterBraun": "Verlängerter braun",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.WienerMelange": "Wiener Melange",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.FlatWhite": "Flat White",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Cortado": "Cortado",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeCortado": "Café cortado",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeConLeche": "Café con leche",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeAuLait": "Café au lait",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Doppio": "Doppio",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Kaapi": "Kaapi",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KoffieVerkeerd": "Koffie verkeerd",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Galao": "Galão",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Garoto": "Garoto",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Americano": "Americano",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.RedEye": "Red Eye"
                          }
                        },
                        "native": {},
                        "acl": {
                          "object": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator",
                          "state": 1636
                        },
                        "_id": "homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram",
                        "type": "state"
                      }
                      
                      dslraser 2 Replies Last reply Reply Quote 0
                      • dslraser
                        dslraser Forum Testing Most Active @oberfragger last edited by dslraser

                        @oberfragger
                        Dieser DP wird ja in dem Blockly auch gar nicht ausgewertet, aber Dein Trigger wird gestartet.
                        Ich hatte nur diesen DP (BSH_Common_Root_SelectedProgram) und da ist der BlackTea gar nicht drinn.
                        Der DP, der im Blockly zur Sprachausgabe benutzt wird ist ein anderer, und der ist noch immer leer, daher wieder der gleiche Fehler.
                        (ich habe weder den Adapter noch das Gerät, also ich bin bei der Hilfe etwas "blind")

                        oberfragger 1 Reply Last reply Reply Quote 0
                        • oberfragger
                          oberfragger @dslraser last edited by

                          @dslraser Dank Dir auf jeden Fall. Aber da steht doch eindeutig etwas drin...!?!f4b35855-654d-478e-90f7-266313feb388-image.png

                          1 Reply Last reply Reply Quote 0
                          • dslraser
                            dslraser Forum Testing Most Active @oberfragger last edited by

                            @oberfragger

                            Welcher Datenpunkt ist es denn ?

                            BSH_Common_Root_SelectedProgram

                            oder

                            BSH_Common_Root_ActiveProgram

                            oberfragger 1 Reply Last reply Reply Quote 0
                            • oberfragger
                              oberfragger @dslraser last edited by

                              @dslraser ...selected.
                              100 PUNKTE! Boah. Ich bin heute Abend etwas blind gewesen. Mit diesem Active schlage ich mich schon bei der Dunstabzugshaube rum.
                              AArrgh... jetzt hab ichs.

                              Pass auf- die Implementierung ist wie folgt (genauso wie bei den anderen HomeconnectGeräten). Unter Active erscheint immer nur das gerade aktive Programm. Sobald das Gerät ausgeschaltet wird, oder das Programm zu Ende ist- verschwindet der Datenpunkt!

                              Hatte mir das bisher immer nur statisch angesehen und nicht bemerkt dass da zwischen selected und active im 100%-Fall geswitched wird... und danach dann wieder zurück.

                              In diesem Fall ist bei genau 100% der Datenpunkt NICHT gefüllt. Ich ändere Mal was am Trigger... dann kann das Script im wesentlichen m.E. so bleiben.

                              oberfragger 1 Reply Last reply Reply Quote 0
                              • oberfragger
                                oberfragger @oberfragger last edited by

                                @dslraser Danke für Deine Geduld und Textzerlegung!!!
                                Habe einfach einen Timeout davorgesetzt. Testweise erstmal 500ms. Denke das kann man bis auf 100 runterschrauben.
                                5db54ffa-f1b5-46c6-b242-dfdf18c07527-image.png

                                Alexa meint dazu:
                                54aeb389-61d4-4553-9008-f9f4941300a9-image.png

                                dslraser 2 Replies Last reply Reply Quote 0
                                • dslraser
                                  dslraser Forum Testing Most Active @oberfragger last edited by

                                  @oberfragger
                                  der angesagte Text ist der letzte hinter dem Punkt aus dem Pfad, nicht der "eingedeutschte" .
                                  Wie man den "Text" bekommt weiß ich im Moment auch nicht....

                                  oberfragger 1 Reply Last reply Reply Quote 0
                                  • dslraser
                                    dslraser Forum Testing Most Active @oberfragger last edited by dslraser

                                    @oberfragger
                                    also der hinter dem letzten Punkt wird angesagt.

                                    ConsumerProducts.CoffeeMaker.Program.Beverage.Espresso
                                    

                                    deshalb weicht das etwas ab.

                                    1 Reply Last reply Reply Quote 1
                                    • oberfragger
                                      oberfragger @dslraser last edited by oberfragger

                                      @dslraser So ist erstmal fein. HotWater trinken wir kaum. Kaffee Latte und Cappucino schon eher. Ich freue mich schon auf morgen früh- meine Frau wird Ihren Kaffe natürlich erst bekommen wenn Sie schon am Tisch sitzt 😉

                                      Denke für Heisswasser und warmer Milch muss man if/then reinbauen. Wieder was gelernt. Top!

                                      oberfragger 1 Reply Last reply Reply Quote 0
                                      • oberfragger
                                        oberfragger @oberfragger last edited by

                                        An eventuelle Mitleser... ich habe das nun über einen eigen Datenpunkt als temporäre Variable gelöst. Somit umschiffe ich timeouts...

                                        f5764482-0c18-466f-b3d3-f204701c8b2b-image.png

                                        dslraser 1 Reply Last reply Reply Quote 0
                                        • dslraser
                                          dslraser Forum Testing Most Active @oberfragger last edited by dslraser

                                          @oberfragger

                                          Hier noch zum Ansagen des "wirklichen Namens". Da ich den Adapter und die Geräte nicht habe, habe ich nur über Deinen Datenpunkt das Ansagen probiert, da hat es funktioniert. Die Funktion kannst Du ja in Dein Blockly importieren.

                                          Bildschirmfoto 2019-12-31 um 22.22.58.png

                                          <block xmlns="http://www.w3.org/1999/xhtml" type="procedures_defcustomreturn" id="7R:L*9?)7Wl^RqVg+G`q" x="13" y="13">
                                           <mutation statements="false">
                                             <arg name="id" varid="y}n5NpIEF{U9uP/AG}OB"></arg>
                                             <arg name="val" varid="u7#6,S]3U-LR0^kP5l]P"></arg>
                                           </mutation>
                                           <field name="NAME">Kaffeesorte</field>
                                           <field name="SCRIPT">aWYoZ2V0T2JqZWN0KGlkKS5jb21tb24uc3RhdGVzKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24uc3RhdGVzW3ZhbF07CnJldHVybiBpZCArICcgRGllc2VyIERhdGVucHVua3QgaGF0IGtlaW5lbiBadXN0YW5kICEnOw==</field>
                                           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                          </block>
                                          

                                          oberfragger ub.privat 2 Replies Last reply Reply Quote 1
                                          • oberfragger
                                            oberfragger @dslraser last edited by oberfragger

                                            @dslraser Das muss ich mir mal genauer ansehen. Im Moment ahbe ich da noch Fragezeichen... aber morgen ist in der Firma hoffentlich nichts los 😉

                                            Kannst Du das nochmal bitte exportieren- bei mir kommt nur das hier an:
                                            2688e8a0-9061-4958-baca-a493c00fb711-image.png

                                            Ich hoffe ich nerve nicht zu doll. Kann man sich gemäss des Wertes einen Datenpunkt zusammenbauen?
                                            -> Ich denek gerade dass ich die Statistikfunktion vielleicht abbilde.

                                            Mir geht es darum, im gleichen Block vielleicht dann den Datenpunkt "0_userdata.0.Kaffemaschine.val"+1 hochzuzählen.
                                            Hierbei soll val natürlich die entsprechende Kaffesorte sein. Oder löst man das anders?

                                            Wie gesagt: mit vielen If then würde man das ja auch erreichen. Aber das will ich ja (aktuell) nicht. In der Geräteliste ist die die Kaffeesorte bereits übersetzt...

                                            16430c64-a91b-46a8-b1fa-b0b5e46bc7b9-image.png

                                            dslraser 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            603
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            27
                                            1655
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo