Some example sentences for German

To help all the other German people in this forum i will post parts of my sentences.ini here.
I replaced a couple names and the name of my city. I will add some german comments as this is mostly usefull for people who speak german

[GetTime]
wie spät ist es [(jetzt|momentan|gerade|aktuell|eigentlich)]
sag mir (die uhrzeit | wie spät es ist)
wie viel uhr (ist es|haben wir) [gerade]
was ist die uhrzeit
welche uhrzeit haben wir [(gerade | aktuell)]

[GetDate]
welches datum haben wir [heute]
der wievielte ist heute [eigentlich]
den wievielten haben wir [heute] [eigentlich]
das [heutige] datum ist [der]
heute ist der

[GetDay]
(welcher|welchen) (tag|wochentag)(ist|haben wir)[heute]


[SetAlarm]
(stell | stelle) [mir] (den|einen|meinen) wecker [für] (heute|((morgen|):morgen)|übermorgen| $rhasspy/days){tag} auf (((viertel vor):-15)|((viertel nach):15)|(halb:-30)|:0){minute} (1..23) {stunde} [uhr]
(stell | stelle) [mir] (den | meinen |einen) wecker (für | auf) ((heute |):heute | morgen | übermorgen | $rhasspy/days){tag} [auf] (0..23){stunde} uhr (0..59){minute}

Uhrzeit kann ausgewertet werden in dem im Fall von negativen minuten die Stunden anzahl um eins reduziert wird und +60 auf die minuten gerechnet wird.

[SetTimer]
(stell | stelle) [mir] einen timer [(für (die | den | das ) | fürs) ($timer){timer}] (für|auf) (0..59) {minuten} minuten
sag mir in (0..59) {minuten} minuten bescheid das [(die | der | das)] $timer{timer} fertig (ist|sind|sein werden)
(erinnere | erinner) mich [daran] in (0..59) {minuten} minuten nach (den | dem) ($timer) {timer} zu (schauen){typ}

Der slot $timer enthält einige Sachen für die man häufiger einen Timer stellt.

[GetTemperature]
data_source=(((drinnen | innentemperatur | in meinem zimmer | hier | ):zimmer_1)|((draußen | außen):klima_2) | ((in 2 zimmer):zimmer_2) | (((laut | nach) [dem | der] (wetterbericht | wettervorhersage)) | (in ortsname)):wetterbericht){source}
wie ist die temperatur <data_source>
wie (heiß | kalt | warm) ist es <data_source>
wie viel grad hat es <data_source>
welche temperatur ((hat es)|(haben wir)) <data_source>

Bei datasource kann es bei einer Nutzung von mehrere Rhasspy sateliten Sinn machen (hier | ):siteId zu nutzen und in dem Fall die siteId für die Auswertung zu nutzen.

[GetHumidity]
wie hoch ist die [relative] luftfeuchtigkeit <GetTemperature.data_source>
wie feucht ist es <GetTemperature.data_source>

[ChangeLightState]
light_name = $lampe {name}
light_state = ((ein|an):ein | (aus|ab):aus | heller | dunkler) {state}
\[(schalte | schalt)] [(die | das | den)] <light_name> [wieder] <light_state>
(((deaktiviere):aus)|((aktiviere):ein)) {state} [(die | das | den)] <light_name>
<light_name> [wieder] ((ausschalten|deaktiviere|abschalten):aus | (einschalten|anschalten|aktiviere):ein) {state}


[SetVolume]
(stell | stelle) die ((standard lautstärke):61){volume} [wider] (her | heer | ein)
(stell | stelle | setz | setze) die lautstärke auf (1..100){volume} [prozent] [ein]
\[([(stell | stelle)] die lautstärke)] [bitte] (((etwas leiser):5-) | ((etwas lauter):5+) | ((deutlich leiser):10-) | ((deutlich lauter):10+)){volume} [stellen] [bitte]

Hier nutze ich (her | heer | ein) nur weil ich heer an einer anderen Stelle nutze und es oft statt her erkannt wird.

Falls es Fragen zu den Sätzen gibt beantworte ich diese gerne. Ich hoffe diese Beispiele helfen jemandem weiter.

Für das Inten handling nutze ich node-red. Hier kann ich eventuell bei den einfacheren Intents was zur Umsetzung sagen falls Interesse besteht

5 Likes

Hi moqart,

Nice examples. Can you explain how you realize the timer in node red?

As far as I can see, you have some experience with this grammer/ sentences engine. May be you have a guess why my sentences are not working Link.

Kind Regards, Chewy

Hi moqart,

thank you very much for your sentences. I am also interested how you realized your timer.

Cheers Becks

At the moment i dont have an optimal setup for my timer. Its just a change node and and a delay node in node-red. II did not find the time yet to set up a better timer which supports cancelling a timer, telling which timers are currently running, and maybe extending timers or a alarm that is more then a TTS message.

Hi moqart,
great examples, will save me a lot of work.
When my complete setup is done, I will upload my German sentences added - if you allow?
Cheers, openhabgs

Hallo zusammen,
ich schreibe mal auf deutsch, da der ganze Post hier sich ja um die Sprache dreht.

Da es eine allgemeine Frage ist, die insbesondere für das Deutsche Auswirkung hat: Kennt Ihr einen Weg wie man Slots mit anderen Wörtern verknüpfen kann?

Z.B. nehmen wir hier mal einen Satz aus meiner Konfiguration.

schalte das ($roomName){roomName}licht ein

Ich habe jetzt bereits einen Slot, der mit allen Raumnamen gefüllt ist. Erwartungshaltung ist also, daß ich hier z.B. sagen kann “schalte das Wohnzimmerlicht ein” und ich bekomme den Intent und den Slot.
Erkannt wird der Intent aber nur, wenn ich es mit Pause sage oder gleich mit Leerzeichen auf der Hauptseite eingebe, d.h. “schalte das Wohnzimmer licht ein”. Beides wäre sprachlich unintuitiv.

Du hast mir schon mal einen Weg gezeigt, mit dem es zwar prinzipiell ginge:

((wohnzimmerlicht):wohnzimmer | (Bürolicht):büro){roomName}

Der erfordert allerdings, daß ich an dieser Stelle nochmals alle Werte des Slots aufzähle. Da das hier nur eines von mehreren Beispielen ist, wo ich das Problem habe, frage ich mich, ob es eine allgemeinere Lösung gibt.

@OulSiDEs Slots können auch alternativen und substitutions enthalten. Sowie dieser hier.

(leuchtstreifen | led ):leuchtstreifen
(([(mein|meinem)] licht) | ([(meine|meiner)] lampe) | beleuchtung):lampe
wohnzimmerlampe
garagenlicht

Hm, das würde es mir jetzt aber für mein Beispiel auch nicht erlauben, daß ich die Räume bekomme, oder?

Ich könnte jetzt nur den Slot der Räume erweitern, z.B.

(Wohnzimmer|Wohnzimmerlicht):Wohnzimmer

Das wiederum würde aber den Licht-Intent nicht als solchen erkennen.

Macht mer sinn einen extra slot für Lichter zu erstellen. Ich habe ein paar Sachen ausprobiert aber ich habe keinen sinnvollen weg gefunden das anders umzusetzen. Hast du denn so viele Fälle wo du etwas ähnliches brauchst?

Es ist jetzt nicht so, daß ich da Millionen Kombinationen habe. Ich weiß mir mittlerweile auch zu helfen. Ich versuche nur immer zuerst eine allgemeine Lösung zu finden und nicht für den konkreten Fall irgendwas zusammenzuscripten.

Ein anderes Beispiel wäre noch die Frage nach Umgebungsdaten wie Temperatur, Luftfeuchtigkeit. Da könnte ich z.B. fragen

wie ist die außentemperatur

Ziel wäre auch hier, daß er meinen Intent GetEnvironmentOutside erkennt und mir als Slot-Wert “temperatur” liefert, könnte z.B. auch “humidity” oder “brightness” sein.

Alles kein Beinbruch und lässt sich auch anders umsetzen. Aber mir hat sich halt die Frage gestellt, ob das eleganter geht ohne doppelte Daten zu erzeugen.

Dankeschön!

Hi,
I tried to solve a similar problem.

I am just transmitting the recognized sentence via MQTT to openHAB - there I do the complete decoding and command structure. That allows a clear separation.

That is what Rhasspy will receive and decode:
Rhasspy
The json message transmitted to openHAB looks like:

