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. Hilfsvariable Ansage des Tages über Sayit - das geht bestimmt schöner

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Hilfsvariable Ansage des Tages über Sayit - das geht bestimmt schöner

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 385 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.
  • MatzebhvM Offline
    MatzebhvM Offline
    Matzebhv
    schrieb am zuletzt editiert von
    #1

    Moin,

    ich lasse mir derzeit Morgens zur Weckzeit einige Dinge über Sayit vorlesen, unter anderem das Datum. Um eine natürliche Sprachausgabe zu erreichen behelfe ich mir derzeit mit folgendem Script für den Tag des Monats: :D

    ! schedule("0 0 * * *", function () { if (formatDate(new Date(), "TT") == 1) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'ersten', true); } if (formatDate(new Date(), "TT") == 2) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'zweiten', true); } if (formatDate(new Date(), "TT") == 3) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'dritten', true); } if (formatDate(new Date(), "TT") == 4) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'vierten', true); } if (formatDate(new Date(), "TT") == 5) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'fünften', true); } if (formatDate(new Date(), "TT") == 6) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'sechsten', true); } if (formatDate(new Date(), "TT") == 7) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'siebten', true); } if (formatDate(new Date(), "TT") == 8) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'achten', true); } if (formatDate(new Date(), "TT") == 9) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'neunten', true); } if (formatDate(new Date(), "TT") == 10) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'zehnten', true); } if (formatDate(new Date(), "TT") == 11) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'elften', true); } if (formatDate(new Date(), "TT") == 12) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'zwölften', true); } if (formatDate(new Date(), "TT") == 13) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'dreizehnten', true); } if (formatDate(new Date(), "TT") == 14) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'vierzehnten', true); } if (formatDate(new Date(), "TT") == 15) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'fünfzehnten', true); } if (formatDate(new Date(), "TT") == 16) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'sechszehnten', true); } if (formatDate(new Date(), "TT") == 17) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'siebzehnten', true); } if (formatDate(new Date(), "TT") == 18) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'achtzehnten', true); } if (formatDate(new Date(), "TT") == 19) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'neunzehnten', true); } if (formatDate(new Date(), "TT") == 20) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'zwanzigsten', true); } if (formatDate(new Date(), "TT") == 21) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'einundzwanzigsten', true); } if (formatDate(new Date(), "TT") == 22) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'zweiundzwanzigsten', true); } if (formatDate(new Date(), "TT") == 23) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'dreiundzwanzigsten', true); } if (formatDate(new Date(), "TT") == 24) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'vierundzwanzigsten', true); } if (formatDate(new Date(), "TT") == 25) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'fünfundzwanzigsten', true); } if (formatDate(new Date(), "TT") == 26) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'sechsundzwanzigsten', true); } if (formatDate(new Date(), "TT") == 27) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'siebenundzwanzigsten', true); } if (formatDate(new Date(), "TT") == 28) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'achtundzwanzigsten', true); } if (formatDate(new Date(), "TT") == 29) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'neunundzwanzigsten', true); } if (formatDate(new Date(), "TT") == 30) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'dreißigsten', true); } if (formatDate(new Date(), "TT") == 31) { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, 'einunddreißigsten', true); } }); !

    Ich vermute, der geneigte Javascriptprofi macht aus dem Ding ein 4Zeiler. Da ich gerne lernbereit bin, immer her mit den Ideen.

    Hintergrund: Ohne diese Krücke murmelt Sayit unterhalb 10 z.B. Wir haben den Nulleins ""ten" <- das hatte ich vorher schon per Script angehangen" Oktober.

    Gruß

    Matze

    1 Antwort Letzte Antwort
    0
    • PeoplesP Offline
      PeoplesP Offline
      Peoples
      schrieb am zuletzt editiert von
      #2

      Hi Matze,

      da ich selber kein "Profi" bin konnte ich es leider nicht auf 4 Zeilen kürzen, aber kürzer konnte ich es aber machen:

      ! function tag_als_wort(tag) { switch(tag) { case "01": return 'ersten'; case "02": return 'zweiten'; case "03": return 'dritten'; case "04": return 'vierten'; case "05": return 'fünften'; case "06": return 'sechsten'; case "07": return 'siebten'; case "08": return 'achten'; case "09": return 'neunten'; case "10": return 'zehnten'; case "11": return 'elften'; case "12": return 'zwölften'; case "13": return 'dreizehnten'; case "14": return 'vierzehnten'; case "15": return 'fünfzehnten'; case "16": return 'sechzehnten'; case "17": return 'siebzehnten'; case "18": return 'achtzehnten'; case "19": return 'neunzehnten'; case "20": return 'zwanzigsten'; case "21": return 'einundzwanzigsten'; case "22": return 'zweiundzwanzigsten'; case "23": return 'dreiundzwanzigsten'; case "24": return 'vierundzwanzigsten'; case "25": return 'fünfundzwanzigsten'; case "26": return 'sechsundzwanzigsten'; case "27": return 'siebenundzwanzigsten'; case "28": return 'achtundzwanzigsten'; case "29": return 'neunundzwanzigsten'; case "30": return 'dreißigsten'; case "31": return 'einunddreißigsten'; default: log('Fehler/Error '); } } ! schedule("0 0 * * *", function () { setState("Datenpunkte.0.Helper_Datumsansage"/*Helper_Datumsansage*/, tag_als_wort(formatDate(new Date(), "TT"))); }); !
      Sollte funktionierten

      Gruß

      Steffen

      Ich beantworte keine Fragen zu Themen via PN

      1 Antwort Letzte Antwort
      0
      • MatzebhvM Offline
        MatzebhvM Offline
        Matzebhv
        schrieb am zuletzt editiert von
        #3

        Moin Steffen,

        das sieht doch schon viel geschmeidiger aus, Danke! :D

        Gruß

        Matze

        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

        697

        Online

        32.6k

        Benutzer

        82.3k

        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