Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wie kann ich mit Blockly Variablen Ansagen lassen?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Wie kann ich mit Blockly Variablen Ansagen lassen?

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

      Hallo,

      ich möchte gerne mit Blockly mehrere Werte aus Variablen in ANsagen lassen.

      Beispiel: Die Außentemperatur zur Zeit und danach die Maximale Temperatur dieses Tages gemeldet.

      Nun fehlt mir der Ansatz dafür.

      Ich habe schon einige Varianten durchgespielt, aber leider bisher nicht die richtigen Bausteine gefunden:

      Wenn 10:00 Uhr dann -> Wert aus Variabble hinter folgenden festen Text schreiben: Die Außentemperatur beträgt "…."

      Danach -> Wert aus Variable Max Temperatur hinter den Oben genannten Text

      Und zu guter letzt dann die Übergabe in Sayit...

      Vielleicht kann jemand mal seinen Ansatz posten damit ich weiter komme... Ich freue mich wenn jemand weiterhelfen kann...

      Gruß Sven

      1 Reply Last reply Reply Quote 0
      • S
        Sven_Tengeler last edited by

        Ich nochmal:-)

        nutzt niemand so etwas in Blockly wo ich ein wenig anschauen kann?

        Gruß Sven

        Gesendet von iPhone mit Tapatalk

        1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators last edited by

          @Sven_Tengeler:

          Ich nochmal:-)

          nutzt niemand so etwas in Blockly wo ich ein wenig anschauen kann?

          Gruß Sven

          Gesendet von iPhone mit Tapatalk `

          in etwa sowas ? (setzen der variable musst du noch hinzufuegen, per cron wird immer im 10 uhr die meldung generiert geht auch in einem job zu zeiten welche du willst, ich habe anstatt sayit pushover hier genommen:

          979_ansage_variable.jpg

          den cron blok kannst du die zeiten einstellen:

          z.b.

          979_cron.jpg

          im spoiler der code, speicher als tekst und dan importieren damit has du dein beispiel:

          ! ````
          <block xmlns="http://www.w3.org/1999/xhtml" type="schedule" id="1F2,Sd?j3LNl;/Sw[V0B" x="162.99999999999977" y="112.99999332427961"><field name="SCHEDULE">* 10 * * *</field>
          <statement name="STATEMENT"><block type="pushover" id="3ZVQKPn@M43cEV/1@fE?"><field name="PRIORITY">0</field>

            <value name="MESSAGE"><shadow type="text" id="I[+mn8:Rdlow*qLl9G5B"><field name="TEXT">text</field></shadow> 
              <block type="text_join" id="LzeFaP2LLXvcc=E7Iegu"><mutation items="2"></mutation>
                <value name="ADD0"><block type="text" id="3OEsg#|NHjxZ`z_ve.%U"><field name="TEXT">Die Außentemperatur beträgt</field></block></value> 
                <value name="ADD1"><block type="variables_get" id="aA*uk1Bexaccnx)Fj)3X"><field name="VAR">Max_Temperatur</field></block></value></block></value></block></statement></block> 
          

          ! ````

          edit hier der block zum setzen variable, du kannst die value of object id aber auch direct and den obigen block verkuepfen.

          Kannst die temperatuur ja direct auslesen anstatt erst in eine varible:

          979_temp.jpg

          edit 2:

          so mal bisschen rumgespielt wollte sowieso noch was wieder mit sayit machen. Ich glaube das hier ist was du suchst ?

          blockey sagt zwischen 9-18 jede stunde die jetzige temperatur an + die max des tages aus einer variable, diese musst du noch einen wert geben:

          979_beispiel_1.jpg

          Code den du importieren kannst:

          ! ````
          <xml xmlns="http://www.w3.org/1999/xhtml"><block type="schedule" id="1F2,Sd?j3LNl;/Sw[V0B" x="88" y="38"><field name="SCHEDULE">* 9-18 * * *</field>
          <statement name="STATEMENT"><block type="sayit" id="dVZU^j.JXhevKw~{6ykA"><field name="INSTANCE">.0</field>
          <field name="LANGUAGE">de</field>

              <value name="MESSAGE"><shadow type="text" id="F6o}j+6vwC7}V!090eAl"><field name="TEXT">text</field></shadow> 
                <block type="text_join" id="LzeFaP2LLXvcc=E7Iegu"><mutation items="4"></mutation>
                  <value name="ADD0"><block type="text" id="3OEsg#|NHjxZ`z_ve.%U"><field name="TEXT">Die Außentemperatur beträgt</field></block></value> 
                  <value name="ADD1"><block type="get_value" id="bag@b!dL_wV#9x~V,L|9"><field name="ATTR">val</field>
                      <field name="OID">select ID</field></block></value> 
                  <value name="ADD2"><block type="text" id="an6ZrJHkBsBz#gA5B^:N"><field name="TEXT">die Maximale Temperatur dieses Tages war</field></block></value> 
                  <value name="ADD3"><block type="variables_get" id="Xy*HaS3XU0){s*k,(l}7"><field name="VAR">Max_Temperatur</field></block></value></block></value></block></statement></block></xml> 
          

          ! ````

          1 Reply Last reply Reply Quote 1
          • S
            Sven_Tengeler last edited by

            Hey danke, das probiere ich gleich mal aus und melde mich.

            Vielen Dank Gruß Sven

            Gesendet von iPhone mit Tapatalk

            1 Reply Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators last edited by

              @Sven_Tengeler:

              Hey danke, das probiere ich gleich mal aus und melde mich.

              Vielen Dank Gruß Sven

              Gesendet von iPhone mit Tapatalk `

              sag mal bescheit was rauskommt 🙂

              Bin grade selber am spielen und glaube einen bug gefunden zu haben. Wen ich einen wert mit "-", also z.b. jetzige aussentemperatur -3, im script benutzte klappt das nicht. log:

              javascript.0	2017-01-06 20:24:55.339	info	Stop script script.js.Testing.Test_Blockly
              sayit.0	2017-01-06 20:24:34.811	error	Cannot get file: received file is too short
              sayit.0	2017-01-06 20:24:34.742	info	saying: Die Außentemperatur beträgt "-3
              
              

              machen ich dasselber mit der Wohnimmertemperatur klappt das

              Edit: eh komisch, jetzt geht es doch mit dem -3 grad …. egal

              1 Reply Last reply Reply Quote 0
              • S
                Sven2013 last edited by

                Hey Dutchman,

                vielen Dank für deine Hilfe. Es funktioniert genau so wie du es geschrieben hast. Dabei habe ich festegestellt, das Ich fast alles so Ansagen / schicken lassen kann.

                Allerdings geht eins bei mir nicht. Ich kann kein Json Objekt mitschicken. Also Einträge aus ICal lassen sich so nicht verschicken. Weißt du ob ich diese irgenwie in "lesbares wandeln" kann?

                Hier das Telegramscript dür die DWD Nachrichten:

                ! schedule("* * * * *", function () {
                ! if (getState("dwd.0.warning.severity").val != 0) {
                ! sendTo("telegram", "send", {
                ! text: (['Achtung! Es gibt eine aktuelle Wetterwarnung! ',getState("dwd.0.warning.headline").val,' - ',getState("dwd.0.warning.description").val,' - ',getState("dwd.0.warning.begin").val,' bis ',getState("dwd.0.warning.end").val].join(''))
                ! });
                ! }
                ! });
                ! //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnNjaGVkdWxlJTIyJTIwaWQlM0QlMjJmYVFHSEREV3NEfiUzRnBNd0k4czdkJTIyJTIweCUzRCUyMjg4JTIyJTIweSUzRCUyMjYzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NIRURVTEUlMjIlM0UqJTIwKiUyMColMjAqJTIwKiUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIlNjB+JTVFZCUzQS5VKCUzQiUzRiUyNTFyWSouNnFDJTQwJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyMFJKUGxIMU1xSm8lMkN3ZzkqJTNEQTglMjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU5FUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyUypVJTJDQVYhM1RzMSUzQkklNUUuWjElMjV3aCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWR3ZC4wLndhcm5pbmcuc2V2ZXJpdHklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMnpRUDkhUn55cWEhM21lRF8lM0F5Q0wlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZWxlZ3JhbSUyMiUyMGlkJTNEJTIyJTVFaXR5UiUyQzgzViU3QmJELVJlM21Jby0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJJTlNUQU5DRSUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTE9HJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJNRVNTQUdFJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMilyQm0oJTQwU002JTYwQlhJTWQlMkNMJTVFSDYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFRGllJTIwbWF4aW1hbGUlMjBBdSVDMyU5RmVudGVtcGVyYXR1ciUyMGJldHIlQzMlQTRndCUyMGhldXRlJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMiU1QnNuM3glMkYlM0Ftdjl6RzhiaUxKLVcxJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjglMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJXaXUyQSpzY2MoeFJZMHhiJTJCJTNCQSUzQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VBY2h0dW5nISUyMEVzJTIwZ2lidCUyMGVpbmUlMjBha3R1ZWxsZSUyMFdldHRlcndhcm51bmchJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyVS05RF9oaWwySCUyM19FbHExNmE3ISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWR3ZC4wLndhcm5pbmcuaGVhZGxpbmUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyOS4lM0ElM0ElM0FjcktOLiUyNW4lN0QqRUxxJTJGLTYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTIwLSUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDMlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMl80RDNUd3A2QXc5JTdETmpQUWclNDBRZSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWR3ZC4wLndhcm5pbmcuZGVzY3JpcHRpb24lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ0JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTNESjlOVmxwX2FsS19LJTYwa3dBKEtxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyMC0lMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ1JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJ3NUp6eCU2MDFOS2JVREZfaWl4eVBVJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZHdkLjAud2FybmluZy5iZWdpbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDYlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJCeExkYWhZTjAlNjBfJTJGJTIza29USCU0MFQ0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyMGJpcyUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDclMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMkJ+SVMlNjBZOXl2ViU2MFgzKCUyQk9jUCU1RTAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vkd2QuMC53YXJuaW5nLmVuZCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=

                576_dwd.jpg

                Gruß Sven

                1 Reply Last reply Reply Quote 0
                • Dutchman
                  Dutchman Developer Most Active Administrators last edited by

                  @Sven2013:

                  Allerdings geht eins bei mir nicht. Ich kann kein Json Objekt mitschicken. Also Einträge aus ICal lassen sich so nicht verschicken. Weißt du ob ich diese irgenwie in "lesbares wandeln" kann? `

                  Kein dir ein beispiel geben wie ich einen MQTT JSON query auslese und die werte in variablen und log schreibe.

                  Input MQTT:

                  { "Battery" : 255, "RSSI" : 7, "dtype" : "Lighting 2", "id" : "14879AA", "idx" : 2, "name" : "Deurbel_Voor", "nvalue" : 1, "stype" : "AC", "svalue1" : "OFF", "switchType" : "Doorbell", "unit" : 1}
                  

                  Hieraus hohle ich mir die werte | val | name | und schreibe sie in variabelen + log:

                  //Read value at update on MQTT trigger
                  on({id: RegExp("javascript.0.domoticz."), change: "any"}, function (obj) {
                      var name = obj.name;
                      var value = (getState(id).val);
                      log (value);
                      log (name);
                  //    log("request: " + 'http://192.168.1.134:8084/json.htm?type=command¶m=switchlight&idx=7&switchcmd=On');   
                  
                  });
                  
                  

                  Resultat:

                  20:38:41.433	[info]	javascript.0 script.js.common.Domoticz_Switch: 1
                  20:38:41.433	[info]	javascript.0 script.js.common.Domoticz_Switch: Domoticz Deurbel_Voor
                  
                  

                  Vielleicht hilft das ? 🙂

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  1.1k
                  Online

                  31.7k
                  Users

                  79.7k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  2823
                  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