NEWS
Hilfsvariable Ansage des Tages über Sayit - das geht bestimmt schöner
-
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
-
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 funktioniertenGruß
Steffen
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden