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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Wie kann ich mit Blockly Variablen Ansagen lassen?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Wie kann ich mit Blockly Variablen Ansagen lassen?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 3 Kommentatoren 3.0k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    Sven2013
    schrieb am zuletzt editiert von
    #1

    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 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      Sven_Tengeler
      schrieb am zuletzt editiert von
      #2

      Ich nochmal:-)

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

      Gruß Sven

      Gesendet von iPhone mit Tapatalk

      1 Antwort Letzte Antwort
      0
      • DutchmanD Offline
        DutchmanD Offline
        Dutchman
        Developer Most Active Administrators
        schrieb am zuletzt editiert von
        #3

        @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 Antwort Letzte Antwort
        1
        • S Offline
          S Offline
          Sven_Tengeler
          schrieb am zuletzt editiert von
          #4

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

          Vielen Dank Gruß Sven

          Gesendet von iPhone mit Tapatalk

          1 Antwort Letzte Antwort
          0
          • DutchmanD Offline
            DutchmanD Offline
            Dutchman
            Developer Most Active Administrators
            schrieb am zuletzt editiert von
            #5

            @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 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Sven2013
              schrieb am zuletzt editiert von
              #6

              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 Antwort Letzte Antwort
              0
              • DutchmanD Offline
                DutchmanD Offline
                Dutchman
                Developer Most Active Administrators
                schrieb am zuletzt editiert von
                #7

                @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 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                647

                Online

                32.6k

                Benutzer

                82.0k

                Themen

                1.3m

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

                • Du hast noch kein Konto? Registrieren

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