Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Telegram Nachricht per Blockly mit Maps URL

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Telegram Nachricht per Blockly mit Maps URL

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

      Hi,

      ich möchte die Parkposition unseres Autos mir per Telegram schicken. Das Skript selbst funktioniert auch, nur ist es so, dass wenn ich die Google Maps URL zusammensetze aus

      https://www.google.com/maps/dir/?api=1&travelmode=driving&destination=
      

      und danach die Adresse als Variable hinzufüge, die URL in Telegram nicht komplett über den ganzen Adress-String geht:
      b3c896c0-cf36-4b5f-9a3c-04de5893b394-grafik.png

      Telegram interpretiert also den String nicht komplett als URL. Der href Tag funktioniert nicht. Ich habe auch schon versucht, um die URL einfache oder Doppelte Hochkommata zu setzen, ohne Erfolg.

      58f96d74-af28-4ae6-8692-d7ea4fa04494-grafik.png

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</variable>
          <variable id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</variable>
        </variables>
        <block type="on" id="arfc8W~NQO8mOgp,-o1[" x="38" y="-37">
          <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field>
          <field name="CONDITION">true</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="variables_set" id="KaKowXG;}.;Js/{k#v=F">
              <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field>
              <value name="VALUE">
                <block type="convert_tostring" id="*p.2?GDkROlo9!(ykRUd">
                  <value name="VALUE">
                    <block type="text_join" id="B_rFnN$mqKsi!tlT)QZ{">
                      <mutation items="2"></mutation>
                      <value name="ADD0">
                        <block type="text" id="6I3usZm_~DPvU:~Kvf.,">
                          <field name="TEXT">https://www.google.com/maps/dir/?api=1&amp;travelmode=driving&amp;destination=</field>
                        </block>
                      </value>
                      <value name="ADD1">
                        <block type="get_value" id="z4eGh_bvd7~0}9p|FA2/">
                          <field name="ATTR">val</field>
                          <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
              <next>
                <block type="variables_set" id="D1t8NP%UpC:|=FjOv4]_">
                  <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field>
                  <value name="VALUE">
                    <block type="text_join" id="c}-H~a{p-$:u^,;PLHfv">
                      <mutation items="5"></mutation>
                      <value name="ADD0">
                        <block type="text" id="rlfw;e]ydU7,2v|amu1@">
                          <field name="TEXT">Das Auto steht an folgender Adresse: </field>
                        </block>
                      </value>
                      <value name="ADD1">
                        <block type="get_value" id="L{PM1sVH#c,D@Z3*e?J[">
                          <field name="ATTR">val</field>
                          <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field>
                        </block>
                      </value>
                      <value name="ADD2">
                        <block type="text_newline" id="F~TfduOZ-}6+M+dGhF/j">
                          <field name="Type">\n</field>
                        </block>
                      </value>
                      <value name="ADD3">
                        <block type="text" id="YL$EDOe`D0]l#8W(@SAN">
                          <field name="TEXT">Google Maps Link: </field>
                        </block>
                      </value>
                      <value name="ADD4">
                        <block type="variables_get" id=".sxStq[Ym7ESR#2dC*e5">
                          <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="telegram" id="ZvjT~MoV!f}?J7!!#w;I">
                      <field name="INSTANCE"></field>
                      <field name="LOG"></field>
                      <field name="SILENT">FALSE</field>
                      <field name="PARSEMODE">HTML</field>
                      <field name="ESCAPING">FALSE</field>
                      <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                      <value name="MESSAGE">
                        <shadow type="text" id="#h6bwfnQq]](i6.D.|k0">
                          <field name="TEXT">text</field>
                        </shadow>
                        <block type="variables_get" id="Vq/4]P0,LSVAzDw|G,wy">
                          <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field>
                        </block>
                      </value>
                      <next>
                        <block type="update" id="pZO+JnCM@h4W#o.1.k!m">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="fPvjs^a$/{|d/*GMP{=k">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </xml>
      

      Die Suche hat leider keinen Erfolg gebracht 😞

      Hat jemand einen Tipp?

      Danke!

      BananaJoe 1 Reply Last reply Reply Quote 0
      • BananaJoe
        BananaJoe Most Active @mading last edited by BananaJoe

        @mading naja, da stehen Leezeichen in der Adresse

        https://www.google.com/maps/dir/?api=1&travelmode=driving&destination=Meisenweg 17, 28832 Achim, Deutschland
        

        geht nicht - weil Leerzeichen in URLs nicht erlaubt sind. Die müssen weg. In URLs gibt es verschiedene Wege diese zu "maskieren",
        ich nehme normalerweise %20, also jedes Leerzeichen durch %20 ersetzen:

        https://www.google.com/maps/dir/?api=1&travelmode=driving&destination=Meisenweg%2017,%2028832%20Achim,%20Deutschland
        

        funktioniert bei mir

        M 2 Replies Last reply Reply Quote 1
        • M
          mading @BananaJoe last edited by

          @bananajoe 🤦🏻‍♂️ oh mann, stimmt. Hätt ich auch drauf kommen können. Hatte es via Hochkommata versucht. Danke dir!

          1 Reply Last reply Reply Quote 0
          • M
            mading @BananaJoe last edited by

            @bananajoe jetzt muss ich doch nochmal nachfragen:
            Ich habe die JS Funktion encodeURI gefunden und versucht, die URL damit zu enkodieren, damit Leerzeichen entfernt werden:

            aee91921-142b-4cec-8b9f-21bea3bb25eb-grafik.png.

            Die Funktion selbst hat die Eingabevariable "Eingabe", nur wird sie nicht kodiert und sieht noch gleich aus wie oben.

            6fbfe6b9-74f9-4d76-969a-9363fc48be03-grafik.png

            <xml xmlns="https://developers.google.com/blockly/xml">
              <variables>
                <variable id="D0xbmV)s797sLt{_RI+N">Eingabe</variable>
                <variable id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</variable>
                <variable id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</variable>
              </variables>
              <block type="procedures_defcustomreturn" id="112?fBKH/J|g-{/v2(]J" x="38" y="-112">
                <mutation statements="false">
                  <arg name="Eingabe" varid="D0xbmV)s797sLt{_RI+N"></arg>
                </mutation>
                <field name="NAME">EncodeURI</field>
                <field name="SCRIPT">ZnVuY3Rpb24gZW5jb2RlVVJJKEVpbmdhYmUpew0KDQogICAgcmV0dXJuIGVuY29kZVVSSShFaW5nYWJlKTsNCg0KfQ==</field>
                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              </block>
              <block type="on" id="arfc8W~NQO8mOgp,-o1[" x="38" y="-37">
                <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field>
                <field name="CONDITION">true</field>
                <field name="ACK_CONDITION"></field>
                <statement name="STATEMENT">
                  <block type="variables_set" id="%v*cjB[M(Ko*C]9WPC-5">
                    <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field>
                    <value name="VALUE">
                      <block type="procedures_callcustomreturn" id="RuyR~Zi10{k3*WV`MFzQ">
                        <mutation name="EncodeURI">
                          <arg name="Eingabe"></arg>
                        </mutation>
                        <value name="ARG0">
                          <block type="text_join" id="B_rFnN$mqKsi!tlT)QZ{">
                            <mutation items="2"></mutation>
                            <value name="ADD0">
                              <block type="text" id="6I3usZm_~DPvU:~Kvf.,">
                                <field name="TEXT">https://www.google.com/maps/dir/?api=1&amp;travelmode=driving&amp;destination=</field>
                              </block>
                            </value>
                            <value name="ADD1">
                              <block type="get_value" id="z4eGh_bvd7~0}9p|FA2/">
                                <field name="ATTR">val</field>
                                <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                    <next>
                      <block type="variables_set" id="D1t8NP%UpC:|=FjOv4]_">
                        <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field>
                        <value name="VALUE">
                          <block type="text_join" id="c}-H~a{p-$:u^,;PLHfv">
                            <mutation items="5"></mutation>
                            <value name="ADD0">
                              <block type="text" id="rlfw;e]ydU7,2v|amu1@">
                                <field name="TEXT">Das Auto steht an folgender Adresse: </field>
                              </block>
                            </value>
                            <value name="ADD1">
                              <block type="get_value" id="L{PM1sVH#c,D@Z3*e?J[">
                                <field name="ATTR">val</field>
                                <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field>
                              </block>
                            </value>
                            <value name="ADD2">
                              <block type="text_newline" id="F~TfduOZ-}6+M+dGhF/j">
                                <field name="Type">\n</field>
                              </block>
                            </value>
                            <value name="ADD3">
                              <block type="text" id="YL$EDOe`D0]l#8W(@SAN">
                                <field name="TEXT">Google Maps Link: </field>
                              </block>
                            </value>
                            <value name="ADD4">
                              <block type="variables_get" id=".sxStq[Ym7ESR#2dC*e5">
                                <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <next>
                          <block type="telegram" id="ZvjT~MoV!f}?J7!!#w;I">
                            <field name="INSTANCE"></field>
                            <field name="LOG"></field>
                            <field name="SILENT">FALSE</field>
                            <field name="PARSEMODE">HTML</field>
                            <field name="ESCAPING">FALSE</field>
                            <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                            <value name="MESSAGE">
                              <shadow type="text" id="#h6bwfnQq]](i6.D.|k0">
                                <field name="TEXT">text</field>
                              </shadow>
                              <block type="variables_get" id="Vq/4]P0,LSVAzDw|G,wy">
                                <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field>
                              </block>
                            </value>
                            <next>
                              <block type="update" id="pZO+JnCM@h4W#o.1.k!m">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="fPvjs^a$/{|d/*GMP{=k">
                                    <field name="BOOL">FALSE</field>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </xml>
            

            Gibt es eine andere/ bessere Möglichkeit die Leerzeichen durch entsprechende Zeichenketten zu maskieren?

            BananaJoe 1 Reply Last reply Reply Quote 0
            • BananaJoe
              BananaJoe Most Active @mading last edited by BananaJoe

              Also wenn du eine JavaScript-Function anlegst und diese damit genauso nennst wie den Befehl den du darin aufrufst ... das kann einfach nicht klappen. Nenne deine Funktion anders, dann wirst du darin auch den Befehl aufrufen könne. So ruft die Funktion doch sich selbst auf, sollte eine Warnung im Log gegeben haben oder der JavaScript-Adapter hat sich weggeschossen wegen Endlosschleife

              1 Reply Last reply Reply Quote 0
              • M
                mading last edited by

                @bananajoe ok, danke. Die Variable bleibt dennoch leer. Stimmt was mit der Javascript Funktion nicht (Eingabe Parameter und Rückgabe? Das encoden der URL klappt leider nicht, ich habe mal testweise den Return String ausgeben lassen. Hättest du noch einen Tipp?

                b0aae769-3f92-436a-9736-9735e030a272-image.png

                13bc1ead-3bcf-4412-9527-c2f8eec2ba9d-image.png

                <xml xmlns="https://developers.google.com/blockly/xml">
                  <variables>
                    <variable id="D0xbmV)s797sLt{_RI+N">Eingabe</variable>
                    <variable id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</variable>
                    <variable id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</variable>
                  </variables>
                  <block type="procedures_defcustomreturn" id="112?fBKH/J|g-{/v2(]J" x="38" y="-112">
                    <mutation statements="false">
                      <arg name="Eingabe" varid="D0xbmV)s797sLt{_RI+N"></arg>
                    </mutation>
                    <field name="NAME">url</field>
                    <field name="SCRIPT">ZnVuY3Rpb24gdXJsKEVpbmdhYmUpew0KDQogICAgcmV0dXJuIGVuY29kZVVSSShFaW5nYWJlKTsNCg0KfQ==</field>
                    <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                  </block>
                  <block type="on" id="arfc8W~NQO8mOgp,-o1[" x="38" y="-37">
                    <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field>
                    <field name="CONDITION">true</field>
                    <field name="ACK_CONDITION"></field>
                    <statement name="STATEMENT">
                      <block type="variables_set" id="%v*cjB[M(Ko*C]9WPC-5">
                        <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field>
                        <value name="VALUE">
                          <block type="procedures_callcustomreturn" id="RuyR~Zi10{k3*WV`MFzQ">
                            <mutation name="url">
                              <arg name="Eingabe"></arg>
                            </mutation>
                            <value name="ARG0">
                              <block type="text_join" id="B_rFnN$mqKsi!tlT)QZ{">
                                <mutation items="2"></mutation>
                                <value name="ADD0">
                                  <block type="text" id="6I3usZm_~DPvU:~Kvf.,">
                                    <field name="TEXT">https://www.google.com/maps/dir/?api=1&amp;travelmode=driving&amp;destination=</field>
                                  </block>
                                </value>
                                <value name="ADD1">
                                  <block type="get_value" id="z4eGh_bvd7~0}9p|FA2/">
                                    <field name="ATTR">val</field>
                                    <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                        <next>
                          <block type="variables_set" id="D1t8NP%UpC:|=FjOv4]_">
                            <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field>
                            <value name="VALUE">
                              <block type="text_join" id="c}-H~a{p-$:u^,;PLHfv">
                                <mutation items="5"></mutation>
                                <value name="ADD0">
                                  <block type="text" id="rlfw;e]ydU7,2v|amu1@">
                                    <field name="TEXT">Das Auto steht an folgender Adresse: </field>
                                  </block>
                                </value>
                                <value name="ADD1">
                                  <block type="get_value" id="L{PM1sVH#c,D@Z3*e?J[">
                                    <field name="ATTR">val</field>
                                    <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field>
                                  </block>
                                </value>
                                <value name="ADD2">
                                  <block type="text_newline" id="F~TfduOZ-}6+M+dGhF/j">
                                    <field name="Type">\n</field>
                                  </block>
                                </value>
                                <value name="ADD3">
                                  <block type="text" id="YL$EDOe`D0]l#8W(@SAN">
                                    <field name="TEXT">Google Maps Link: </field>
                                  </block>
                                </value>
                                <value name="ADD4">
                                  <block type="variables_get" id=".sxStq[Ym7ESR#2dC*e5">
                                    <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <next>
                              <block type="telegram" id="ZvjT~MoV!f}?J7!!#w;I">
                                <field name="INSTANCE"></field>
                                <field name="LOG"></field>
                                <field name="SILENT">FALSE</field>
                                <field name="PARSEMODE">HTML</field>
                                <field name="ESCAPING">FALSE</field>
                                <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                                <value name="MESSAGE">
                                  <shadow type="text" id="#h6bwfnQq]](i6.D.|k0">
                                    <field name="TEXT">text</field>
                                  </shadow>
                                  <block type="variables_get" id="Vq/4]P0,LSVAzDw|G,wy">
                                    <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="update" id="pZO+JnCM@h4W#o.1.k!m">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id="fPvjs^a$/{|d/*GMP{=k">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </statement>
                  </block>
                </xml>
                
                BananaJoe 1 Reply Last reply Reply Quote 0
                • BananaJoe
                  BananaJoe Most Active @mading last edited by BananaJoe

                  @mading deine Funktion ist falsch, die muss so lauten:

                  return encodeURI(s_OriginalURL);
                  

                  Also:

                  2958b2de-e276-4ca0-9329-0ce795e94eea-image.png
                  Das ist schon eine Funktion, da musst du nicht extra function reinschreiben, das drumherum ist schon da. Du hast eine Funktion innerhalb einer Funktion gebaut.
                  69b85a30-0a19-4c98-96f7-a9d8aea4ff2b-image.png

                  <xml xmlns="https://developers.google.com/blockly/xml">
                    <variables>
                      <variable id="_i3+`y*Zv/8N|GPU%f_R">s_OriginalURL</variable>
                      <variable id="qv]UG#.^Y%h9;`D-6vo2">meineURL</variable>
                    </variables>
                    <block type="procedures_defcustomreturn" id="O/kPa$hWu*Sqkh^uJL[)" x="63" y="62">
                      <mutation statements="false">
                        <arg name="s_OriginalURL" varid="_i3+`y*Zv/8N|GPU%f_R"></arg>
                      </mutation>
                      <field name="NAME">funcURLumwandeln</field>
                      <field name="SCRIPT">cmV0dXJuIGVuY29kZVVSSShzX09yaWdpbmFsVVJMKTs=</field>
                      <comment pinned="false" h="80" w="160">Describe this function...</comment>
                    </block>
                    <block type="variables_set" id="R_FBc$0TVGxjh.fy7/gt" x="63" y="113">
                      <field name="VAR" id="qv]UG#.^Y%h9;`D-6vo2">meineURL</field>
                      <value name="VALUE">
                        <block type="text" id="5dOL_vWVbiP:ePx%t7,7">
                          <field name="TEXT">https://www.google.com/maps/dir/?api=1&amp;travelmode=driving&amp;destination=Meisenweg 17, 28832 Achim, Deutschland</field>
                        </block>
                      </value>
                      <next>
                        <block type="debug" id="-8E80K=QH;bbj]Pj(BMy">
                          <field name="Severity">warn</field>
                          <value name="TEXT">
                            <shadow type="text" id="Gc.bzc5TkFNGRBh,,3Rt">
                              <field name="TEXT">test</field>
                            </shadow>
                            <block type="procedures_callcustomreturn" id="F_Vtxc$t{sKwK`#^DVvn">
                              <mutation name="funcURLumwandeln">
                                <arg name="s_OriginalURL"></arg>
                              </mutation>
                              <value name="ARG0">
                                <block type="variables_get" id="-a;4^+nN*6;0hs)zT|e-">
                                  <field name="VAR" id="qv]UG#.^Y%h9;`D-6vo2">meineURL</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </next>
                    </block>
                  </xml>
                  
                  M 1 Reply Last reply Reply Quote 1
                  • M
                    mading @BananaJoe last edited by

                    @bananajoe top danke, funktioniert!

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    879
                    Online

                    32.0k
                    Users

                    80.5k
                    Topics

                    1.3m
                    Posts

                    2
                    8
                    514
                    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