Blockquote
{
“intent”: {
“name”: “Command”,
“confidence”: 1
},
“entities”: [
{
“entity”: “name”,
“value”: “licht”,
“value_details”: {
“kind”: “Unknown”,
“value”: “licht”
},
“raw_value”: “licht”,
“start”: 12,
“end”: 17,
“raw_start”: 12,
“raw_end”: 17
},
{
“entity”: “location”,
“value”: “wohnzimmer”,
“value_details”: {
“kind”: “Unknown”,
“value”: “wohnzimmer”
},
“raw_value”: “wohnzimmer”,
“start”: 21,
“end”: 31,
“raw_start”: 21,
“raw_end”: 31
},
{
“entity”: “state”,
“value”: “ein”,
“value_details”: {
“kind”: “Unknown”,
“value”: “ein”
},
“raw_value”: “ein”,
“start”: 32,
“end”: 35,
“raw_start”: 32,
“raw_end”: 35
}
],
“slots”: {
“name”: “licht”,
“location”: “wohnzimmer”,
“state”: “ein”
},
“text”: “schalte das licht im wohnzimmer ein”,
“raw_text”: “schalte das licht im wohnzimmer ein”,
“tokens”: [
“schalte”,
“das”,
“licht”,
“im”,
“wohnzimmer”,
“ein”
],
“raw_tokens”: [
“schalte”,
“das”,
“licht”,
“im”,
“wohnzimmer”,
“ein”
],
“wakeword_id”: null,
“siteId”: “RhasspySatS10”,
“sessionId”: “ec89347f-059b-c45a-ec99-ae8e0d9bdb38”,
“customData”: null,
“wakewordId”: null,
“lang”: null
}

Now my sentences - kept very basic:

Blockquote
[Command]
item_name = ($items) {name}
location_name = ($locations ) {location}
item_state = ($states) {state}
item_value = (0…100) {value!int}
[($commands)] [($articles)] <item_name> [($particles)] [<location_name>] [($particles)] <item_state>
Helligkeit <item_name> auf <item_value>
[Question]
item_parameter= ($parameters) {parameter}
location_name = ($locations ) {location}
(Sage mir | wie ist ) [($articles)] <item_parameter> [($particles)] [<location_name>]

My slots are:

Blockquote
articles:
dessen
das
dem
deren
die
der
den

Blockquote
commands:
schalt
mach
stelle
schalte

Blockquote
items:
heizung
nanoliiw
sofalampe
licht
rodernlicht
fussbodenheizung
tischlampe
tokonomalampe

Blockquote
locations:
kinderbad
elisabethzimmer
bastelzimmer
schlafzimmer
kueche
elternbad
esszimmer
wirtschaftsraum
wohnzimmer
flur
japanzimmer

Blockquote
parameters:
heizkoerpertemperatur
spartemperatur
normaltemperatur
aussentemperatur
windgeschwindigkeit
temperatur
aussenfoichtigkeit
foichtigkeit
hell
aussenhelligkeit

Blockquote
particles:
im
an
auf
wieder
in
um

Blockquote
states:
weisser
(spartemperatur|sparbetrieb):spartemperatur
(aus|ab):aus
(normaltemperatur|normalbetrieb):normaltemperatur
dunkler
max
heller
waermer
(ein|an):ein

Thanks for the short intents. I reduced mine and it looks much cleaner.
On october chewyf5 asked für an implementation in node red. I’m using a node, called

node-red-contrib-cron-plus
Here’s a short example for adding an alarm with minutes (to not forget the pizza) and time (to get up to early in the morning):

