Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Alexa Sprachausgabe Komma durch Euro ersetzen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Alexa Sprachausgabe Komma durch Euro ersetzen

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

      Hallo,

      ich versuche mir über Alexa den Spritpreis ausgeben zu lassen. Das funktioniert auch eigentlich. Allerdings sagt die liebe Alexa natürlich immer z.B. "Benzin kostet in Polch 1 Komma 13 Euro". Hat jemand eine Idee wie ich das Komma in der Mitte durch Euro ersetzen kann, damit es sich vernünftig anhört?

      So sieht es im Moment aus:

      spritscript.png

      P 1 Reply Last reply Reply Quote 0
      • P
        pix @Apropo last edited by

        Hallo,

        kann Dir leider kein Blockly anbieten, aber vielleicht kannst du es in Blockly übersetzen. Hier wird ein PUNKT ersetzt, kannst aber auch ein KOMMA in Zeile 5 in die Häkchen setzen

        
        function billigsteTankstelle () {
        
            let preis = getState("tankerkoenig.0.stations.cheapest.diesel.short").val; // Hier die Quelle eintragen
            let preis_arr = preis.toString().split("."); // Preis mit PUNKT wird am Punkt aufgeteilt. Kannst auch ein KOMMA in die Haken setzen
            
            let euro = parseInt(preis_arr[0],10);
            let cent = parseInt(preis_arr[1],10);
            log(euro); // debug, kann später raus
            log(cent); // debug, kann später raus
            let euro_say = "",
                cent_say = "";
            if (euro > 0) euro_say = (euro == 1) ? "einen Euro " : euro.toString() + " Euro ";
            if (cent > 0) cent_say = (cent == 1) ? "und einen Cent" : cent.toString(); // passt nur nicht bei 0.01 EUR (sehr unwahrscheinlich)
            log(euro_say); // debug, kann später raus
            log(cent_say); // debug, kann später raus
            // nachricht = "Den günstigsten Diesel gibt es in der " // Beispiel für Ansage
            nachricht = "In der "
                      + getState("tankerkoenig.0.stations.cheapest.diesel.name"/*Name*/).val 
                      + " für " + euro_say + cent_say;
            
            log(nachricht); // Nachricht enthält den String für die Ansage
        }
        
        
        

        Bei mir wird diese Funktion aufgerufen, wenn ein Triggerdatenpunkt auf true geht. Dann gibt es eine Sprachausgabe.

        Hoffe, konnte helfen.
        Pix

        1 Reply Last reply Reply Quote 0
        • X
          xbow42 last edited by xbow42

          Hallo Apropo,

          versuch es doch mal mit selbst gebautem Puzzlestein suchen_und_ersetzen.

          Code für die Funktion "suchen_und_ersetzen"

          return txt.replace(suchbegriff,ersetzung);
          

          z.B. so
          iobroker-replace.png

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

          Support us

          ioBroker
          Community Adapters
          Donate

          832
          Online

          31.9k
          Users

          80.3k
          Topics

          1.3m
          Posts

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