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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly Script für Wetteransage

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Blockly Script für Wetteransage

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
11 Beiträge 4 Kommentatoren 2.2k Aufrufe
  • Ä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.
  • rantanplanR Offline
    rantanplanR Offline
    rantanplan
    schrieb am zuletzt editiert von
    #2

    @mandragora:

    Könnte ich das mit Blockly und Sayit so wie hier gedacht realisieren oder nicht ? `
    Einfach mal ausprobieren :roll:
    @mandragora:

    Bin für alle eure Vorschläge offen. `

    Bitte schön ;)
    147_beispiel.png

    Grüße

    Rantanplan

    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      tempestas
      schrieb am zuletzt editiert von
      #3

      Blockly kann ich nicht, aber aus dem "Müll" Topic kannst du dir passende Skriptteile raussuchen.

      Also die Antwort ist "ja, geht". Habe ich nämlich selber auch umgesetzt. Morgens im Bad BWM als Auslöser, Ansage mit Wetter, Uhrzeit, Terminen des Tages geht los. Da kannst du ohne Probleme noch Wind und Co aufnehmen. Ich habe bei mir lediglich aktuelle Temperatur und Maxtemperatur sowie, ob und wann es binnen der nächsten 24 Std regnen soll (wichtig für meine Frau, ob sie Fahrrad oder Auto zur Arbeit fährt). Aber das ist beliebig erweiterbar.

      Leider ist mein Pi tot (der NUC ist gerade angekommen, hurra). Ich kann dir also nicht mein volles Skript geben, zumindest nicht jetzt. Vielleicht aber schon morgen, wenn ich den NUC zum laufen bekomme. Kenne mich damit leider noch nicht aus :)

      Edit:

      guckst du hier:

      http://forum.iobroker.net/viewtopic.php … 100#p64738

      Das Skript dort ist aber nicht vollständig. Funktioniert, aber nicht mit allen Teilen wie oben genannt.

      <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        mandragora
        schrieb am zuletzt editiert von
        #4

        Hallo Ihr beiden.

        Danke erstmals für die Antworten.

        @rantanplan

        Danke fürs anstoßen.

        Hab das gestern so in der Art auch schon probiert gehabt aber hab da einen Denkfehler gehabt.

        So wie ich dein Blockly gesehen habe hats gefunkt :)

        Werde es mal so probieren.

        Vielen Dank nochmals

        lg

        mandragora

        ioBroker auf Synology DS218+ (Docker); VIS: 2x8" Tablets; Homematic CCU2 und Komponenten; Echo DOT; Unifi Ap-Ac Pro; Landroid S; Jovision IPCams

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          mandragora
          schrieb am zuletzt editiert von
          #5

          Hallo Leute,

          Hab noch eine kleine Frage bei der ich aktuell nicht weiterkomme.

          Hab zum testen mal ein kleines Blockly Script gemacht.

          Funktioniert soweit gut jedoch werden mir die Sätze und Werte in einem durch vorgelesen ohne Pause.

          Habe schon einiges probiert und gesucht wie ich hier eine Pause zwischen den Sätzen einfügen könnte aber irgendwie finde ich nix passendes und komme an dieser Stelle nicht weiter.

          Kann mir jemand eventuell sagen wie ich das machen kann.

          DAnke schon mal

          lg

          mandragora
          3209_2017-09-29_17h35_32.jpg

          ioBroker auf Synology DS218+ (Docker); VIS: 2x8" Tablets; Homematic CCU2 und Komponenten; Echo DOT; Unifi Ap-Ac Pro; Landroid S; Jovision IPCams

          1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            tempestas
            schrieb am zuletzt editiert von
            #6

            Nimm mal Satzzeichen mit auf in deine manuellen Textbausteine. Das sollte helfen

            <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

            1 Antwort Letzte Antwort
            0
            • rantanplanR Offline
              rantanplanR Offline
              rantanplan
              schrieb am zuletzt editiert von
              #7

              Ich würde die Ansage in eine Funktion legen.

              Ist flexibler und man kann Gimmiks einbauen.
              147_beispiel.png

              Export

              ! ````
              <xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defnoreturn" id="faEx:oBOX:pd*gUqbV_7" x="212" y="88"><field name="NAME">Ansage</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              <statement name="STACK"><block type="comment" id="H^dCz,x4[w7R9UTo@Tk]"><field name="COMMENT">Variable AnsageText ausgeben</field>
              <next><block type="comment" id="h+-0pw:l:I6AS|IlO[Yz"><field name="COMMENT">Timer stoppen falls läuft</field>
              <next><block type="timeouts_cleartimeout" id="):BEF1B8(+(QGg/2d=GE"><field name="NAME">timeout</field>
              <next><block type="sayit" id="CqAKY51vE0nc:oJxsJVM"><field name="INSTANCE">.0</field>

                              <value name="MESSAGE"><shadow type="text" id="@Jpzq~H7{cGCdH;ahCL6"><field name="TEXT">text</field></shadow> 
                                <block type="variables_get" id="2-kA,d|cAHU`tlk}SkQl"><field name="VAR">AnsageText</field></block></value> 
                              <next><block type="comment" id="WFwxFOK:gv]Klz1hkk4h"><field name="COMMENT">Pause machen</field>
                                  <next><block type="timeouts_settimeout" id="t?VbVAWp56#08^I,%kh*"><field name="NAME">timeout</field>
                                      <field name="DELAY">1</field>
                                      <field name="UNIT">sec</field>
                                      <statement name="STATEMENT"><block type="comment" id="oH=FTIv?[:P=rNP[nwC:"><field name="COMMENT">Dummy Timer</field></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement></block> 
              

              <block type="schedule" id="jg3Br-]@sT1iWROwo3Z9" x="-288" y="213"><field name="SCHEDULE">0 7 * * *</field>
              <statement name="STATEMENT"><block type="variables_set" id="u21twqAcCYiWG{ic4ek"><field name="VAR">AnsageText</field>
              <value name="VALUE"><block type="text_join" id="y{[w|?.8C]=bSi^yl@Vc"><mutation items="2"></mutation>
              <value name="ADD0"><block type="text" id="JV#jdG7K;pS?y9(LU
              @f"><field name="TEXT">bla bla</field></block></value>
              <value name="ADD1"><block type="text" id=")xCX?~bf7y08n[{@}FfP"><field name="TEXT">bla bla</field></block></value></block></value>
              <next><block type="procedures_callnoreturn" id="}O/=Dhs,@X|nIVi^z/sN"><mutation name="Ansage"></mutation>
              <next><block type="variables_set" id="Qc^SAw=JX/r1pw6^e%wJ"><field name="VAR">AnsageText</field>
              <value name="VALUE"><block type="text_join" id="a:BCu!g|%q7_~G(jlxAc"><mutation items="2"></mutation>
              <value name="ADD0"><block type="text" id="fHFU(2rK/IiI2NS:xKIw"><field name="TEXT">bla bla</field></block></value>
              <value name="ADD1"><block type="text" id="a4.Edl7N53:NoY2==5xG"><field name="TEXT">bla bla</field></block></value></block></value>
              <next><block type="procedures_callnoreturn" id="x@IuAL%4pt^13u-G{XMt"><mutation name="Ansage"></mutation>
              <next><block type="controls_if" id="R@2TH2YR]%[KqKDr`l/d"><statement name="DO0"><block type="variables_set" id="B2|s5=WZ])|L_8f!x7_U"><field name="VAR">AnsageText</field>
              <value name="VALUE"><block type="text" id="_F7XJ%U00(`bL{SqjS3{"><field name="TEXT">Regenschirm nicht vergessen</field></block></value>
              <next><block type="procedures_callnoreturn" id="~k@X?fq#`v40XYE;2[m#"><mutation name="Ansage"></mutation></block></next></block></statement></block></next></block></next></block></next></block></next></block></statement></block></xml>

              ! ````

              Grüße

              Rantanplan

              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

              1 Antwort Letzte Antwort
              0
              • T Offline
                T Offline
                tempestas
                schrieb am zuletzt editiert von
                #8

                Kein Blockly, aber falls es interessiert hier mein "Morgen Script", das ansagt:

                Tag, Datum und Uhrzeit

                Aktuelle Temperatur, Tagesmaximum

                Regen erwartet wann, wieviel

                Termine heute (oder + morgen oder + übermorgen)

                Danach geht Sonos an für eine halbe Stunde und schaltet sich dann ab

                Wind usw kann man natürlich sehr leicht implementieren.

                ! ````
                /* ANSAGESKRIPT MIT DATUM, UHRZEIT, TEMPERATUR AKTUELL UND MAX SOWIE REGEN UND TERMINEN. TRIGGERBAR. OB HEUTE, HEUTE UND MORGEN ODER BIS EINSCHLIESSLICH UEBERMORGEN
                ORIGNARES SKRIPT FÜR TEMPERATUR UND DATUM PLUS UHRZEIT VON SKORPIL UND PIX, IOBROKER FORUM
                ! ERGAENZT UM AUSLESEN DER TERMINE AUS HTML ANSTATT AUS DATA OBJECT ZUR VERMEIDUNG DER OBJECT PROBLEMATIK (TERMINE WERDEN NICHT IMMER EINGELESEN)
                HTML TO PLAIN TEXT KONVERTIERUNG AUS STACKOVERFLOW FORUM; ALL CREDIT TO USER ELENDURWEN
                ! SUCHFUNKTION STACKOVERFLOW FORUM USER iammatthew2
                ! ZUSAMMENFUERHUNRG UND TRIGGER FUNKTION TEMPESTAS
                ! VERSION V.02 STATUS 30. APRIL 2017
                ! */
                ! // Trigger: Bewegungsmelder Variable aus Homematic;
                ! var SayVar = "hm-rega.0.11430";
                ! //Trigger
                on(SayVar, function (data) {

                // Definition
                var tts = "sayit.0.tts.text";
                var ist = getState(SayVar).val;
                

                ! // logs
                log('SayVar: ' + SayVar);
                log('TTS: ' + tts);
                log('ist: ' + ist);
                ! //Lautstärke einstellen
                var vol ="sayit.0.tts.volume";
                setState (vol,15);
                ! //Wochentag ermitteln
                var d = new Date ();
                var weekday = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
                var w = weekday[d.getDay()];
                ! //Tagesdatum ermitteln
                var t = d.getDate();
                ! //Monat ermitteln
                var month = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
                var m = month[d.getMonth()];
                ! //Jahr ermitteln
                var j = d.getFullYear();
                ! //Stunde ermitteln
                h = d.getHours();
                ! //Minute ermitteln
                mi = d.getMinutes();
                ! // ********************************************************************
                // Die Außentemperatur ist xx.
                // Einfache Temperaturansage mit SayIt.
                // Variante 1 mittels splitten der Temperatur, damit die Ansage nicht
                // "Es sind 18 Punkt 2 Grad " sagt.
                // *********************************************************************
                ! var Temperatursensor = getState("hm-rpc.0.NEQ1381269.1.TEMPERATURE"); /Temperatursensor:1.TEMPERATURE/
                var temperatur = Temperatursensor.val.toString();
                var temp_array = [];
                ! temp_array = temperatur.split(".");
                ! // Fange leere Nachkommastellen ab. Das passiert, wenn die Temperatur z. B. 18.0 ist.
                // Es wird dann nur "18" gelesen.
                if (!temp_array[1]) {
                temp_array[1] = "0";
                log("Die Nach-Kommastelle in temp_array[1] war nicht vorhanden und wird nun fest auf 0 gesetzt.");
                }

                // ******************************
                // Wird Regen erwartet? 
                // ******************************
                
                var idRain = 'javascript.0.Wunderground.Regentimer';   // wird in anderem Skript angelegt
                var idRainValue;
                var idRainValueText;
                idRainValue = getState(idRain).val;
                idRainValueText = idRainValue.replace(':00h', ' Uhr');  // bereinigen des Anzeigetextes in eine sprechbare Form
                //log(idRainValue);
                //log(idRainValueText);
                

                !

                // *********************************
                // Tageshöchstemperatur
                // *********************************
                
                var maxTemp;
                maxTemp = getState("weatherunderground.0.forecast_day.0d.temp.high"/*high temperature*/).val;
                

                ! // **************************************************************************************
                // Termine auswerten aus html. Bereinigung der HTML Tags und Konvertierung in Plain Text
                // **************************************************************************************

                    var inhalt = getState("ical.0.data.html"/*HTML iCal table*/);
                    var inhaltString = inhalt.val.toString();
                    var inhaltStringReplace = inhaltString;
                    var inhaltStringText;
                    var i_search;
                
                    //*******************************************************************************************************
                    // Festlegen, ob nur heute [1], heute und morgen [2] oder einschliesslich uebermorgen angesagt wird [3]
                    //*******************************************************************************************************
                

                ! var terminAnsage = 2; // hier festlegen

                ! //**************************************************************************************
                // Suchfunktion für Termin-Cutoff
                // Sucht nach dem n-ten definierten Muster, hier "§$%" und gibt die Fundstelle zurück.
                // Hinter dieser Fundstelle wird dann der Text gekürzt
                // Sinnloses Muster genommen, da dies wohl nirgends normalerweise vorkommt
                //*****************************************************************************************

                    // Suchfunktion für Termin-Cutoff
                
                    function nthIndex(str, pat, n){
                    var L= str.length, i= -1;
                    while(n-- && i++<l){ i="str.indexOf(pat," i);/if/(i/</0)/break;/}/i_search="i;" remove/all/inside/script/and/style/tags/inhaltstringreplace="inhaltStringReplace.replace(/<script.*">[\w\W]{1,}(.*?)[\w\W]{1,}<\/script>/gi, "");
                    inhaltStringReplace=inhaltStringReplace.replace(/<style.*>[\w\W]{1,}(.*?)[\w\W]{1,}<\/style>/gi, "");
                
                    // remove BR tags. Werden durch sinnlose Zeichenkette ersetzt, nach der später gesucht wird
                    inhaltStringReplace=inhaltStringReplace.replace(/
                

                /gi, ". §$%");
                inhaltStringReplace=inhaltStringReplace.replace(/<br\s>/gi, ". §$%");
                inhaltStringReplace=inhaltStringReplace.replace(/<br>/gi, ". §$%");

                    // remove all else
                    inhaltStringReplace=inhaltStringReplace.replace(/<(?:.|\s)*?>/g, "");
                
                    // get rid of html-encoded characters:
                    inhaltStringReplace=inhaltStringReplace.replace(/ /gi," ");
                    inhaltStringReplace=inhaltStringReplace.replace(/&/gi,"&");
                    inhaltStringReplace=inhaltStringReplace.replace(/"/gi,'"');
                    inhaltStringReplace=inhaltStringReplace.replace(//gi,'>');
                
                    // Punkt ans Ende setzen
                    inhaltStringReplace=inhaltStringReplace+". §$%";
                
                   // log("Text ohne HTML mit 'sinnlos String': "+inhaltStringReplace);
                
                    // Termine heute zaehlen
                    var terminHeuteCount = inhaltStringReplace.split("Heute").length -1;
                
                    //log("Anzahl Termine heute: "+terminHeuteCount);
                
                    // Termine morgen zählen
                    var terminMorgenCount = inhaltStringReplace.split("Morgen").length -1;
                
                    // log("Anzahl Termine morgen: "+terminMorgenCount);
                
                    // Termine übermorgen zählen
                    var terminUebermorgenCount = inhaltStringReplace.split("Übermorgen").length -1;
                
                    // log("Anzahl Termine übermorgen: "+terminUebermorgenCount);
                
                    // Termine addieren
                    var termineCount = (terminHeuteCount + terminMorgenCount + terminUebermorgenCount);
                    var termineHeuteMorgenCount = (terminHeuteCount +terminMorgenCount);
                
                    // log("Termine heute und morgen gesamt: " +termineHeuteMorgenCount);
                
                    // log("Anzahl Termine gesamt: " +termineCount);
                
                    //*******************************************
                    // Text kürzen je nach gewählter Selektion
                    // ******************************************
                
                    if (termineCount === 0) { 
                        inhaltStringText ="Es liegen keine Termine an";
                
                    }
                    else {
                        switch(terminAnsage) {
                            case 1:
                                if (terminHeuteCount === 0) { 
                                    inhaltStringText ="Es liegen keine Termine an";
                                }
                                else{
                                nthIndex(inhaltStringReplace,"§$%", terminHeuteCount);                // nutzen der Suchfunktion zum Suchen der n-ten sinnlosen Zeichenkette
                                inhaltStringText = inhaltStringReplace.slice(0,i_search);
                                for (k =0; k < terminHeuteCount; k++) {
                                inhaltStringText = inhaltStringText.replace("§$%", "");             // rausnehmen der sinnlosen Zeichen, damit diese nicht mitgesprochen werden
                                }
                                inhaltStringText = "Folgende Termine stehen an: "+inhaltStringText; // neu eingefügt
                                }
                            break;
                
                            case 2:
                                if (termineHeuteMorgenCount === 0) { 
                                    inhaltStringText ="Es liegen keine Termine an";
                                }
                                else{
                                nthIndex(inhaltStringReplace,"§$%", termineHeuteMorgenCount);            // nutzen der Suchfunktion zum Suchen der n-ten sinnlosen Zeichenkette
                                inhaltStringText = inhaltStringReplace.slice(0,i_search);
                                for (k =0; k < termineHeuteMorgenCount; k++) {
                                inhaltStringText = inhaltStringText.replace("§$%", "");             // rausnehmen der sinnlosen Zeichen, damit diese nicht mitgesprochen werden
                                }
                                inhaltStringText = "Folgende Termine stehen an: "+inhaltStringText;   // neu eingefügt
                                }                    
                            break; 
                
                            case 3:
                                if (termineCount === 0) { 
                                    inhaltStringText ="Es liegen keine Termine an";
                                }
                                else{
                                nthIndex(inhaltStringReplace,"§$%", termineCount);                // nutzen der Suchfunktion zum Suchen der n-ten sinnlosen Zeichenkette
                                inhaltStringText = inhaltStringReplace.slice(0,i_search);
                                for (k =0; k < termineCount; k++) {
                                inhaltStringText = inhaltStringText.replace("§$%", "");           // rausnehmen der sinnlosen Zeichen, damit diese nicht mitgesprochen werden
                                }
                                inhaltStringText = "Folgende Termine stehen an: "+inhaltStringText;   // neu eingefügt
                                }
                
                        }
                    }
                

                // log("Letzte Fundstelle an Position "+i_search);
                log("Die bereinigte Ansage ist: " +inhaltStringText);

                !
                // ANSAGE ausfuehren, danach sonos box starten für 30 Minuten

                if (data.newState.val === true) {
                setState (tts, "Guten Morgen, heute ist " + w + " der " + t + "te " + m + j + ". Es ist" + h + " Uhr und " + mi + " Minuten."
                + " Die Aussentemperatur beträgt aktuell " + temp_array[0] + "," + temp_array[1] + " Grad und das Tagesmaximum soll "
                +maxTemp +" Grad erreichen. " +idRainValueText+ " " +inhaltStringText );

                ! setStateDelayed("sonos.0.root.192_168_2_7.favorites_set"/favorites_set/,'1000 Oldies', 35000); // nach 35 Sekunden wird 1000 Oldies eingestellt
                setState("sonos.0.root.192_168_2_7.volume"/volume/, 12); // Anpassen der Lautstärke
                ! setStateDelayed("sonos.0.root.192_168_2_7.state", "stop", 1860000); // nach 30 Minuten wird ausgeschaltet
                ! }

                });</br></br\s></style.*></l){>

                <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  mandragora
                  schrieb am zuletzt editiert von
                  #9

                  Hallo Leute

                  Also ich bins jetzt mal pragmatisch angegangen und habs doch noch mal nach meiner Variante versucht da ich eure Vorschläge nicht ganz gerafft habe :/

                  Die Pausen habe ich einfach mit mehreren Satzzeichen gelöst was wunderbar funktioniert.. Vielleicht nicht so schön aber es geht :)

                  Hab hier dann 2 Zeitpläne für unterschiedliche Tablets und Zeiten erstellt.

                  Macht jetzt mal genau das was es machen soll.

                  Werde mir eure vorgeschlagenen Sachen aber dennoch ansehen.

                  Danke dafür.

                  lg

                  mandragora

                  ! ````
                  <xml xmlns="http://www.w3.org/1999/xhtml"><block type="schedule" id="jg3Br-]@sT1iWROwo3Z9" x="-237" y="-112"><field name="SCHEDULE">0 6,8 * * 1-5</field>
                  <statement name="STATEMENT"><block type="sayit" id="CqAKY51vE0nc:oJxsJVM"><field name="INSTANCE">.0</field>

                      <value name="MESSAGE"><shadow type="text" id="@Jpzq~H7{cGCdH;ahCL6"><field name="TEXT">text</field></shadow> 
                        <block type="text_join" id="y{[w|?.8C]=bSi^yl@Vc"><mutation items="14"></mutation>
                          <value name="ADD0"><block type="text" id="EI3+GCKKd[f.!p0mk{jN"><field name="TEXT">Einen wunderschönen guten Morgen.</field></block></value> 
                          <value name="ADD1"><block type="text" id="q^(wc=MZvaA7TKlgHyZ4"><field name="TEXT">..........</field></block></value> 
                          <value name="ADD2"><block type="text" id="suAwmb6g/3=6`G}JTQnh"><field name="TEXT">Die aktuelle Temperatur beträgt</field></block></value> 
                          <value name="ADD3"><block type="get_value" id="g~;Xb/v;/V8)4oh9y+0_"><field name="ATTR">val</field>
                              <field name="OID">weatherunderground.0.current.temp_c</field></block></value> 
                          <value name="ADD4"><block type="text" id="BZYM#;Cn~M(V/wrN!u_R"><field name="TEXT">Grad.</field></block></value> 
                          <value name="ADD5"><block type="text" id="r:FAFP(#_bv(S5*h?(G#"><field name="TEXT">..........</field></block></value> 
                          <value name="ADD6"><block type="text" id="7r|xQvRQ]Ur6G6jWv=tD"><field name="TEXT">Es besteht heute eine</field></block></value> 
                          <value name="ADD7"><block type="get_value" id="-N?[aG*F:X@1Q{9j5D5,"><field name="ATTR">val</field>
                              <field name="OID">weatherunderground.0.forecast.10h.pop</field></block></value> 
                          <value name="ADD8"><block type="text" id="4Fw@doT{Y0tUTR.eVC%I"><field name="TEXT">prozentige Wahrscheinlichkeit das es regnet.</field></block></value> 
                          <value name="ADD9"><block type="text" id="AxhQ|jVppQI:sqUQ;B.P"><field name="TEXT">..........</field></block></value> 
                          <value name="ADD10"><block type="text" id="w?Y,v}rsvlMo35?nP|Nc"><field name="TEXT">Es ist heute</field></block></value> 
                          <value name="ADD11"><block type="get_value" id="U#JTuGo%U8}7G4zx7Sko"><field name="ATTR">val</field>
                              <field name="OID">hm-rega.0.19622</field></block></value> 
                          <value name="ADD12"><block type="text" id="U+h5/SN8z4KKF_J{tQ4y"><field name="TEXT">..........</field></block></value> 
                          <value name="ADD13"><block type="text" id="_h}TjWG2Y:9yBS(Qv{L;"><field name="TEXT">Ich wünsche euch einen wunderschönen Tag.</field></block></value></block></value></block></statement></block> 
                  

                  <block type="schedule" id="aYWQHR^Nbm!Ud_vUvO7." x="512" y="-112"><field name="SCHEDULE">0 7,8 * * 0,6</field>
                  <statement name="STATEMENT"><block type="sayit" id="9mN=|ghJ^[}[274*pa5P"><field name="INSTANCE">.1</field>

                      <value name="MESSAGE"><shadow type="text" id="@Jpzq~H7{cGCdH;ahCL6"><field name="TEXT">text</field></shadow> 
                        <block type="text_join" id="XOBXg=iwMsW-~X3MIzzj"><mutation items="14"></mutation>
                          <value name="ADD0"><block type="text" id="ccftzws.^2qmjiO*L{sL"><field name="TEXT">Einen wunderschönen guten Morgen.</field></block></value> 
                          <value name="ADD1"><block type="text" id="qgX(F_`^85M5/H+qH]Da"><field name="TEXT">..........</field></block></value> 
                          <value name="ADD2"><block type="text" id="Li^WeANWmv;D7X#wAT5}"><field name="TEXT">Die aktuelle Temperatur beträgt</field></block></value> 
                          <value name="ADD3"><block type="get_value" id="o,SZaY)nZJ%:(7FZXR=q"><field name="ATTR">val</field>
                              <field name="OID">weatherunderground.0.current.temp_c</field></block></value> 
                          <value name="ADD4"><block type="text" id="!s#O`L;O@||^98|bwLuu"><field name="TEXT">Grad.</field></block></value> 
                          <value name="ADD5"><block type="text" id=".ohrhO{vQ]:YoV{Z5g4P"><field name="TEXT">..........</field></block></value> 
                          <value name="ADD6"><block type="text" id="Y4pkC1DJ(BKABoS;hDIC"><field name="TEXT">Es besteht heute eine</field></block></value> 
                          <value name="ADD7"><block type="get_value" id="Bz5WOSLPCP9A2Leqt[Pa"><field name="ATTR">val</field>
                              <field name="OID">weatherunderground.0.forecast.10h.pop</field></block></value> 
                          <value name="ADD8"><block type="text" id="+UROWhu-2onc2O%9/!7J"><field name="TEXT">prozentige Wahrscheinlichkeit das es regnet.</field></block></value> 
                          <value name="ADD9"><block type="text" id="7s+%L_z=*{g:S`KqfLX3"><field name="TEXT">..........</field></block></value> 
                          <value name="ADD10"><block type="text" id="G8wreNCzbcx7PksWY)I("><field name="TEXT">Es ist heute</field></block></value> 
                          <value name="ADD11"><block type="get_value" id="kfly:0=Z?n*fLeZQG;10"><field name="ATTR">val</field>
                              <field name="OID">hm-rega.0.19622</field></block></value> 
                          <value name="ADD12"><block type="text" id="tP;G[T1kGD)Xk7z#2t]*"><field name="TEXT">..........</field></block></value> 
                          <value name="ADD13"><block type="text" id="Lv@y%wFGc_@zOaObY{!k"><field name="TEXT">Ich wünsche euch einen wunderschönen Tag.</field></block></value></block></value></block></statement></block> 
                  

                  <block type="controls_if" id="Y]f^2yqDQh~lQ9W{B#NM" x="363" y="839"><value name="IF0"><block type="logic_compare" id="Z?j`jLH?%rmL~HCW+5eW"><field name="OP">EQ</field>
                  <value name="A"><block type="get_value" id="O+X@YwXH5~f-Nn2r9ieI"><field name="ATTR">val</field>
                  <field name="OID">ical.0.events.Sperrmüll</field></block></value>
                  <value name="B"><block type="logic_boolean" id=";A*a+fSa(MFcNM;t;B+!"><field name="BOOL">TRUE</field></block></value></block></value>
                  <statement name="DO0"><block type="sayit" id="!LhG|YQ~0]JWG],gUGl5"><field name="INSTANCE">.0</field>
                  <field name="LANGUAGE">de</field>

                      <value name="MESSAGE"><shadow type="text" id="~f:}.]L58)USM}dKogf]"><field name="TEXT">Achtung. Heute ist Sperrmüllabgabe</field></shadow></value></block></statement> 
                  <next><block type="controls_if" id="b-4DZ!VXC14J?`s#s*et"><value name="IF0"><block type="logic_compare" id="s%f]|~;l`Sh:lM0dh*q*"><field name="OP">EQ</field>
                          <value name="A"><block type="get_value" id="RH6BdgiPt*X*tLjGCsIR"><field name="ATTR">val</field>
                              <field name="OID">ical.0.events.Altpapier</field></block></value> 
                          <value name="B"><block type="logic_boolean" id="D7{ef)LDP=i{dD16G/7["><field name="BOOL">TRUE</field></block></value></block></value> 
                      <statement name="DO0"><block type="sayit" id="YHQq3+(aU+(=^uWjQ9qr"><field name="INSTANCE">.0</field>
                          <field name="LANGUAGE">de</field>
                  
                          <value name="MESSAGE"><shadow type="text" id="HsjBEm)#YoOiQtQ9gVHD"><field name="TEXT">Achtung. Heute wird das Altpapier abgeholt</field></shadow></value></block></statement></block></next></block></xml> 
                  
                  [3209_2017-10-04_20h51_36.jpg](/assets/uploads/files/3209_2017-10-04_20h51_36.jpg)

                  ioBroker auf Synology DS218+ (Docker); VIS: 2x8" Tablets; Homematic CCU2 und Komponenten; Echo DOT; Unifi Ap-Ac Pro; Landroid S; Jovision IPCams

                  1 Antwort Letzte Antwort
                  0
                  • B Offline
                    B Offline
                    badplay
                    schrieb am zuletzt editiert von
                    #10

                    Geil das such ich

                    Wie habt ihr die Ausgabe geregelt was nehmt ihr für Boxen dazu? Habe einen echo dot bald ist der echo plus da. Aber so wie ich lese kann man ihn als Bluetooth Gerät nicht so richtig nutzen am raspberry pi oder gibt es was neues?

                    Wie macht ihr das?

                    1 Antwort Letzte Antwort
                    0
                    • rantanplanR Offline
                      rantanplanR Offline
                      rantanplan
                      schrieb am zuletzt editiert von
                      #11

                      @badplay:

                      Geil das such ich

                      Wie habt ihr die Ausgabe geregelt was nehmt ihr für Boxen dazu? Habe einen echo dot bald ist der echo plus da. Aber so wie ich lese kann man ihn als Bluetooth Gerät nicht so richtig nutzen am raspberry pi oder gibt es was neues?

                      Wie macht ihr das? `
                      Hallo badplay

                      Mache zu dem Thema bitte einen neuen Thread auf.

                      Sonst kommt dieser hier völlig durcheinander.

                      Danke.

                      Grüße

                      Rantanplan

                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                      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

                      885

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      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