[{"id":"d0212a8b.b6bf18","type":"cronplus","z":"86f51c47.a1e7c","name":"","outputField":"payload","timeZone":"","persistDynamic":false,"commandResponseMsgOutput":"output2","outputs":2,"options":[{"name":"schedule1","topic":"schedule1","payloadType":"default","payload":"","expressionType":"cron","expression":"0 * * * * * *","location":"","offset":"0","solarType":"all","solarEvents":"sunrise,sunset"}],"x":620,"y":220,"wires":[["1f9c582a.056248"],["32c7cffb.c2ed3"]]},{"id":"1f9c582a.056248","type":"debug","z":"86f51c47.a1e7c","name":"Ausgabe bei Alarm","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":200,"wires":[]},{"id":"32c7cffb.c2ed3","type":"debug","z":"86f51c47.a1e7c","name":"Ausgabe bei Info","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":260,"wires":[]},{"id":"d18b290e.29f088","type":"change","z":"86f51c47.a1e7c","name":"Wann wird es klingeln ?","rules":[{"t":"set","p":"payload","pt":"msg","to":"{         \"command\": \"status-all\"       }","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":180,"wires":[["d0212a8b.b6bf18"]]},{"id":"89ebd162.08ca7","type":"inject","z":"86f51c47.a1e7c","name":"FromRhasspy","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":110,"y":180,"wires":[["d18b290e.29f088"]]},{"id":"f34e80a9.f2f15","type":"function","z":"86f51c47.a1e7c","name":"Nächster Alarm (Uhrzeit)","func":"// Bei Wunsch: Antwort\nfunction getAnswer(slots){\n    return{payload: \"Ich habe einen Wecker im \" + \n                    slots.room + \" auf \" + \n                    slots.hour + \" Uhr \" + \n                    slots.minute + \" gestellt\"}\n}\n/**\nEingabe: \n    msg.slots.hour (Stunde zu der geweckt werden soll)\n    msg.slots.minute (Minute zu der geweckt werden soll)\n    msg.slots.room (Raum/Satellite als Ausgabe um dort zu klingeln)\n*/\nif (msg.slots.hour && msg.slots.minute ){\n    \n    // Wenn Bestätigung gewünscht wird\n    answer = getAnswer(msg.slots)\n    // Eingabe für cron-node\n    \n    msg.payload = {\n        \"command\": \"add\",\n        \"name\": (new Date()).getTime(), // eindeutiger Name (Millisekunden)\n        \"expression\": \"* \" + msg.slots.minute + \" \"+ msg.slots.hour + \"  * * * *\", //cron\n        \"payload\": msg.slots.room, // Ausgabe\n        \"type\": \"default\",\n        \"limit\": 1 \n      }\n    \n}\nreturn [msg,answer];","outputs":2,"noerr":0,"initialize":"","finalize":"","x":330,"y":220,"wires":[["d0212a8b.b6bf18"],["41c9e25d.2b6a8c"]]},{"id":"44fd972a.2916b8","type":"inject","z":"86f51c47.a1e7c","name":"FromRhasspy","props":[{"p":"slots","v":"{\"minute\":12,\"hour\":8,\"room\":\"Wohnzimmer\"}","vt":"json"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"str","x":110,"y":220,"wires":[["f34e80a9.f2f15"]]},{"id":"7012fe9c.87844","type":"function","z":"86f51c47.a1e7c","name":"Nächster Alarm (Minuten)","func":"// Bei Wunsch: Antwort\nfunction getAnswer(value, dt){\n    var timeString = dt.toLocaleTimeString([],\n        {\n            hour: \"2-digit\", \n            minute: \"2-digit\",\n            hour12: false\n        });    \n    return {payload :\"Es wird in \" + value + \" Minuten um \" + timeString + \"h  klingeln\"};\n\n}\n\n\n/**\nEingabe: \n    msg.slots.value (Anzahl Minuten die gewartet werden soll)\n    msg.slots.room (Raum/Satellite als Ausgabe um dort zu klingeln)\n*/\nif (msg.slots.value ){\n    var dt = new Date(); // aktuelle Uhrzeit\n    dt.setMinutes( dt.getMinutes() + msg.slots.value ); // Anzahl Minuten hinzufügen\n    \n    // Wenn Bestätigung gewünscht wird\n    answer = getAnswer(msg.slots.value ,dt)\n\n    // Eingabe für cron-node\n    msg.payload = {\n        \"command\": \"add\",\n        \"name\": (new Date().getTime()), // eindeutiger Name (Millisekunden)\n        \"expression\": dt.getSeconds() + \" \" + dt.getMinutes() + \" \"+ dt.getHours() + \"  * * * *\", //cron\n        \"payload\": msg.slots.room, // Ausgabe\n        \"type\": \"str\",\n        \"limit\": 1 \n      }\n\n    \n    \n    return [msg, answer];\n}\n\n\n","outputs":2,"noerr":0,"initialize":"","finalize":"","x":330,"y":260,"wires":[["d0212a8b.b6bf18"],["41c9e25d.2b6a8c"]]},{"id":"94745508.ae7d28","type":"inject","z":"86f51c47.a1e7c","name":"FromRhasspy","props":[{"p":"slots","v":"{\"value\":2,\"room\":\"Wohnzimmer\"}","vt":"json"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":110,"y":260,"wires":[["7012fe9c.87844"]]},{"id":"41c9e25d.2b6a8c","type":"debug","z":"86f51c47.a1e7c","name":"Bestätigung der Eingabe","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":610,"y":360,"wires":[]}]

Explanation:
You have to create a cron job with the same grammar as real crons and send them to the node. For that you should format the incoming information (minute / hour:minute) to the right format. You can specify the output which will be sended later. I send the name of the satellite, where the alarm should be established, so I can ring at the right place. The example gives you also a confirmation, that the cron has been started. This sshould be sent to the satellite, where you gave the input.
You can also ask for the time of the next alarm.

Hope, someone likes it

Kay

1 Like

The disadvantage of your soulution is that you loose the alarm times on a restart of node-red. I used a similiar solution for a while until i switched to an alarm (Wecker) which is handled by the home-automation system fhem. If i remember correctly you can also remove alarms from the cron-plus node which is a usefull feature to implement. I might take a look at my old flow to look how i did it. (this was not used for my timer which still only consist of a delay node as i am not using it and i did not have enough time to figure a better solution out.

translating color names into rgb-values for light colors can be a bit of a pain,
as HA light understands standard CSS color names (color_name)
i made a slot (i.e. $farbenCSS) for substituting german words with css color names:

german to css color-names:

(Alte Spitze):Oldlace
(Blasse Goldrutenfarbe):PaleGoldenrod
(Blasses Violettrot):PaleVioletRed
(Cremige Minze):Mintcream
(Dunkle Goldrutenfarbe):DarkGoldenrod
(Dunkle Lachsfarbe):DarkSalmon
(Dunkles Olivgrün):DarkOliveGreen
(Dunkles Orange):DarkOrange
(Dunkles Schieferblau):DarkSlateBlue
(Dunkles Schiefergrau):DarkSlateYellow
(Dunkles Seegrün):DarkSeaGreen
(Helle Lachsfarbe):LightSalmon
(Helles Cyan):LightCyan
(Helles Goldrutengelb):(Light Goldenrod Yellow)
(Helles Himmelblau):LightSkyBlue
(Helles Korallenrot):LightCoral
(Helles Schiefergrau):LightSlateGrey
(Helles Seegrün):LightSeaGreen
(Helles Stahlblau):LightSteelBlue
(Leuchtendes Rosa):HotPink
(Mittlere Türkis):(Medium Turquoise)
(Mittleres Aquamarin):(Medium Aquamarine)
(Mittleres Blau):Medium Blue
(Mittleres Frühlingsgrün):Medium SpringGreen
(Mittleres Schieferblau):(Medium SlateBlue)
(Mittleres Seegrün):Medium SeaGreen
(Mittleres Violett):Medium Purple
(Mittleres Violettrot):(Medium VioletRed)
(Rosiges Braun):RosyBrown
(Tiefes Himmelblau):DeepSkyBlue
Altrosa:Mistyrose
Antikweiß:AntiqueWhite
Aquamarinblau:Aquamarine
Backstein:Firebrick
Beige
Biskuit:Bisque
Blassgrün:PaleGreen
Blasstürkis:PaleTurquoise
Blau:Blue
Blauviolett:Blueviolet
Blütenweiß:FloralWhite
Braun:Brown
Chiffongelb:Lemonchiffon
Distel:Thistle
Dunkelblau:DarkBlue
Dunkelgrau:DarkGrey
Dunkelgrau:DimGrey
Dunkelgrün:DarkGreen
Dunkelkhaki:DarkKhaki
Dunkelmagenta:DarkMagenta
Dunkelrot:DarkRed
Dunkeltürkis:DarkCyan
Dunkeltürkis:DarkTurquoise
Dunkelvilolett:DarkViolet
Dunkle Orchidee:DarkOrchid
Eisfarben:AliceBlue
Elfenbein:Ivory
Frühlingsgrün:SpringGreen
Fuchsia:Fuchsia
Gainsboro
Geisterweiß:GhostWhite
Gelb:Yellow
Gelbbraun:Burlywood
Gelbgrün:YellowGreen
Gold:Gold
Goldrute:Goldenrod
Grau:Gray
Grau:Grey
Grün:Green
Grüngelb:(GreenYellow)
Hautfarben:Tan
Hellblau:LightBlue
Hellgelb:LightYellow
Hellgrau:LightGray
Hellgrau:LightGrey
Hellgrün:Chartreuse
Hellgrün:LightGreen
Hellrosa:LightPink
Himmelblau:Azure
Himmelblau:SkyBlue
Honigmelone:Honeydew
Indigo:Indigo
Indischrot:IndianRed
Kadettenblau:CadetBlue
Karmesinrot:Crimson
Kastanie:Maroon
Khaki
Koralle:Coral
Kornblumenblau:CornflowerBlue
Krickentengrün:Teal
Königsbalu:RoyalBlue
Lachsfarben:Salmon
Lavendel:Lavender
Lavendelrosa:LavenderBlush
Leinen:Linen
Limone:Lime
Limonengrün:LimeGreen
Magenta
Mais:Cornsilk
Mandelweiß:Blanchedal-mond
Marinenblau:Navy
Mitternachtsblau:MidnightBlue
Mittlere Orchidee:Medium Orchid
Mokassin:Moccasin
Muschel:Seashell
Navajoweiß:NavajoWhite
Olivgraubraun:Olivedrab
Olivgrün:Olive
Orange
Orangerot:OrangeRed
Orchidee:Orchid
Papayacreme:Papayawhip
Persenningblau:DodgerBlue
Peru
Pfirsich:Peachpuff
Pflaume:Plum
Purpur:Purple
Rasengrün:LawnGreen
Rauchfarben:WhiteSmoke
Rosa:Pink
Rot:Red
Sandbraun:SandyBrown
Sattelbraun:SaddleBrown
Schieferblau:SlateBlue
Schiefergrau:SlateGrey
Schneeweiß:Snow
Schokolade:Chocolate
Schwarz:Black
Seegrün:SeaGreen
Siennaerde:Sienna
Silber:Silver
Stahlblau:SteelBlue
Staubfarben:Khaki
Taubenblau:PowderBlue
Tiefrosa:DeepPink
Tomate:Tomato
Türkis:Cyan
Türkis:Turquoise
Veilchen:Violet
Waldgrün:ForestGreen
Wasser:Aqua
Weizen:Wheat
Weiß:White

[ChangeLightState]
light_name = ($lights){name}
light_state = ($states) {state}
light_color = ($farbenCSS) {color}
\[schalte] [(die | das)] <light_name> [<light_state>] [<light_color>]

This looks useful for changing lights colors around but I couldn’t help laughing when I imagined someone standing there and commanding a voice assistant to change the light color to Blasse Goldrutenfarbe, not, that i can even imagine what color that would be. I personally would go the route of selecting a nice looking rgb value for each color (light blue, blue and dark blue, and so on) and just map the name to the rgb value.

As for your slot, you might want to go through it again, because you have two different css colors matched to Türkis and Himmelblau and Hellgrau is listed twice, and I haven’t looked for more, but there might be more.

1 Like

Hey, thanks for your feedback, i just updated the list.
yes, some of the names are a bit ackward, but it’s just a quick way to set up a bunch of color values…

german to css color-names:

(Alte Spitze):Oldlace
(Blasse Goldrutenfarbe):PaleGoldenrod
(Blasses Violettrot):PaleVioletRed
(Cremige Minze):Mintcream
(Dunkle Goldrutenfarbe):DarkGoldenrod
(Dunkle Lachsfarbe):DarkSalmon
(Dunkles Olivgrün):DarkOliveGreen
(Dunkles Orange):DarkOrange
(Dunkles Schieferblau):DarkSlateBlue
(Dunkles Schiefergrau):DarkSlateYellow
(Dunkles Seegrün):DarkSeaGreen
(Helle Lachsfarbe):LightSalmon
(Helles Cyan):LightCyan
(Helles Goldrutengelb):(Light Goldenrod Yellow)
(Helles Himmelblau):LightSkyBlue
(Helles Korallenrot):LightCoral
(Helles Schiefergrau):LightSlateGrey
(Helles Seegrün):LightSeaGreen
(Helles Stahlblau):LightSteelBlue
(Leuchtendes Rosa):HotPink
(Mittlere Orchidee):Medium Orchid
(Mittlere Türkis):(Medium Turquoise)
(Mittleres Aquamarin):(Medium Aquamarine)
(Mittleres Blau):Medium Blue
(Mittleres Frühlingsgrün):Medium SpringGreen
(Mittleres Schieferblau):(Medium SlateBlue)
(Mittleres Seegrün):Medium SeaGreen
(Mittleres Violett):Medium Purple
(Mittleres Violettrot):(Medium VioletRed)
(Rosiges Braun):RosyBrown
(Tiefes Himmelblau):DeepSkyBlue
Altrosa:Mistyrose
Antikweiß:AntiqueWhite
Aquamarinblau:Aquamarine
Azur:Azure
Backstein:Firebrick
Beige
Biskuit:Bisque
Blassgrün:PaleGreen
Blasstürkis:PaleTurquoise
Blau:Blue
Blaugrün:Teal
Blauviolett:Blueviolet
Blütenweiß:FloralWhite
Braun:Brown
Chiffongelb:Lemonchiffon
Distel:Thistle
Dunkelblau:DarkBlue
Dunkelcyan:DarkCyan
Dunkelgrau:DarkGrey
Dunkelgrau:DimGrey
Dunkelgrün:DarkGreen
Dunkelkhaki:DarkKhaki
Dunkelmagenta:DarkMagenta
Dunkelrot:DarkRed
Dunkeltürkis:DarkTurquoise
Dunkelvilolett:DarkViolet
Dunkle Orchidee:DarkOrchid
Eisfarben:AliceBlue
Elfenbein:Ivory
Frühlingsgrün:SpringGreen
Fuchsia:Fuchsia
Gainsboro
Geisterweiß:GhostWhite
Gelb:Yellow
Gelbbraun:Burlywood
Gelbgrün:YellowGreen
Gold:Gold
Goldrute:Goldenrod
Grau:Gray
Grün:Green
Grüngelb:(GreenYellow)
Hautfarben:Tan
Hellblau:LightBlue
Hellgelb:LightYellow
Hellgrau:LightGray
Hellgrün:LightGreen
Hellrosa:LightPink
Himmelblau:SkyBlue
Honigmelone:Honeydew
Indigo:Indigo
Indischrot:IndianRed
Kadettenblau:CadetBlue
Karmesinrot:Crimson
Kastanie:Maroon
Khaki
Koralle:Coral
Kornblumenblau:CornflowerBlue
Königsbalu:RoyalBlue
Lachsfarben:Salmon
Lavendel:Lavender
Lavendelrosa:LavenderBlush
Leinen:Linen
Limone:Lime
Limonengrün:LimeGreen
Magenta
Mais:Cornsilk
Mandelweiß:Blanchedal-mond
Marinenblau:Navy
Mitternachtsblau:MidnightBlue
Mokassin:Moccasin
Muschel:Seashell
Navajoweiß:NavajoWhite
Olivgraubraun:Olivedrab
Olivgrün:Olive
Orange
Orangerot:OrangeRed
Orchidee:Orchid
Papayacreme:Papayawhip
Persenningblau:DodgerBlue
Peru
Pfirsich:Peachpuff
Pflaume:Plum
Purpur:Purple
Rasengrün:LawnGreen
Rauchfarben:WhiteSmoke
Rosa:Pink
Rot:Red
Sandbraun:SandyBrown
Sattelbraun:SaddleBrown
Schieferblau:SlateBlue
Schiefergrau:SlateGrey
Schneeweiß:Snow
Schokolade:Chocolate
Schwarz:Black
Seegrün:SeaGreen
Siennaerde:Sienna
Silber:Silver
Stahlblau:SteelBlue
Staubfarben:Khaki
Taubenblau:PowderBlue
Tiefrosa:DeepPink
Tomate:Tomato
Türkis:Turquoise
Veilchen:Violet
Waldgrün:ForestGreen
Wasser:Aqua
Weizen:Wheat
Weiß:White