From e28bcb59415c05972612b6fb4bb72bb6ef784ce0 Mon Sep 17 00:00:00 2001 From: Fritz Date: Thu, 3 Dec 2015 22:15:08 +0100 Subject: [PATCH 01/14] Fix utf8 issue in datetime --- rs/fr_FR/datetime.rive | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/rs/fr_FR/datetime.rive b/rs/fr_FR/datetime.rive index 1d038cd..3db7ec3 100644 --- a/rs/fr_FR/datetime.rive +++ b/rs/fr_FR/datetime.rive @@ -8,13 +8,14 @@ import locale import time import traceback + from domogik.common.utils import ucode now = time.localtime(time.time()) try: locale.setlocale(locale.LC_ALL, str(LOCALE)) except: rs.log.error(u"Error : {0}".format(traceback.format_exc())) return ERROR_LOCALE - return time.strftime(DISPLAY_FORMAT, now) + return ucode(time.strftime(DISPLAY_FORMAT, now)) < object > object get_date python @@ -27,16 +28,14 @@ import locale import time import traceback + from domogik.common.utils import ucode now = time.localtime(time.time()) try: locale.setlocale(locale.LC_ALL, str(LOCALE)) except: rs.log.error(u"Error : {0}".format(traceback.format_exc())) return ERROR_LOCALE - the_date = time.strftime(DISPLAY_FORMAT, now) - # TODO : replace this dirty tricky thing by something better...." - the_date = the_date.replace("û", "u") - the_date = the_date.replace("é", "e") + the_date = ucode(time.strftime(DISPLAY_FORMAT, now)) return u"{0}".format(the_date) < object From b7b283a6a044d0a545d09413f95f13e12d7ccf03 Mon Sep 17 00:00:00 2001 From: Fritz Date: Thu, 3 Dec 2015 22:21:41 +0100 Subject: [PATCH 02/14] Fix utf8 issue in datetime --- rs/en_US/datetime.rive | 14 ++++++++++---- rs/fr_FR/datetime.rive | 3 +-- rs/nl_BE/datetime.rive | 14 ++++++++++---- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/rs/en_US/datetime.rive b/rs/en_US/datetime.rive index 00d8104..5611c0e 100644 --- a/rs/en_US/datetime.rive +++ b/rs/en_US/datetime.rive @@ -7,12 +7,15 @@ import locale import time + import traceback + from domogik.common.utils import ucode now = time.localtime(time.time()) try: - locale.setlocale(locale.LC_ALL, LOCALE) + locale.setlocale(locale.LC_ALL, str(LOCALE)) except: + rs.log.error(u"Error : {0}".format(traceback.format_exc())) return ERROR_LOCALE - return time.strftime(DISPLAY_FORMAT, now) + return ucode(time.strftime(DISPLAY_FORMAT, now)) < object > object get_date python @@ -24,12 +27,15 @@ import locale import time + import traceback + from domogik.common.utils import ucode now = time.localtime(time.time()) try: - locale.setlocale(locale.LC_ALL, LOCALE) + locale.setlocale(locale.LC_ALL, str(LOCALE)) except: + rs.log.error(u"Error : {0}".format(traceback.format_exc())) return ERROR_LOCALE - return time.strftime(DISPLAY_FORMAT, now) + return ucode(time.strftime(DISPLAY_FORMAT, now)) < object diff --git a/rs/fr_FR/datetime.rive b/rs/fr_FR/datetime.rive index 3db7ec3..3b58b28 100644 --- a/rs/fr_FR/datetime.rive +++ b/rs/fr_FR/datetime.rive @@ -35,8 +35,7 @@ except: rs.log.error(u"Error : {0}".format(traceback.format_exc())) return ERROR_LOCALE - the_date = ucode(time.strftime(DISPLAY_FORMAT, now)) - return u"{0}".format(the_date) + return ucode(time.strftime(DISPLAY_FORMAT, now)) < object diff --git a/rs/nl_BE/datetime.rive b/rs/nl_BE/datetime.rive index 8df3d5e..4cb73fd 100644 --- a/rs/nl_BE/datetime.rive +++ b/rs/nl_BE/datetime.rive @@ -7,12 +7,15 @@ import locale import time + import traceback + from domogik.common.utils import ucode now = time.localtime(time.time()) try: - locale.setlocale(locale.LC_ALL, LOCALE) + locale.setlocale(locale.LC_ALL, str(LOCALE)) except: + rs.log.error(u"Error : {0}".format(traceback.format_exc())) return ERROR_LOCALE - return time.strftime(DISPLAY_FORMAT, now) + return ucode(time.strftime(DISPLAY_FORMAT, now)) < object > object get_date python @@ -24,12 +27,15 @@ import locale import time + import traceback + from domogik.common.utils import ucode now = time.localtime(time.time()) try: - locale.setlocale(locale.LC_ALL, LOCALE) + locale.setlocale(locale.LC_ALL, str(LOCALE)) except: + rs.log.error(u"Error : {0}".format(traceback.format_exc())) return ERROR_LOCALE - return time.strftime(DISPLAY_FORMAT, now) + return ucode(time.strftime(DISPLAY_FORMAT, now)) < object From 5432f5a82f3961c6aef628134dec91c2b0319202 Mon Sep 17 00:00:00 2001 From: Fritz Date: Tue, 5 Jan 2016 22:11:56 +0100 Subject: [PATCH 03/14] release 1.3 : big improvments. Compatibility broken with previous release. This package need to be synced with at last Domogik develop branch of 05 january 2016 --- docs/changelog.txt | 10 + info.json | 2 +- lib/color_command.py | 59 ++++ rs/en_US/DT_Basic_sensors.rive | 15 + rs/en_US/DT_Bool.rive | 6 +- rs/en_US/DT_ColorRGBHexa.rive | 8 + rs/en_US/DT_Humidity.rive | 7 +- rs/en_US/DT_Temp.rive | 4 +- rs/en_US/DT_Trigger.rive | 12 + rs/en_US/begin.rive | 5 + .../python_do_bool_or_trigger_command.rive | 13 + rs/en_US/python_do_color_command.rive | 249 ++++++++++++++++ rs/en_US/python_get_sensor_value.rive | 16 +- rs/en_US/python_trigger_bool_command.rive | 13 - rs/fr_FR/DT_Basic_sensors.rive | 22 ++ rs/fr_FR/DT_Bool.rive | 117 +++++++- rs/fr_FR/DT_ColorRGBHexa.rive | 51 ++++ rs/fr_FR/DT_Humidity.rive | 2 +- rs/fr_FR/DT_String.rive | 17 ++ rs/fr_FR/DT_Temp.rive | 2 +- rs/fr_FR/DT_Trigger.rive | 12 + rs/fr_FR/begin.rive | 5 +- rs/fr_FR/learn.rive | 2 + .../python_do_bool_or_trigger_command.rive | 16 + rs/fr_FR/python_do_color_command.rive | 248 ++++++++++++++++ rs/fr_FR/python_do_color_command.rive.bck | 281 ++++++++++++++++++ rs/fr_FR/python_get_sensor_value.rive | 16 +- rs/fr_FR/python_trigger_bool_command.rive | 13 - rs/nl_BE/DT_Basic_sensors.rive | 15 + rs/nl_BE/DT_Bool.rive | 5 +- rs/nl_BE/DT_ColorRGBHexa.rive | 8 + rs/nl_BE/DT_Humidity.rive | 2 +- rs/nl_BE/DT_Temp.rive | 2 +- rs/nl_BE/DT_Trigger.rive | 7 + rs/nl_BE/begin.rive | 4 + rs/nl_BE/datetime.rive | 4 +- .../python_do_bool_or_trigger_command.rive | 13 + rs/nl_BE/python_do_color_command.rive | 248 ++++++++++++++++ rs/nl_BE/python_get_sensor_value.rive | 16 +- rs/nl_BE/python_trigger_bool_command.rive | 13 - 40 files changed, 1480 insertions(+), 80 deletions(-) create mode 100644 lib/color_command.py create mode 100644 rs/en_US/DT_Basic_sensors.rive create mode 100644 rs/en_US/DT_ColorRGBHexa.rive create mode 100644 rs/en_US/DT_Trigger.rive create mode 100644 rs/en_US/begin.rive create mode 100644 rs/en_US/python_do_bool_or_trigger_command.rive create mode 100644 rs/en_US/python_do_color_command.rive delete mode 100644 rs/en_US/python_trigger_bool_command.rive create mode 100644 rs/fr_FR/DT_Basic_sensors.rive create mode 100644 rs/fr_FR/DT_ColorRGBHexa.rive create mode 100644 rs/fr_FR/DT_String.rive create mode 100644 rs/fr_FR/DT_Trigger.rive create mode 100644 rs/fr_FR/python_do_bool_or_trigger_command.rive create mode 100644 rs/fr_FR/python_do_color_command.rive create mode 100644 rs/fr_FR/python_do_color_command.rive.bck delete mode 100644 rs/fr_FR/python_trigger_bool_command.rive create mode 100644 rs/nl_BE/DT_Basic_sensors.rive create mode 100644 rs/nl_BE/DT_ColorRGBHexa.rive create mode 100644 rs/nl_BE/DT_Trigger.rive create mode 100644 rs/nl_BE/begin.rive create mode 100644 rs/nl_BE/python_do_bool_or_trigger_command.rive create mode 100644 rs/nl_BE/python_do_color_command.rive delete mode 100644 rs/nl_BE/python_trigger_bool_command.rive diff --git a/docs/changelog.txt b/docs/changelog.txt index 1aa3f8b..05931b1 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -2,6 +2,16 @@ Changelog ========= +1.3 +=== + +* Big internal upgrades to had more capabilities to commands and sensors management. +* Add DT_ColorRGBHexa management. +* Complete DT_Bool and childs management. +* Add management of basic sensors : DT_Number, DT_Bool, DT_String. +* Various minor improvments. +* en_US and nl_NL features are not as complete as fr_FR. See the 'TODO' tags in the .rive files for more informations. + 1.2 === diff --git a/info.json b/info.json index f8102c8..89369a6 100644 --- a/info.json +++ b/info.json @@ -15,7 +15,7 @@ "domogik_min_version": "0.5.0", "name": "base", "type": "brain", - "version": "1.2" + "version": "1.3" }, "json_version": 2 } diff --git a/lib/color_command.py b/lib/color_command.py new file mode 100644 index 0000000..3ea6796 --- /dev/null +++ b/lib/color_command.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +def color_command(log, args, cfg_i18n): + from domogik.butler.brain import do_command + from domogik.butler.brain import remove_accents + + log.debug("color_command > get i18n informations") + basic_colors = cfg_i18n['BASIC_COLORS'] + colors = cfg_i18n['COLORS'] + DONE = cfg_i18n['DONE'] + UNKNOWN_DEVICE = cfg_i18n['UNKNOWN_DEVICE'] + UNKNOWN_COLOR = cfg_i18n['UNKNOWN_COLOR'] + TXT_BASIC_COLORS_1 = cfg_i18n['TXT_BASIC_COLORS_1'] + TXT_BASIC_COLORS_2 = cfg_i18n['TXT_BASIC_COLORS_2'] + TXT_COLOR_LIST = cfg_i18n['TXT_COLOR_LIST'] + + # put all keys lower case + log.debug("color_command > preprocess color list") + raw_colors = colors + colors.update(basic_colors) + colors = dict((remove_accents(k.lower()), v) for k, v in colors.iteritems()) + + log.debug("color_command > process args") + tab_args = ' '.join(args).split(",") + print(tab_args) + locale = tab_args[0].strip() + dt_type_list = tab_args[1].strip() + device = tab_args[2].strip() + value = tab_args[3].strip() + # optionnal parameter to get informations about a color + if len(tab_args) > 4: + arg4 = tab_args[4].strip() + + log.debug("color_command > do the action") + if value in colors: + value = colors[value] + + elif value == "listcolors": + resp = u"{0}".format(TXT_BASIC_COLORS_1) + for a_color in basic_colors: + resp += u", {0}".format(a_color) + resp += u". {0}".format(TXT_BASIC_COLORS_2) + return resp + + elif value == "detailcolor": + resp = u"{0} {1}".format(TXT_COLOR_LIST, arg4) + search_color = remove_accents(arg4.lower()) + for a_color in raw_colors: + the_color = remove_accents(a_color.lower()) + if search_color in the_color: + resp += u", {0}".format(a_color) + return resp + + else: + return u"{0}".format(UNKNOWN_COLOR) + res = do_command(log, locale, dt_type_list=dt_type_list, device=device, value=value) + if res == None: + return u"{0} : {1}".format(UNKNOWN_DEVICE, device) + else: + return u"{0}".format(DONE) diff --git a/rs/en_US/DT_Basic_sensors.rive b/rs/en_US/DT_Basic_sensors.rive new file mode 100644 index 0000000..d1e4325 --- /dev/null +++ b/rs/en_US/DT_Basic_sensors.rive @@ -0,0 +1,15 @@ +// DT_Basics is a file for all sensors of : +// - DT_Number +// - DT_String +// - DT_Bool + + +// shortcut +// double ,, because no unit ++ shortcut basic * +- The value is get_sensor_value en_US, DT_Number|DT_String|DT_Bool, , + ++ give me the value (of|at) * +@shortcut basic + + diff --git a/rs/en_US/DT_Bool.rive b/rs/en_US/DT_Bool.rive index dc620fe..a238203 100644 --- a/rs/en_US/DT_Bool.rive +++ b/rs/en_US/DT_Bool.rive @@ -1,5 +1,5 @@ + shortcut bool command * dev * val * -- trigger_bool_command en_US__SEP____SEP____SEP__ +- do_bool_or_trigger_command en_US, , , + switch * on @shortcut bool command DT_Switch dev val 1 @@ -12,3 +12,7 @@ + disable * @shortcut bool command DT_Enable dev val 0 + + +// TODO : get the status of switches and open/close sensors +// See fr_FR for the example diff --git a/rs/en_US/DT_ColorRGBHexa.rive b/rs/en_US/DT_ColorRGBHexa.rive new file mode 100644 index 0000000..1e07231 --- /dev/null +++ b/rs/en_US/DT_ColorRGBHexa.rive @@ -0,0 +1,8 @@ + ++ shortcut color command * dev * val * +- do_color_command en_US, , , + ++ change the color (of|at) * to * +@ shortcut color command DT_ColorRGBHexa dev val + +// TODO : complete with questions to ask about the colors. See fr_FR for the example diff --git a/rs/en_US/DT_Humidity.rive b/rs/en_US/DT_Humidity.rive index 277da9a..4170677 100644 --- a/rs/en_US/DT_Humidity.rive +++ b/rs/en_US/DT_Humidity.rive @@ -1,13 +1,10 @@ -// raccourci +// shortcut + shortcut humidity * -- The humidity at is get_sensor_value en_US DT_Humidity pourcents +- The humidity at is get_sensor_value en_US, DT_Humidity, pourcents, -// phrases + what is the humidity (at|of) * @shortcut humidity -+ humidity * -@shortcut humidity diff --git a/rs/en_US/DT_Temp.rive b/rs/en_US/DT_Temp.rive index 00c9249..2907e68 100644 --- a/rs/en_US/DT_Temp.rive +++ b/rs/en_US/DT_Temp.rive @@ -1,6 +1,6 @@ -// raccourci +// shortcut + shortcut temperature * -- The temperature at is get_sensor_value en_US DT_Temp degres +- The temperature at is get_sensor_value en_US, DT_Temp, degres, + what is the temperature (at|of) * @shortcut temperature diff --git a/rs/en_US/DT_Trigger.rive b/rs/en_US/DT_Trigger.rive new file mode 100644 index 0000000..ce6bc62 --- /dev/null +++ b/rs/en_US/DT_Trigger.rive @@ -0,0 +1,12 @@ + +/* ##suggest## +? .* execute.* ((?:la |le |l ).*) +@ execute +*/ + ++ shortcut trigger command * dev * +- do_bool_or_trigger_command fr_FR, , + ++ (execute) * +@ shortcut trigger command DT_Trigger dev + diff --git a/rs/en_US/begin.rive b/rs/en_US/begin.rive new file mode 100644 index 0000000..e300f4a --- /dev/null +++ b/rs/en_US/begin.rive @@ -0,0 +1,5 @@ +////////////////////////////////////////////////// +// shortcuts + +// TODO. See fr_FR for examples + diff --git a/rs/en_US/python_do_bool_or_trigger_command.rive b/rs/en_US/python_do_bool_or_trigger_command.rive new file mode 100644 index 0000000..64f9614 --- /dev/null +++ b/rs/en_US/python_do_bool_or_trigger_command.rive @@ -0,0 +1,13 @@ +> object do_bool_or_trigger_command python + from domogik.butler.brain import do_command + tab_args = ' '.join(args).split(",") + locale = tab_args[0].strip() + dt_type_list = tab_args[1].strip() + device = tab_args[2].strip() + value = tab_args[3].strip() + res = do_command(rs.log, locale, dt_type_list=dt_type_list, device=device, value=value) + if value == None: + return "Error" + else: + return "OK" +< object diff --git a/rs/en_US/python_do_color_command.rive b/rs/en_US/python_do_color_command.rive new file mode 100644 index 0000000..b6ceafb --- /dev/null +++ b/rs/en_US/python_do_color_command.rive @@ -0,0 +1,249 @@ +> object do_color_command python + from domogik_packages.brain_base.lib.color_command import color_command + + # source : https://gist.githubusercontent.com/lunohodov/1995178/raw/cb8cf1ebe1d1b8fa5759e287ebd6eaecbe3bc3e4/ral_standard.csv + # regexp to generate the dictionnary content : + # cat ral_standard.csv | sed "s/^.*,#\(......\),.*,.*,\(.*\),.*,.*,.*$/\"\2\" : \"\1\",/" + # first part of the dictionnary is manually made to get the basic colors. The second part is build as described the lines before. + basic_colors = { + "Black" : "000000", + "White" : "ffffff", + "Red" : "ff0000", + "Green" : "00ff00", + "Blue" : "0000ff", + "Yellow" : "ffff00", + "Pink" : "fd6c9e", + "Brown" : "582900", + "Purple" : "660099", + "Orange" : "ed7f10", + "Grey" : "606060" + } + + colors = { + "Green beige" : "BEBD7F", + "Beige" : "C2B078", + "Sand yellow" : "C6A664", + "Signal yellow" : "E5BE01", + "Golden yellow" : "CDA434", + "Honey yellow" : "A98307", + "Maize yellow" : "E4A010", + "Daffodil yellow" : "DC9D00", + "Brown beige" : "8A6642", + "Lemon yellow" : "C7B446", + "Oyster white" : "EAE6CA", + "Ivory" : "E1CC4F", + "Light ivory" : "E6D690", + "Sulfur yellow" : "EDFF21", + "Saffron yellow" : "F5D033", + "Zinc yellow" : "F8F32B", + "Grey beige" : "9E9764", + "Olive yellow" : "999950", + "Rape yellow" : "F3DA0B", + "Traffic yellow" : "FAD201", + "Ochre yellow" : "AEA04B", + "Luminous yellow" : "FFFF00", + "Curry" : "9D9101", + "Melon yellow" : "F4A900", + "Broom yellow" : "D6AE01", + "Dahlia yellow" : "F3A505", + "Pastel yellow" : "EFA94A", + "Pearl beige" : "6A5D4D", + "Pearl gold" : "705335", + "Sun yellow" : "F39F18", + "Yellow orange" : "ED760E", + "Red orange" : "C93C20", + "Vermilion" : "CB2821", + "Pastel orange" : "FF7514", + "Pure orange" : "F44611", + "Luminous orange" : "FF2301", + "Luminous bright orange" : "FFA420", + "Bright red orange" : "F75E25", + "Traffic orange" : "F54021", + "Signal orange" : "D84B20", + "Deep orange" : "EC7C26", + "Salmon range" : "E55137", + "Pearl orange" : "C35831", + "Flame red" : "AF2B1E", + "Signal red" : "A52019", + "Carmine red" : "A2231D", + "Ruby red" : "9B111E", + "Purple red" : "75151E", + "Wine red" : "5E2129", + "Black red" : "412227", + "Oxide red" : "642424", + "Brown red" : "781F19", + "Beige red" : "C1876B", + "Tomato red" : "A12312", + "Antique pink" : "D36E70", + "Light pink" : "EA899A", + "Coral red" : "B32821", + "Rose" : "E63244", + "Strawberry red" : "D53032", + "Traffic red" : "CC0605", + "Salmon pink" : "D95030", + "Luminous red" : "F80000", + ""Luminous bright red"" : "FE0000", + "Raspberry red" : "C51D34", + "Pure  red" : "CB3234", + "Orient red" : "B32428", + "Pearl ruby red" : "721422", + "Pearl pink" : "B44C43", + "Red lilac" : "6D3F5B", + "Red violet" : "922B3E", + "Heather violet" : "DE4C8A", + "Claret violet" : "641C34", + "Blue lilac" : "6C4675", + "Traffic purple" : "A03472", + "Purple violet" : "4A192C", + "Signal violet" : "924E7D", + "Pastel violet" : "A18594", + "Telemagenta" : "CF3476", + "Pearl violet" : "8673A1", + "Pearl black berry" : "6C6874", + "Violet blue" : "354D73", + "Green blue" : "1F3438", + "Ultramarine blue" : "20214F", + "Saphire blue" : "1D1E33", + "Black blue" : "18171C", + "Signal blue" : "1E2460", + "Brillant blue" : "3E5F8A", + "Grey blue" : "26252D", + "Azure blue" : "025669", + "Gentian blue" : "0E294B", + "Steel blue" : "231A24", + "Light blue" : "3B83BD", + "Cobalt blue" : "1E213D", + "Pigeon blue" : "606E8C", + "Sky blue" : "2271B3", + "Traffic blue" : "063971", + "Turquoise blue" : "3F888F", + "Capri blue" : "1B5583", + "Ocean blue" : "1D334A", + "Water blue" : "256D7B", + "Night blue" : "252850", + "Distant blue" : "49678D", + "Pastel blue" : "5D9B9B", + "Pearl gentian blue" : "2A6478", + "Pearl night blue" : "102C54", + "Patina green" : "316650", + "Emerald green" : "287233", + "Leaf green" : "2D572C", + "Olive green" : "424632", + "Blue green" : "1F3A3D", + "Moss green" : "2F4538", + "Grey olive" : "3E3B32", + "Bottle green" : "343B29", + "Brown green" : "39352A", + "Fir green" : "31372B", + "Grass green" : "35682D", + "Reseda green" : "587246", + "Black green" : "343E40", + "Reed green" : "6C7156", + "Yellow olive" : "47402E", + "Black olive" : "3B3C36", + "Turquoise green" : "1E5945", + "May green" : "4C9141", + "Yellow green" : "57A639", + "Pastel green" : "BDECB6", + "Chrome green" : "2E3A23", + "Pale green" : "89AC76", + "Olive drab" : "25221B", + "Traffic green" : "308446", + "Fern green" : "3D642D", + "Opal green" : "015D52", + "Light green" : "84C3BE", + "Pine green" : "2C5545", + "Mint green" : "20603D", + "Signal green" : "317F43", + "Mint turquoise" : "497E76", + "Pastel turquoise" : "7FB5B5", + "Pearl green" : "1C542D", + "Pearl opal green" : "193737", + "Pure green" : "008F39", + "Luminous green" : "00BB2D", + "Squirrel grey" : "78858B", + "Silver grey" : "8A9597", + "Olive grey" : "7E7B52", + "Moss grey" : "6C7059", + "Signal grey" : "969992", + "Mouse grey" : "646B63", + "Beige grey" : "6D6552", + "Khaki grey" : "6A5F31", + "Green grey" : "4D5645", + "Tarpaulin grey" : "4C514A", + "Iron grey" : "434B4D", + "Basalt grey" : "4E5754", + "Brown grey" : "464531", + "Slate grey" : "434750", + "Anthracite grey" : "293133", + "Black grey" : "23282B", + "Umbra grey" : "332F2C", + "Concrete grey" : "686C5E", + "Graphite grey" : "474A51", + "Granite grey" : "2F353B", + "Stone grey" : "8B8C7A", + "Blue grey" : "474B4E", + "Pebble grey" : "B8B799", + "Cement grey" : "7D8471", + "Yellow grey" : "8F8B66", + "Light grey" : "D7D7D7", + "Platinum grey" : "7F7679", + "Dusty grey" : "7D7F7D", + "Agate grey" : "B5B8B1", + "Quartz grey" : "6C6960", + "Window grey" : "9DA1AA", + "Traffic grey A" : "8D948D", + "Traffic grey B" : "4E5452", + "Silk grey" : "CAC4B0", + "Telegrey 1" : "909090", + "Telegrey 2" : "82898F", + "Telegrey 4" : "D0D0D0", + "Pearl mouse grey" : "898176", + "Green brown" : "826C34", + "Ochre brown" : "955F20", + "Signal brown" : "6C3B2A", + "Clay brown" : "734222", + "Copper brown" : "8E402A", + "Fawn brown" : "59351F", + "Olive brown" : "6F4F28", + "Nut brown" : "5B3A29", + "Red brown" : "592321", + "Sepia brown" : "382C1E", + "Chestnut brown" : "633A34", + "Mahogany brown" : "4C2F27", + "Chocolate brown" : "45322E", + "Grey brown" : "403A3A", + "Black brown" : "212121", + "Orange brown" : "A65E2E", + "Beige brown" : "79553D", + "Pale brown" : "755C48", + "Terra brown" : "4E3B31", + "Pearl copper" : "763C28", + "Cream" : "FDF4E3", + "Grey white" : "E7EBDA", + "Signal white" : "F4F4F4", + "Signal black" : "282828", + "Jet black" : "0A0A0A", + "White aluminium" : "A5A5A5", + "Grey aluminium" : "8F8F8F", + "Pure white" : "FFFFFF", + "Graphite black" : "1C1C1C", + "Traffic white" : "F6F6F6", + "Traffic black" : "1E1E1E", + "Papyrus white" : "D7D7D7", + "Pearl light grey" : "9C9C9C", + "Pearl dark grey" : "828282" + } + + cfg_i18n = {} + cfg_i18n['BASIC_COLORS'] = basic_colors + cfg_i18n['COLORS'] = colors + cfg_i18n['DONE'] = u"OK" + cfg_i18n['UNKNOWN_DEVICE'] = u"I don't known what is : " + cfg_i18n['UNKNOWN_COLOR'] = u"I don't knownthis color" + cfg_i18n['TXT_BASIC_COLORS_1'] = u"Basic colors are" + cfg_i18n['TXT_BASIC_COLORS_2'] = u"There are also plenty of other colors available. You can ask me declensions for a base color." + cfg_i18n['TXT_COLOR_LIST'] = u"Here are the declensions of " + + return color_command(rs.log, args, cfg_i18n) +< object diff --git a/rs/en_US/python_get_sensor_value.rive b/rs/en_US/python_get_sensor_value.rive index f2ae45e..f9390be 100644 --- a/rs/en_US/python_get_sensor_value.rive +++ b/rs/en_US/python_get_sensor_value.rive @@ -1,11 +1,17 @@ > object get_sensor_value python from domogik.butler.brain import get_sensor_value - locale = args[0] - dt_type = args[1] - unit = args[2] - device_name = args[3:] + tab_args = ' '.join(args).split(",") + print(tab_args[0]) + print(tab_args[0].strip()) + locale = tab_args[0].strip() + dt_type = tab_args[1].strip() + unit = tab_args[2].strip() + device_name = tab_args[3].strip() value = get_sensor_value(rs.log, locale, dt_type, device_name) if value == None: return "unknown" - return "{0} {1}".format(value, unit) + if unit != "": + return u"{0} {1}".format(value, unit) + else: + return u"{0}".format(value) < object diff --git a/rs/en_US/python_trigger_bool_command.rive b/rs/en_US/python_trigger_bool_command.rive deleted file mode 100644 index c262184..0000000 --- a/rs/en_US/python_trigger_bool_command.rive +++ /dev/null @@ -1,13 +0,0 @@ -> object trigger_bool_command python - from domogik.butler.brain import trigger_bool_command - tab_args = ' '.join(args).split("__SEP__") - locale = tab_args[0] - dt_type = tab_args[1] - device = tab_args[2] - value = tab_args[3] - res = trigger_bool_command(rs.log, locale, dt_type=dt_type, device=device, value=value) - if value == None: - return "Error" - else: - return "OK" -< object diff --git a/rs/fr_FR/DT_Basic_sensors.rive b/rs/fr_FR/DT_Basic_sensors.rive new file mode 100644 index 0000000..1d2f4c6 --- /dev/null +++ b/rs/fr_FR/DT_Basic_sensors.rive @@ -0,0 +1,22 @@ +// DT_Basics is a file for all sensors of : +// - DT_Number +// - DT_String +// - DT_Bool + + +/* ##suggest## +? .* valeur .* ((?:a |de la |de l |de |du |dans le |dans la |dans l |dans |d ).*) +@ quelle est la valeur +*/ + + +// raccourci +// double ,, car pas d'unité ++ shortcut basic * +- La valeur est get_sensor_value fr_FR, DT_Number|DT_String|DT_Bool, , + +// phrases ++ @donneMoi la valeur [@cible] * +@shortcut basic + + diff --git a/rs/fr_FR/DT_Bool.rive b/rs/fr_FR/DT_Bool.rive index 3452f13..ec0562c 100644 --- a/rs/fr_FR/DT_Bool.rive +++ b/rs/fr_FR/DT_Bool.rive @@ -1,3 +1,6 @@ +// Ce fichier comprend tous les enfants de DT_Bool + +//////// Actions /* ##suggest## ? .* allume.* ((?:la |le |l ).*) @@ -5,23 +8,121 @@ */ /* ##suggest## -? .* (?:eteind|eteigne).* ((?:la |le |l ).*) +? .* (?:etein|eteigne).* ((?:la |le |l ).*) @ eteindre */ - + shortcut bool command * dev * val * -- trigger_bool_command fr_FR__SEP____SEP____SEP__ +- do_bool_or_trigger_command fr_FR, , , + (allume|allumes|allumer) [@pronom] * -@ shortcut bool command DT_Switch dev val 1 +@ shortcut bool command DT_Switch|DT_ColorRGBHexa dev val 1 -+ (eteind|eteinds|eteindre) [@pronom] * -@ shortcut bool command DT_Switch dev val 0 ++ (etein|eteins|eteindre) [@pronom] * +@ shortcut bool command DT_Switch|DT_ColorRGBHexa dev val 0 + active [@pronom] * -@ shortcut bool command DT_Enable dev val 1 +@ shortcut bool command DT_Enable dev val 1 + desactive [@pronom] * -@ shortcut bool command DT_Enable dev val 0 +@ shortcut bool command DT_Enable dev val 0 + + +//////// Lumières/prises - Etat - 1 - status +! array switch = la prise|la lumiere + ++ shortcut switch status * +* get_sensor_value fr_FR, DT_Switch|DT_ColorRGBHexa, , > == inconnue => Je ne connais pas +* == 0 => Eteind +* == 000000 => Eteind +- Allumé + ++ comment est (@switch) [@cible] * +@ shortcut switch status + + +//////// Lumières/prises - Etat - 2 - allumé ? + ++ shortcut is switch on * +* get_sensor_value fr_FR, DT_Switch|DT_ColorRGBHexa, , > == inconnue => Je ne connais pas +* == 0 => Non +* == 000000 => Non +- Oui + ++ est[-]ce que (@switch) est allume@e [@cible] * +@ shortcut is switch on + ++ est[-]ce que (@switch) [@cible] * est allume@e +@ shortcut is switch on + ++ est[-]ce que [@pronom] * est allume@e +@ shortcut is switch on + + +//////// Lumières/prises - Etat - 3 - éteind ? + ++ shortcut is switch off * +* get_sensor_value fr_FR, DT_Switch|DT_ColorRGBHexa, , > == inconnue => Je ne connais pas +* == 0 => Oui +* == 000000 => Oui +- Non + ++ est[-]ce que (@switch) est (eteinte|coupe@e) [@cible] * +@ shortcut is switch off + ++ est[-]ce que (@switch) [@cible] * est (eteinte|coupe@e) +@ shortcut is switch off + ++ est[-]ce que [@pronom] * est (eteinte|coupe@e) +@ shortcut is switch off + + + + + +//////// Ouvertures - Etat - 1 - status +// note : volet et rideau au pluriel car il peut y en avoir 2 par ouvrant +! array openclose = la porte fenetre|la porte de garage|la porte|la fenetre|la baie vitree|la baie|le volet|les volets|la persienne|le rideau|les rideaux|le store|le velux + ++ shortcut openclose status * +* get_sensor_value fr_FR, DT_OpenClose, , > == inconnue => Je ne connais pas +* == 0 => Ouvert +- Fermé + ++ comment est (@openclose) [@cible] * +@ shortcut openclose status + + +//////// Ouvertures - Etat - 2 - fermée (1) ? + ++ shortcut is openclose closed * +* get_sensor_value fr_FR, DT_OpenClose, , > == inconnue => Je ne connais pas +* == 0 => Non +- Oui + ++ est[-]ce que (@openclose) est ferme@e [@cible] * +@ shortcut is openclose closed + ++ est[-]ce que (@openclose) [@cible] * est ferme@e +@ shortcut is openclose closed + ++ est[-]ce que [@pronom] * est ferme@e +@ shortcut is openclose closed + + +//////// Ouvertures - Etat - 3 - ouverte ? + ++ shortcut is openclose open * +* get_sensor_value fr_FR, DT_OpenClose, , > == inconnue => Je ne connais pas +* == 0 => Oui +- Non + ++ est[-]ce que (@openclose) est ouvert@e [@cible] * +@ shortcut is openclose open + ++ est[-]ce que (@openclose) [@cible] * est ouvert@e +@ shortcut is openclose open + ++ est[-]ce que [@pronom] * est (eteinte|coupe@e) +@ shortcut is openclose open diff --git a/rs/fr_FR/DT_ColorRGBHexa.rive b/rs/fr_FR/DT_ColorRGBHexa.rive new file mode 100644 index 0000000..3b44fbe --- /dev/null +++ b/rs/fr_FR/DT_ColorRGBHexa.rive @@ -0,0 +1,51 @@ +// Changement de couleur + ++ shortcut color command * dev * val * +- do_color_command fr_FR, , , + ++ (met|mets|allume|allumes|allumer) [@pronom] * en * +@ shortcut color command DT_ColorRGBHexa dev val + ++ change la couleur [@pronom] * en * +@ shortcut color command DT_ColorRGBHexa dev val + ++ (met|mets|change|changes) la couleur * [@cible] * +@ shortcut color command DT_ColorRGBHexa dev val + + +// Information sur les couleurs de base disponibles +// il y a tellement de manières de demander la listes des couleurs, qu'ici je choisis de tout baser sur les suggestions... + +/* ##suggest## +? .* couleurs disponible.* +@ quelles couleurs sont disponibles +*/ + +/* ##suggest## +? .*quelles (.*) couleurs.* +@ quelles couleurs sont disponibles +*/ + +/* ##suggest## +? .* liste.* couleur.* +@ quelles couleurs sont disponibles +*/ + ++ @quel couleurs sont disponibles +@ shortcut color command DT_ColorRGBHexa dev null val listcolors + + +// Informations sur les déclinaisons des couleurs de base + +/* ##suggest## +? .* nuances.* couleur (.*) +@ quelles sont les declinaisons de la couleur +*/ + +/* ##suggest## +? .* déclinaisons.* couleur (.*) +@ quelles sont les declinaisons de la couleur +*/ + ++ @quel sont les declinaisons de la couleur * +- do_color_command fr_FR, DT_ColorRGBHexa, null, detailcolor, diff --git a/rs/fr_FR/DT_Humidity.rive b/rs/fr_FR/DT_Humidity.rive index 1ad041d..86a76d2 100644 --- a/rs/fr_FR/DT_Humidity.rive +++ b/rs/fr_FR/DT_Humidity.rive @@ -7,7 +7,7 @@ // raccourci + shortcut humidity * -- L'humidité est get_sensor_value fr_FR DT_Humidity pourcents +- L'humidité est get_sensor_value fr_FR, DT_Humidity, pourcents, // phrases + @donneMoi l humidite [@cible] * diff --git a/rs/fr_FR/DT_String.rive b/rs/fr_FR/DT_String.rive new file mode 100644 index 0000000..bbf65fd --- /dev/null +++ b/rs/fr_FR/DT_String.rive @@ -0,0 +1,17 @@ + +/* ##suggest## +? .* xxxx .* ((?:a |de la |de l |de |du |dans le |dans la |dans l |dans |d ).*) +@ quelle est la xxxx +*/ + + +// raccourci +// double ,, car pas d'unité ++ shortcut string * +- La xxxx est get_sensor_value fr_FR, DT_String, , + +// phrases ++ @donneMoi le contenu [@cible] * +@shortcut string + + diff --git a/rs/fr_FR/DT_Temp.rive b/rs/fr_FR/DT_Temp.rive index 9ce21e0..1388cc5 100644 --- a/rs/fr_FR/DT_Temp.rive +++ b/rs/fr_FR/DT_Temp.rive @@ -7,7 +7,7 @@ // raccourci + shortcut temperature * -- La température est get_sensor_value fr_FR DT_Temp degrés +- La température est get_sensor_value fr_FR, DT_Temp, degrés, // phrases + combien [fait il|fait-il|il fait] [@cible] * diff --git a/rs/fr_FR/DT_Trigger.rive b/rs/fr_FR/DT_Trigger.rive new file mode 100644 index 0000000..50974e7 --- /dev/null +++ b/rs/fr_FR/DT_Trigger.rive @@ -0,0 +1,12 @@ + +/* ##suggest## +? .* execute.* ((?:la |le |l ).*) +@ execute +*/ + ++ shortcut trigger command * dev * +- do_bool_or_trigger_command fr_FR, , + ++ (execute|executer) [@pronom] * +@ shortcut trigger command DT_Trigger dev + diff --git a/rs/fr_FR/begin.rive b/rs/fr_FR/begin.rive index 23d8fee..cfe84f8 100644 --- a/rs/fr_FR/begin.rive +++ b/rs/fr_FR/begin.rive @@ -1,7 +1,8 @@ ////////////////////////////////////////////////// -// Gestion du pluriel en option +// Gestion du pluriel/féminin en option // Exemple d'usage : pomme@s => corresond a pomme ou pommes ! array s = |s +! array e = |e ////////////////////////////////////////////////// // Raccourcis vers des classiques pour eviter l'usage de (..|..|..|..) partout @@ -9,7 +10,7 @@ // pour rappel, l'apostrophe est remplace par un espace par le butler ! array pronom = le la les l -! array cible = a|de la|de l|de|du|dans le|dans la|dans l|dans|d +! array cible = a|de la|de l|de|du|dans le|dans la|dans l|dans|d|sur le|sur la|sur l ! array quel = quel quelle quels quelles diff --git a/rs/fr_FR/learn.rive b/rs/fr_FR/learn.rive index be47606..80a3949 100644 --- a/rs/fr_FR/learn.rive +++ b/rs/fr_FR/learn.rive @@ -32,6 +32,8 @@ // ##feature## apprendre +// le séparateur est __SEP__ et pas la virgule car la virgule peut être utilisée dans le trigger ou la réponse + // trigger => réponse + (si|lorsque|quand) (je|on) [te] (dis|dit) * [je|on] [veux|veut|souhaite@s] [que] tu [me|nous] (repond@s|reponde@s|dise@s) * - learn_trigger_response __SEP__ diff --git a/rs/fr_FR/python_do_bool_or_trigger_command.rive b/rs/fr_FR/python_do_bool_or_trigger_command.rive new file mode 100644 index 0000000..176062a --- /dev/null +++ b/rs/fr_FR/python_do_bool_or_trigger_command.rive @@ -0,0 +1,16 @@ +> object do_bool_or_trigger_command python + from domogik.butler.brain import do_command + tab_args = ' '.join(args).split(",") + locale = tab_args[0].strip() + dt_type_list = tab_args[1].strip() + device = tab_args[2].strip() + if len(tab_args) > 3: + value = tab_args[3].strip() + else: + value = None + res = do_command(rs.log, locale, dt_type_list=dt_type_list, device=device, value=value) + if res == None: + return u"Je ne sais pas ce qu'est : {0}".format(device) + else: + return u"OK" +< object diff --git a/rs/fr_FR/python_do_color_command.rive b/rs/fr_FR/python_do_color_command.rive new file mode 100644 index 0000000..9d4b2c8 --- /dev/null +++ b/rs/fr_FR/python_do_color_command.rive @@ -0,0 +1,248 @@ +> object do_color_command python + from domogik_packages.brain_base.lib.color_command import color_command + + # source : https://gist.githubusercontent.com/lunohodov/1995178/raw/cb8cf1ebe1d1b8fa5759e287ebd6eaecbe3bc3e4/ral_standard.csv + # regexp to generate the dictionnary content : + # cat ral_standard.csv | sed "s/^.*,#\(......\),.*,.*,\(.*\),.*,.*,.*$/\"\2\" : \"\1\",/" + # first part of the dictionnary is manually made to get the basic colors. The second part is build as described the lines before. + basic_colors = { + "Noir" : "000000", + "Blanc" : "ffffff", + "Rouge" : "ff0000", + "Vert" : "00ff00", + "Bleu" : "0000ff", + "Jaune" : "ffff00", + "Rose" : "fd6c9e", + "Marron" : "582900", + "Violet" : "660099", + "Orange" : "ed7f10", + "Beige" : "C2B078", + "Gris" : "606060" + } + + colors = { + "Beige vert" : "BEBD7F", + "Jaune sable" : "C6A664", + "Jaune de sécurité" : "E5BE01", + "Jaune or" : "CDA434", + "Jaune miel" : "A98307", + "Jaune maïs" : "E4A010", + "Jaune narcisse" : "DC9D00", + "Beige brun" : "8A6642", + "Jaune citron" : "C7B446", + "Blanc perlé" : "EAE6CA", + "Ivoire" : "E1CC4F", + "Ivoire clair" : "E6D690", + "Jaune soufre" : "EDFF21", + "Jaune safran" : "F5D033", + "Jaune zinc" : "F8F32B", + "Beige gris" : "9E9764", + "Jaune olive" : "999950", + "Jaune colza" : "F3DA0B", + "Jaune signalisation" : "FAD201", + "Jaune ocre" : "AEA04B", + "Jaune brillant" : "FFFF00", + "Jaune curry" : "9D9101", + "Jaune melon" : "F4A900", + "Jaune genêt" : "D6AE01", + "Jaune dahlia" : "F3A505", + "Jaune pastel" : "EFA94A", + "Beige nacré" : "6A5D4D", + "Or nacré" : "705335", + "Jaune soleil" : "F39F18", + "Orangé jaune" : "ED760E", + "Orangé rouge" : "C93C20", + "Orangé sang" : "CB2821", + "Orangé pastel" : "FF7514", + "Orangé pur" : "F44611", + "Orangé brillant" : "FF2301", + "Orangé clair rillant" : "FFA420", + "Orangé rouge clair" : "F75E25", + "Orangé signalisation" : "F54021", + "Orangé de sécurité" : "D84B20", + "Orangé foncé" : "EC7C26", + "Orangé saumon" : "E55137", + "Orangé nacré" : "C35831", + "Rouge feu" : "AF2B1E", + "Rouge de sécurité" : "A52019", + "Rouge carmin" : "A2231D", + "Rouge rubis" : "9B111E", + "Rouge pourpre" : "75151E", + "Rouge vin" : "5E2129", + "Rouge noir" : "412227", + "Rouge oxyde" : "642424", + "Rouge brun" : "781F19", + "Rouge beige" : "C1876B", + "Rouge tomate" : "A12312", + "Vieux rose" : "D36E70", + "Rose clair" : "EA899A", + "Rouge corail" : "B32821", + "Rosé" : "E63244", + "Rouge fraise" : "D53032", + "Rouge signalisation" : "CC0605", + "Rouge saumon" : "D95030", + "Rouge brillant" : "F80000", + "Rouge clair brillant" : "FE0000", + "Rouge framboise" : "C51D34", + "Rouge puro" : "CB3234", + "Rouge oriental" : "B32428", + "Rouge rubis nacré" : "721422", + "Rose nacré" : "B44C43", + "Lilas rouge" : "6D3F5B", + "Violet rouge" : "922B3E", + "Violet bruyère" : "DE4C8A", + "Violet bordeaux" : "641C34", + "Lilas bleu" : "6C4675", + "Pourpre signalisation" : "A03472", + "Violet pourpre" : "4A192C", + "Violet de sécurité" : "924E7D", + "Violet pastel" : "A18594", + "Telemagenta" : "CF3476", + "Violet nacré" : "8673A1", + "Mûre nacré" : "6C6874", + "Bleu violet" : "354D73", + "Bleu vert" : "1F3438", + "Bleu outremer" : "20214F", + "Bleu saphir" : "1D1E33", + "Bleu noir" : "18171C", + "Bleu de sécurité" : "1E2460", + "Bleu brillant" : "3E5F8A", + "Bleu gris" : "26252D", + "Bleu azur" : "025669", + "Bleu gentiane" : "0E294B", + "Bleu acier" : "231A24", + "Bleu clair" : "3B83BD", + "Bleu cobalt" : "1E213D", + "Bleu pigeon" : "606E8C", + "Bleu ciel" : "2271B3", + "Bleu signalisation" : "063971", + "Bleu turquoise" : "3F888F", + "Bleu capri" : "1B5583", + "Bleu océan" : "1D334A", + "Bleu d’eau" : "256D7B", + "Bleu nocturne" : "252850", + "Bleu distant" : "49678D", + "Bleu pastel" : "5D9B9B", + "Gentiane nacré" : "2A6478", + "Bleu nuit nacré" : "102C54", + "Vert patine" : "316650", + "Vert émeraude" : "287233", + "Vert feuillage" : "2D572C", + "Vert olive" : "424632", + "Vert bleu" : "1F3A3D", + "Vert mousse" : "2F4538", + "Olive gris" : "3E3B32", + "Vert bouteille" : "343B29", + "Vert brun" : "39352A", + "Vert sapin" : "31372B", + "Vert herbe" : "35682D", + "Vert réséda" : "587246", + "Vert noir" : "343E40", + "Vert jonc" : "6C7156", + "Olive jaune" : "47402E", + "Olive noir" : "3B3C36", + "Vert turquoise" : "1E5945", + "Vert mai" : "4C9141", + "Vert jaune" : "57A639", + "Vert blanc" : "BDECB6", + "Vert oxyde chromique" : "2E3A23", + "Vert pâle" : "89AC76", + "Olive brun" : "25221B", + "Vert signalisation" : "308446", + "Vert fougère" : "3D642D", + "Vert opale" : "015D52", + "Vert clair" : "84C3BE", + "Vert pin" : "2C5545", + "Vert menthe" : "20603D", + "Vert de sécurité" : "317F43", + "Turquoise menthe" : "497E76", + "Turquoise pastel" : "7FB5B5", + "Vert nacré" : "1C542D", + "Vert opal nacré" : "193737", + "Vert pur" : "008F39", + "Vert brillant" : "00BB2D", + "Gris petit-gris" : "78858B", + "Gris argent" : "8A9597", + "Gris olive" : "7E7B52", + "Gris mousse" : "6C7059", + "Gris de sécurité" : "969992", + "Gris souris" : "646B63", + "Gris beige" : "6D6552", + "Gris kaki" : "6A5F31", + "Gris vert" : "4D5645", + "Gris tente" : "4C514A", + "Gris fer" : "434B4D", + "Gris basalte" : "4E5754", + "Gris brun" : "464531", + "Gris ardoise" : "434750", + "Gris anthracite" : "293133", + "Gris noir" : "23282B", + "Gris terre d’ombre" : "332F2C", + "Gris béton" : "686C5E", + "Gris graphite" : "474A51", + "Gris granit" : "2F353B", + "Gris pierre" : "8B8C7A", + "Gris bleu" : "474B4E", + "Gris silex" : "B8B799", + "Gris ciment" : "7D8471", + "Gris jaune" : "8F8B66", + "Gris clair" : "D7D7D7", + "Gris platine" : "7F7679", + "Gris poussière" : "7D7F7D", + "Gris agate" : "B5B8B1", + "Gris quartz" : "6C6960", + "Gris fenêtre" : "9DA1AA", + "Gris signalisation A" : "8D948D", + "Gris signalisation B" : "4E5452", + "Gris soie" : "CAC4B0", + "Telegris 1" : "909090", + "Telegris 2" : "82898F", + "Telegris 4" : "D0D0D0", + "Gris souris nacré" : "898176", + "Brun vert" : "826C34", + "Brun terre de Sienne" : "955F20", + "Brun de sécurité" : "6C3B2A", + "Brun argile" : "734222", + "Brun cuivré" : "8E402A", + "Brun fauve" : "59351F", + "Brun olive" : "6F4F28", + "Brun noisette" : "5B3A29", + "Brun rouge" : "592321", + "Brun sépia" : "382C1E", + "Brun acajou" : "4C2F27", + "Brun chocolat" : "45322E", + "Brun gris" : "403A3A", + "Brun noir" : "212121", + "Brun orangé" : "A65E2E", + "Brun beige" : "79553D", + "Brun pâle" : "755C48", + "Brun terre" : "4E3B31", + "Cuivre nacré" : "763C28", + "Blanc crème" : "FDF4E3", + "Blanc gris" : "E7EBDA", + "Blanc de sécurité" : "F4F4F4", + "Noir de sécurité" : "282828", + "Noir foncé" : "0A0A0A", + "Aluminium blanc" : "A5A5A5", + "Aluminium gris" : "8F8F8F", + "Blanc pur" : "FFFFFF", + "Noir graphite" : "1C1C1C", + "Blanc signalisation" : "F6F6F6", + "Noir signalisation" : "1E1E1E", + "Blanc papyrus" : "D7D7D7", + "Gris clair nacré" : "9C9C9C", + "Gris fonçé nacré" : "828282" + } + + cfg_i18n = {} + cfg_i18n['BASIC_COLORS'] = basic_colors + cfg_i18n['COLORS'] = colors + cfg_i18n['DONE'] = u"OK" + cfg_i18n['UNKNOWN_DEVICE'] = u"Je ne sais pas ce qu'est : " + cfg_i18n['UNKNOWN_COLOR'] = u"Je ne connais pas cette couleur" + cfg_i18n['TXT_BASIC_COLORS_1'] = u"Les couleurs de base sont" + cfg_i18n['TXT_BASIC_COLORS_2'] = u"Il y a aussi plein d'autres couleurs disponibles. Vous pouvez me demander les déclinaisons pour une couleur de base" + cfg_i18n['TXT_COLOR_LIST'] = u"Voici les déclinaisons de " + + return color_command(rs.log, args, cfg_i18n) +< object diff --git a/rs/fr_FR/python_do_color_command.rive.bck b/rs/fr_FR/python_do_color_command.rive.bck new file mode 100644 index 0000000..a8b4a48 --- /dev/null +++ b/rs/fr_FR/python_do_color_command.rive.bck @@ -0,0 +1,281 @@ +> object do_color_command python + + # source : https://gist.githubusercontent.com/lunohodov/1995178/raw/cb8cf1ebe1d1b8fa5759e287ebd6eaecbe3bc3e4/ral_standard.csv + # regexp to generate the dictionnary content : + # cat ral_standard.csv | sed "s/^.*,#\(......\),.*,.*,\(.*\),.*,.*,.*$/\"\2\" : \"\1\",/" + # first part of the dictionnary is manually made to get the basic colors. The second part is build as described the lines before. + basic_colors = { + "Noir" : "000000", + "Blanc" : "ffffff", + "Rouge" : "ff0000", + "Vert" : "00ff00", + "Bleu" : "0000ff", + "Jaune" : "ffff00", + "Rose" : "fd6c9e", + "Marron" : "582900", + "Violet" : "660099", + "Orange" : "ed7f10", + "Gris" : "606060" + } + + colors = { + "Beige vert" : "BEBD7F", + "Beige" : "C2B078", + "Jaune sable" : "C6A664", + "Jaune de sécurité" : "E5BE01", + "Jaune or" : "CDA434", + "Jaune miel" : "A98307", + "Jaune maïs" : "E4A010", + "Jaune narcisse" : "DC9D00", + "Beige brun" : "8A6642", + "Jaune citron" : "C7B446", + "Blanc perlé" : "EAE6CA", + "Ivoire" : "E1CC4F", + "Ivoire clair" : "E6D690", + "Jaune soufre" : "EDFF21", + "Jaune safran" : "F5D033", + "Jaune zinc" : "F8F32B", + "Beige gris" : "9E9764", + "Jaune olive" : "999950", + "Jaune colza" : "F3DA0B", + "Jaune signalisation" : "FAD201", + "Jaune ocre" : "AEA04B", + "Jaune brillant" : "FFFF00", + "Jaune curry" : "9D9101", + "Jaune melon" : "F4A900", + "Jaune genêt" : "D6AE01", + "Jaune dahlia" : "F3A505", + "Jaune pastel" : "EFA94A", + "Beige nacré" : "6A5D4D", + "Or nacré" : "705335", + "Jaune soleil" : "F39F18", + "Orangé jaune" : "ED760E", + "Orangé rouge" : "C93C20", + "Orangé sang" : "CB2821", + "Orangé pastel" : "FF7514", + "Orangé pur" : "F44611", + "Orangé brillant" : "FF2301", + "Orangé clair rillant" : "FFA420", + "Orangé rouge clair" : "F75E25", + "Orangé signalisation" : "F54021", + "Orangé de sécurité" : "D84B20", + "Orangé foncé" : "EC7C26", + "Orangé saumon" : "E55137", + "Orangé nacré" : "C35831", + "Rouge feu" : "AF2B1E", + "Rouge de sécurité" : "A52019", + "Rouge carmin" : "A2231D", + "Rouge rubis" : "9B111E", + "Rouge pourpre" : "75151E", + "Rouge vin" : "5E2129", + "Rouge noir" : "412227", + "Rouge oxyde" : "642424", + "Rouge brun" : "781F19", + "Rouge beige" : "C1876B", + "Rouge tomate" : "A12312", + "Vieux rose" : "D36E70", + "Rose clair" : "EA899A", + "Rouge corail" : "B32821", + "Rosé" : "E63244", + "Rouge fraise" : "D53032", + "Rouge signalisation" : "CC0605", + "Rouge saumon" : "D95030", + "Rouge brillant" : "F80000", + "Rouge clair brillant" : "FE0000", + "Rouge framboise" : "C51D34", + "Rouge puro" : "CB3234", + "Rouge oriental" : "B32428", + "Rouge rubis nacré" : "721422", + "Rose nacré" : "B44C43", + "Lilas rouge" : "6D3F5B", + "Violet rouge" : "922B3E", + "Violet bruyère" : "DE4C8A", + "Violet bordeaux" : "641C34", + "Lilas bleu" : "6C4675", + "Pourpre signalisation" : "A03472", + "Violet pourpre" : "4A192C", + "Violet de sécurité" : "924E7D", + "Violet pastel" : "A18594", + "Telemagenta" : "CF3476", + "Violet nacré" : "8673A1", + "Mûre nacré" : "6C6874", + "Bleu violet" : "354D73", + "Bleu vert" : "1F3438", + "Bleu outremer" : "20214F", + "Bleu saphir" : "1D1E33", + "Bleu noir" : "18171C", + "Bleu de sécurité" : "1E2460", + "Bleu brillant" : "3E5F8A", + "Bleu gris" : "26252D", + "Bleu azur" : "025669", + "Bleu gentiane" : "0E294B", + "Bleu acier" : "231A24", + "Bleu clair" : "3B83BD", + "Bleu cobalt" : "1E213D", + "Bleu pigeon" : "606E8C", + "Bleu ciel" : "2271B3", + "Bleu signalisation" : "063971", + "Bleu turquoise" : "3F888F", + "Bleu capri" : "1B5583", + "Bleu océan" : "1D334A", + "Bleu d’eau" : "256D7B", + "Bleu nocturne" : "252850", + "Bleu distant" : "49678D", + "Bleu pastel" : "5D9B9B", + "Gentiane nacré" : "2A6478", + "Bleu nuit nacré" : "102C54", + "Vert patine" : "316650", + "Vert émeraude" : "287233", + "Vert feuillage" : "2D572C", + "Vert olive" : "424632", + "Vert bleu" : "1F3A3D", + "Vert mousse" : "2F4538", + "Olive gris" : "3E3B32", + "Vert bouteille" : "343B29", + "Vert brun" : "39352A", + "Vert sapin" : "31372B", + "Vert herbe" : "35682D", + "Vert réséda" : "587246", + "Vert noir" : "343E40", + "Vert jonc" : "6C7156", + "Olive jaune" : "47402E", + "Olive noir" : "3B3C36", + "Vert turquoise" : "1E5945", + "Vert mai" : "4C9141", + "Vert jaune" : "57A639", + "Vert blanc" : "BDECB6", + "Vert oxyde chromique" : "2E3A23", + "Vert pâle" : "89AC76", + "Olive brun" : "25221B", + "Vert signalisation" : "308446", + "Vert fougère" : "3D642D", + "Vert opale" : "015D52", + "Vert clair" : "84C3BE", + "Vert pin" : "2C5545", + "Vert menthe" : "20603D", + "Vert de sécurité" : "317F43", + "Turquoise menthe" : "497E76", + "Turquoise pastel" : "7FB5B5", + "Vert nacré" : "1C542D", + "Vert opal nacré" : "193737", + "Vert pur" : "008F39", + "Vert brillant" : "00BB2D", + "Gris petit-gris" : "78858B", + "Gris argent" : "8A9597", + "Gris olive" : "7E7B52", + "Gris mousse" : "6C7059", + "Gris de sécurité" : "969992", + "Gris souris" : "646B63", + "Gris beige" : "6D6552", + "Gris kaki" : "6A5F31", + "Gris vert" : "4D5645", + "Gris tente" : "4C514A", + "Gris fer" : "434B4D", + "Gris basalte" : "4E5754", + "Gris brun" : "464531", + "Gris ardoise" : "434750", + "Gris anthracite" : "293133", + "Gris noir" : "23282B", + "Gris terre d’ombre" : "332F2C", + "Gris béton" : "686C5E", + "Gris graphite" : "474A51", + "Gris granit" : "2F353B", + "Gris pierre" : "8B8C7A", + "Gris bleu" : "474B4E", + "Gris silex" : "B8B799", + "Gris ciment" : "7D8471", + "Gris jaune" : "8F8B66", + "Gris clair" : "D7D7D7", + "Gris platine" : "7F7679", + "Gris poussière" : "7D7F7D", + "Gris agate" : "B5B8B1", + "Gris quartz" : "6C6960", + "Gris fenêtre" : "9DA1AA", + "Gris signalisation A" : "8D948D", + "Gris signalisation B" : "4E5452", + "Gris soie" : "CAC4B0", + "Telegris 1" : "909090", + "Telegris 2" : "82898F", + "Telegris 4" : "D0D0D0", + "Gris souris nacré" : "898176", + "Brun vert" : "826C34", + "Brun terre de Sienne" : "955F20", + "Brun de sécurité" : "6C3B2A", + "Brun argile" : "734222", + "Brun cuivré" : "8E402A", + "Brun fauve" : "59351F", + "Brun olive" : "6F4F28", + "Brun noisette" : "5B3A29", + "Brun rouge" : "592321", + "Brun sépia" : "382C1E", + "Marron" : "633A34", + "Brun acajou" : "4C2F27", + "Brun chocolat" : "45322E", + "Brun gris" : "403A3A", + "Brun noir" : "212121", + "Brun orangé" : "A65E2E", + "Brun beige" : "79553D", + "Brun pâle" : "755C48", + "Brun terre" : "4E3B31", + "Cuivre nacré" : "763C28", + "Blanc crème" : "FDF4E3", + "Blanc gris" : "E7EBDA", + "Blanc de sécurité" : "F4F4F4", + "Noir de sécurité" : "282828", + "Noir foncé" : "0A0A0A", + "Aluminium blanc" : "A5A5A5", + "Aluminium gris" : "8F8F8F", + "Blanc pur" : "FFFFFF", + "Noir graphite" : "1C1C1C", + "Blanc signalisation" : "F6F6F6", + "Noir signalisation" : "1E1E1E", + "Blanc papyrus" : "D7D7D7", + "Gris clair nacré" : "9C9C9C", + "Gris fonçé nacré" : "828282" + } + + from domogik.butler.brain import do_command + from domogik.butler.brain import remove_accents + + # put all keys lower case + raw_colors = colors + colors.update(basic_colors) + colors = dict((remove_accents(k.lower()), v) for k, v in colors.iteritems()) + + tab_args = ' '.join(args).split(",") + locale = tab_args[0].strip() + dt_type_list = tab_args[1].strip() + device = tab_args[2].strip() + value = tab_args[3].strip() + # optionnal parameter to get informations about a color + if len(tab_args) >= 4: + arg4 = tab_args[4].strip() + + if value in colors: + value = colors[value] + + elif value == "listcolors": + resp = u"Les couleurs de base sont" + for a_color in basic_colors: + resp += u", {0}".format(a_color) + resp += u". Il y a aussi plein d'autres couleurs disponibles. Vous pouvez me demander les déclinaisons pour une couleur de base." + + return resp + + elif value == "detailcolor": + resp = u"Les déclinaisons de {0} sont".format(arg4) + search_color = remove_accents(arg4.lower()) + for a_color in raw_colors: + the_color = remove_accents(a_color.lower()) + if search_color in the_color: + resp += u", {0}".format(a_color) + return resp + + else: + return u"Je ne connais pas cette couleur" + res = do_command(rs.log, locale, dt_type_list=dt_type_list, device=device, value=value) + if res == None: + return u"Je ne sais pas ce qu'est : {0}".format(device) + else: + return u"OK" +< object diff --git a/rs/fr_FR/python_get_sensor_value.rive b/rs/fr_FR/python_get_sensor_value.rive index 2f10474..4ba801b 100644 --- a/rs/fr_FR/python_get_sensor_value.rive +++ b/rs/fr_FR/python_get_sensor_value.rive @@ -1,13 +1,19 @@ > object get_sensor_value python from domogik.butler.brain import get_sensor_value - locale = args[0] - dt_type = args[1] - unit = args[2] - device_name = args[3:] + tab_args = ' '.join(args).split(",") + print(tab_args[0]) + print(tab_args[0].strip()) + locale = tab_args[0].strip() + dt_type = tab_args[1].strip() + unit = tab_args[2].strip() + device_name = tab_args[3].strip() value = get_sensor_value(rs.log, locale, dt_type, device_name) if value == None: return u"inconnue" - return u"{0} {1}".format(value, unit) + if unit != "": + return u"{0} {1}".format(value, unit) + else: + return u"{0}".format(value) < object diff --git a/rs/fr_FR/python_trigger_bool_command.rive b/rs/fr_FR/python_trigger_bool_command.rive deleted file mode 100644 index 6a37115..0000000 --- a/rs/fr_FR/python_trigger_bool_command.rive +++ /dev/null @@ -1,13 +0,0 @@ -> object trigger_bool_command python - from domogik.butler.brain import trigger_bool_command - tab_args = ' '.join(args).split("__SEP__") - locale = tab_args[0] - dt_type = tab_args[1] - device = tab_args[2] - value = tab_args[3] - res = trigger_bool_command(rs.log, locale, dt_type=dt_type, device=device, value=value) - if res == None: - return u"Je ne sais pas ce qu'est : {0}".format(device) - else: - return u"OK" -< object diff --git a/rs/nl_BE/DT_Basic_sensors.rive b/rs/nl_BE/DT_Basic_sensors.rive new file mode 100644 index 0000000..c0531e6 --- /dev/null +++ b/rs/nl_BE/DT_Basic_sensors.rive @@ -0,0 +1,15 @@ +// DT_Basics is a file for all sensors of : +// - DT_Number +// - DT_String +// - DT_Bool + + +// shortcut +// double ,, because no unit ++ shortcut basic * +- De waarde get_sensor_value fr_FR, DT_Number|DT_String|DT_Bool, , + ++ wat is de waarde * +@shortcut basic + + diff --git a/rs/nl_BE/DT_Bool.rive b/rs/nl_BE/DT_Bool.rive index 7e41d19..2915e92 100644 --- a/rs/nl_BE/DT_Bool.rive +++ b/rs/nl_BE/DT_Bool.rive @@ -1,5 +1,5 @@ + shortcut bool command * dev * val * -- trigger_bool_command nl_BE__SEP____SEP____SEP__ +- do_bool_or_trigger_command nl_BE, , , + lichten * @shortcut bool command DT_Switch dev val 1 @@ -12,3 +12,6 @@ + deactiveert * @shortcut bool command DT_Enable dev val 0 + +// TODO : get the status of switches and open/close sensors +// See fr_FR for the example diff --git a/rs/nl_BE/DT_ColorRGBHexa.rive b/rs/nl_BE/DT_ColorRGBHexa.rive new file mode 100644 index 0000000..37c1726 --- /dev/null +++ b/rs/nl_BE/DT_ColorRGBHexa.rive @@ -0,0 +1,8 @@ + ++ shortcut color command * dev * val * +- do_color_command nl_BE, , , + ++ verander de kleur van * naar * +@ shortcut color command DT_ColorRGBHexa dev val + +// TODO : complete with questions to ask about the colors. See fr_FR for the example diff --git a/rs/nl_BE/DT_Humidity.rive b/rs/nl_BE/DT_Humidity.rive index f8db83f..16ce355 100644 --- a/rs/nl_BE/DT_Humidity.rive +++ b/rs/nl_BE/DT_Humidity.rive @@ -1,5 +1,5 @@ + shortcut humidity * -- De vochtigheid in is get_sensor_value nl_BE DT_Humidity procent +- De vochtigheid in is get_sensor_value nl_BE, DT_Humidity, procent, + Wat is de vochtigheid voor * @shortcut humidity diff --git a/rs/nl_BE/DT_Temp.rive b/rs/nl_BE/DT_Temp.rive index 5c8eae8..74a0247 100644 --- a/rs/nl_BE/DT_Temp.rive +++ b/rs/nl_BE/DT_Temp.rive @@ -1,5 +1,5 @@ + shortcut temperature * -- De temperatuur in is get_sensor_value nl_BE DT_Temp graden +- De temperatuur in is get_sensor_value nl_BE, DT_Temp, graden, + Wat is de temperatuur van * @shortcut temperature diff --git a/rs/nl_BE/DT_Trigger.rive b/rs/nl_BE/DT_Trigger.rive new file mode 100644 index 0000000..fb5b006 --- /dev/null +++ b/rs/nl_BE/DT_Trigger.rive @@ -0,0 +1,7 @@ + ++ shortcut trigger command * dev * +- do_bool_or_trigger_command nl_NL, , + ++ (runs) * +@ shortcut trigger command DT_Trigger dev + diff --git a/rs/nl_BE/begin.rive b/rs/nl_BE/begin.rive new file mode 100644 index 0000000..42f56d2 --- /dev/null +++ b/rs/nl_BE/begin.rive @@ -0,0 +1,4 @@ +////////////////////////////////////////////////// +// shortcuts + +// TODO. See fr_FR for examples diff --git a/rs/nl_BE/datetime.rive b/rs/nl_BE/datetime.rive index 4cb73fd..e1cce9d 100644 --- a/rs/nl_BE/datetime.rive +++ b/rs/nl_BE/datetime.rive @@ -1,7 +1,7 @@ > object get_time python #i18n DISPLAY_FORMAT = "%-H:%M " - LOCALE = "en_US.UTF-8" + LOCALE = "nl_BE.UTF-8" ERROR_LOCALE = u"Lokale geconfigureerd is niet goed : {0}".format(LOCALE) @@ -21,7 +21,7 @@ > object get_date python #i18n DISPLAY_FORMAT = "%A %d %B" - LOCALE = "en_US.UTF-8" + LOCALE = "nl_BE.UTF-8" ERROR_LOCALE = u"Lokale geconfigureerd is niet goed : {0}".format(LOCALE) diff --git a/rs/nl_BE/python_do_bool_or_trigger_command.rive b/rs/nl_BE/python_do_bool_or_trigger_command.rive new file mode 100644 index 0000000..64f9614 --- /dev/null +++ b/rs/nl_BE/python_do_bool_or_trigger_command.rive @@ -0,0 +1,13 @@ +> object do_bool_or_trigger_command python + from domogik.butler.brain import do_command + tab_args = ' '.join(args).split(",") + locale = tab_args[0].strip() + dt_type_list = tab_args[1].strip() + device = tab_args[2].strip() + value = tab_args[3].strip() + res = do_command(rs.log, locale, dt_type_list=dt_type_list, device=device, value=value) + if value == None: + return "Error" + else: + return "OK" +< object diff --git a/rs/nl_BE/python_do_color_command.rive b/rs/nl_BE/python_do_color_command.rive new file mode 100644 index 0000000..1a9c25d --- /dev/null +++ b/rs/nl_BE/python_do_color_command.rive @@ -0,0 +1,248 @@ +> object do_color_command python + from domogik_packages.brain_base.lib.color_command import color_command + + # source : https://gist.githubusercontent.com/lunohodov/1995178/raw/cb8cf1ebe1d1b8fa5759e287ebd6eaecbe3bc3e4/ral_standard.csv + # regexp to generate the dictionnary content : + # cat ral_standard.csv | sed "s/^.*,#\(......\),.*,.*,\(.*\),.*,.*,.*$/\"\2\" : \"\1\",/" + # first part of the dictionnary is manually made to get the basic colors. The second part is build as described the lines before. + basic_colors = { + "Zwart" : "000000", + "Wit" : "ffffff", + "Rood" : "ff0000", + "Groen" : "00ff00", + "Blauw" : "0000ff", + "Geel" : "ffff00", + "Roze" : "fd6c9e", + "Bruin" : "582900", + "Purper" : "660099", + "Oranje" : "ed7f10", + "Beige" : "C2B078", + "Grijs" : "606060" + } + + colors = { + "Groenbeige" : "BEBD7F", + "Zandgeel" : "C6A664", + "Signaalgeel" : "E5BE01", + "Goudgeel" : "CDA434", + "Honinggeel" : "A98307", + "Maisgeel" : "E4A010", + "Narcissengeel" : "DC9D00", + "Bruinbeige" : "8A6642", + "Citroengeel" : "C7B446", + "Parelwit" : "EAE6CA", + "Ivoorkleurig" : "E1CC4F", + "Licht ivoorkleurig" : "E6D690", + "Zwavelgeel" : "EDFF21", + "Saffraangeel" : "F5D033", + "Zinkgeel" : "F8F32B", + "Grijsbeige" : "9E9764", + "Olijfgeel" : "999950", + "Koolzaadgeel" : "F3DA0B", + "Verkeersgeel" : "FAD201", + "Okergeel" : "AEA04B", + "Briljantgeel" : "FFFF00", + "Kerriegeel" : "9D9101", + "Meloengeel" : "F4A900", + "Bremgeel" : "D6AE01", + "Dahliageel" : "F3A505", + "Pastelgeel" : "EFA94A", + "Parelmoergrijs" : "6A5D4D", + "Parelmoergoud" : "705335", + "Zonnegeel" : "F39F18", + "Geeloranje" : "ED760E", + "Roodoranje" : "C93C20", + "Vermiljoen" : "CB2821", + "Pasteloranje" : "FF7514", + "Zuiver oranje" : "F44611", + "Briljant oranje" : "FF2301", + "Briljant lichtoranje" : "FFA420", + "Licht roodoranje" : "F75E25", + "Verkeersoranje" : "F54021", + "Signaaloranje" : "D84B20", + "Dieporanje" : "EC7C26", + "Zalmoranje" : "E55137", + "Parelmoeroranje" : "C35831", + "Vuurrood" : "AF2B1E", + "Signaalrood" : "A52019", + "Karmijnrood" : "A2231D", + "Robijnrood" : "9B111E", + "Purperrood" : "75151E", + "Wijnrood" : "5E2129", + "Zwartrood" : "412227", + "Oxyderood" : "642424", + "Bruinrood" : "781F19", + "Beigerood" : "C1876B", + "Tomaatrood" : "A12312", + "Oudroze" : "D36E70", + "Lichtroze" : "EA899A", + "Koraalrood" : "B32821", + "Bleekrood" : "E63244", + "Aardbeirood" : "D53032", + "Verkeersrood" : "CC0605", + "Zalmrood" : "D95030", + "Briljantrood" : "F80000", + "Briljant lichtrood" : "FE0000", + "Framboosrood" : "C51D34", + "Zuiverrood" : "CB3234", + "Oriëntrood" : "B32428", + ""Parelmoer-donkerrood"" : "721422", + ""Parelmoer-lichtrood"" : "B44C43", + "Roodlila" : "6D3F5B", + "Roodpaars" : "922B3E", + "Heidepaars" : "DE4C8A", + "Bordeauxpaars" : "641C34", + "Blauwlila" : "6C4675", + "Verkeerspurper" : "A03472", + "Purperviolet" : "4A192C", + "Signaalviolet" : "924E7D", + "Pastelviolet" : "A18594", + "Telemagenta" : "CF3476", + ""Parelmoer-donkerviolet"" : "8673A1", + ""Parelmoer-lichtviolet"" : "6C6874", + "Paarsblauw" : "354D73", + "Groenblauw" : "1F3438", + "Ultramarijnblauw" : "20214F", + "Saffierblauw" : "1D1E33", + "Zwartblauw" : "18171C", + "Signaalblauw" : "1E2460", + "Briljantblauw" : "3E5F8A", + "Grijsblauw" : "26252D", + "Azuurblauw" : "025669", + "Gentiaanblauw" : "0E294B", + "Staalblauw" : "231A24", + "Lichtblauw" : "3B83BD", + "Kobaltblauw" : "1E213D", + "Duifblauw" : "606E8C", + "Hemelsblauw" : "2271B3", + "Verkeersblauw" : "063971", + "Turkooisblauw" : "3F888F", + "Capriblauw" : "1B5583", + "Oceaanblauw" : "1D334A", + "Waterblauw" : "256D7B", + "Nachtblauw" : "252850", + "Verblauw" : "49678D", + "Pastelblauw" : "5D9B9B", + "Parelmoerblauw" : "2A6478", + ""Parelmoer-nachtblauw"" : "102C54", + "Patinagroen" : "316650", + "Smaragdgroen" : "287233", + "Loofgroen" : "2D572C", + "Olijfgroen" : "424632", + "Blauwgroen" : "1F3A3D", + "Mosgroen" : "2F4538", + "Grijs olijfgroen" : "3E3B32", + "Flessegroen" : "343B29", + "Bruingroen" : "39352A", + "Dennegroen" : "31372B", + "Grasgroen" : "35682D", + "Resedagroen" : "587246", + "Zwartgroen" : "343E40", + "Rietgroen" : "6C7156", + "Geel olijfgroen" : "47402E", + "Zwart olijfgroen" : "3B3C36", + "Turkooisgroen" : "1E5945", + "Meigroen" : "4C9141", + "Geelgroen" : "57A639", + "Witgroen" : "BDECB6", + ""Chroom-oxydegroen"" : "2E3A23", + "Bleekgroen" : "89AC76", + "Bruin olijfgroen" : "25221B", + "Verkeersgroen" : "308446", + "Varengroen" : "3D642D", + "Opaalgroen" : "015D52", + "Lichtgroen" : "84C3BE", + "Pijnboomgroen" : "2C5545", + "Mintgroen" : "20603D", + "Signaalgroen" : "317F43", + "Mintturquoise" : "497E76", + "Pastelturquoise" : "7FB5B5", + ""Parelmoer-donkergroen"" : "1C542D", + ""Parelmoer-lichtgroen"" : "193737", + "Zuivergroen" : "008F39", + "Briljantgroen" : "00BB2D", + "Pelsgrijs" : "78858B", + "Zilvergrijs" : "8A9597", + "Olijfgrijs" : "7E7B52", + "Mosgrijs" : "6C7059", + "Signaalgrijs" : "969992", + "Muisgrijs" : "646B63", + "Beigegrijs" : "6D6552", + "Kakigrijs" : "6A5F31", + "Groengrijs" : "4D5645", + "Zeildoekgrijs" : "4C514A", + "IJzergrijs" : "434B4D", + "Bazaltgrijs" : "4E5754", + "Bruingrijs" : "464531", + "Leigrijs" : "434750", + "Antracietgrijs" : "293133", + "Zwartgrijs" : "23282B", + "Ombergrijs" : "332F2C", + "Betongrijs" : "686C5E", + "Grafietgrijs" : "474A51", + "Granietgrijs" : "2F353B", + "Steengrijs" : "8B8C7A", + "Blauwgrijs" : "474B4E", + "Kiezelgrijs" : "B8B799", + "Cementgrijs" : "7D8471", + "Geelgrijs" : "8F8B66", + "Lichtgrijs" : "D7D7D7", + "Platinagrijs" : "7F7679", + "Stofgrijs" : "7D7F7D", + "Agaatgrijs" : "B5B8B1", + "Kwartsgrijs" : "6C6960", + "Venstergrijs" : "9DA1AA", + "Verkeesgrijs A" : "8D948D", + "Verkeersgrijs B" : "4E5452", + "Zijdegrijs" : "CAC4B0", + "Telegrijs 1" : "909090", + "Telegrijs 2" : "82898F", + "Telegrijs 4" : "D0D0D0", + ""Parelmoer-muisgrijs"" : "898176", + "Groenbruin" : "826C34", + "Okerbruin" : "955F20", + "Signaalbruin" : "6C3B2A", + "Leembruin" : "734222", + "Koperbruin" : "8E402A", + "Reebruin" : "59351F", + "Olijfbruin" : "6F4F28", + "Notebruin" : "5B3A29", + "Roodbruin" : "592321", + "Sepiabruin" : "382C1E", + "Mahoniebruin" : "4C2F27", + "Chocoladebruin" : "45322E", + "Grijsbruin" : "403A3A", + "Zwartbruin" : "212121", + "Oranjebruin" : "A65E2E", + "Beigebruin" : "79553D", + "Bleekbruin" : "755C48", + "Terrabruin" : "4E3B31", + "Parelmoerkoper" : "763C28", + "Crèmewit" : "FDF4E3", + "Grijswit" : "E7EBDA", + "Signaalwit" : "F4F4F4", + "Signaalzwart" : "282828", + "Gitzwart" : "0A0A0A", + "Blank aluminiumkleurig" : "A5A5A5", + "Grijs aluminiumkleurig" : "8F8F8F", + "Zuiverwit" : "FFFFFF", + "Grafietzwart" : "1C1C1C", + "Verkeerswit" : "F6F6F6", + "Verkeerszwart" : "1E1E1E", + "Papyruswit" : "D7D7D7", + "Parelmoer-lichtgrijs" : "9C9C9C", + "Parelmoer-donkergrijs" : "828282" + } + + cfg_i18n = {} + cfg_i18n['BASIC_COLORS'] = basic_colors + cfg_i18n['COLORS'] = colors + cfg_i18n['DONE'] = u"OK" + cfg_i18n['UNKNOWN_DEVICE'] = u"Ik weet niet wat : " + cfg_i18n['UNKNOWN_COLOR'] = u"Ik weet niet deze kleur" + cfg_i18n['TXT_BASIC_COLORS_1'] = u"De basiskleuren zijn" + cfg_i18n['TXT_BASIC_COLORS_2'] = u"Er zijn ook tal van andere kleuren beschikbaar . Je kunt het mij vraagt verbuigingen voor een basiskleur" + cfg_i18n['TXT_COLOR_LIST'] = u"Hier zijn verbuigingen" + + return color_command(rs.log, args, cfg_i18n) +< object diff --git a/rs/nl_BE/python_get_sensor_value.rive b/rs/nl_BE/python_get_sensor_value.rive index bdcc310..e7f0f03 100644 --- a/rs/nl_BE/python_get_sensor_value.rive +++ b/rs/nl_BE/python_get_sensor_value.rive @@ -1,11 +1,17 @@ > object get_sensor_value python from domogik.butler.brain import get_sensor_value - locale = args[0] - dt_type = args[1] - unit = args[2] - device_name = args[3:] + tab_args = ' '.join(args).split(",") + print(tab_args[0]) + print(tab_args[0].strip()) + locale = tab_args[0].strip() + dt_type = tab_args[1].strip() + unit = tab_args[2].strip() + device_name = tab_args[3].strip() value = get_sensor_value(rs.log, locale, dt_type, device_name) if value == None: return "Niet bestaand" - return "{0} {1}".format(value, unit) + if unit != "": + return u"{0} {1}".format(value, unit) + else: + return u"{0}".format(value) < object diff --git a/rs/nl_BE/python_trigger_bool_command.rive b/rs/nl_BE/python_trigger_bool_command.rive deleted file mode 100644 index c262184..0000000 --- a/rs/nl_BE/python_trigger_bool_command.rive +++ /dev/null @@ -1,13 +0,0 @@ -> object trigger_bool_command python - from domogik.butler.brain import trigger_bool_command - tab_args = ' '.join(args).split("__SEP__") - locale = tab_args[0] - dt_type = tab_args[1] - device = tab_args[2] - value = tab_args[3] - res = trigger_bool_command(rs.log, locale, dt_type=dt_type, device=device, value=value) - if value == None: - return "Error" - else: - return "OK" -< object From 7b359e8f684fc445b25cdfb370dff8731e17368a Mon Sep 17 00:00:00 2001 From: Fritz Date: Sun, 13 Mar 2016 10:25:11 +0100 Subject: [PATCH 04/14] small fixes --- docs/changelog.txt | 5 +++++ info.json | 2 +- rs/fr_FR/DT_Bool.rive | 6 ++++++ rs/fr_FR/begin.rive | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index 05931b1..322fba9 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -2,6 +2,11 @@ Changelog ========= +1.4 +=== + +* Small improvment on @donneMoi in begin.rive (fr_FR) + 1.3 === diff --git a/info.json b/info.json index 89369a6..ae6fded 100644 --- a/info.json +++ b/info.json @@ -15,7 +15,7 @@ "domogik_min_version": "0.5.0", "name": "base", "type": "brain", - "version": "1.3" + "version": "1.4" }, "json_version": 2 } diff --git a/rs/fr_FR/DT_Bool.rive b/rs/fr_FR/DT_Bool.rive index ec0562c..413bf88 100644 --- a/rs/fr_FR/DT_Bool.rive +++ b/rs/fr_FR/DT_Bool.rive @@ -27,6 +27,12 @@ + desactive [@pronom] * @ shortcut bool command DT_Enable dev val 0 ++ ouvre [@pronom] * +@ shortcut bool command DT_Switch|DT_Bool dev val 1 + ++ ferme [@pronom] * +@ shortcut bool command DT_Switch|DT_Bool dev val 0 + //////// Lumières/prises - Etat - 1 - status ! array switch = la prise|la lumiere diff --git a/rs/fr_FR/begin.rive b/rs/fr_FR/begin.rive index cfe84f8..a00668f 100644 --- a/rs/fr_FR/begin.rive +++ b/rs/fr_FR/begin.rive @@ -15,5 +15,5 @@ ! array quel = quel quelle quels quelles // pour les sensors -! array donneMoi = donne moi|donnes moi|quel est|quelle est|dis moi +! array donneMoi = donne moi|donnes moi|donne-moi|donnes-moi|quel est|quelle est|dis moi From b7d5228657821e4fec1167913e1a1cc97b4764eb Mon Sep 17 00:00:00 2001 From: Fritz Date: Sun, 13 Mar 2016 10:26:25 +0100 Subject: [PATCH 05/14] related to pr #2 --- rs/fr_FR/quiet.rive | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rs/fr_FR/quiet.rive b/rs/fr_FR/quiet.rive index 959a819..38acaa6 100644 --- a/rs/fr_FR/quiet.rive +++ b/rs/fr_FR/quiet.rive @@ -5,7 +5,7 @@ + - Je suis en mode silencieux. Dites tu peux reparler pour me sortir de mon silence. - + tu peux (reparler| sortir du silence) + + tu peux (reparler|parler|sortir du silence) - merci {topic=random} From a04736bb9a8ee4d8eb49a8fda745629ffd0f490b Mon Sep 17 00:00:00 2001 From: Fritz Date: Thu, 24 Mar 2016 20:29:46 +0000 Subject: [PATCH 06/14] improvments --- docs/changelog.txt | 1 + lib/network.py | 26 ++++++++++++++++++++++++++ rs/fr_FR/DT_Bool.rive | 7 +------ rs/fr_FR/DT_ColorRGBHexa.rive | 1 + rs/fr_FR/DT_Humidity.rive | 1 + rs/fr_FR/DT_Temp.rive | 1 + rs/fr_FR/begin.rive | 4 +++- rs/fr_FR/network.rive | 21 +++++++++++++++++++++ rs/fr_FR/quiet.rive | 2 +- 9 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 lib/network.py create mode 100644 rs/fr_FR/network.rive diff --git a/docs/changelog.txt b/docs/changelog.txt index 322fba9..72aafd1 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -6,6 +6,7 @@ Changelog === * Small improvment on @donneMoi in begin.rive (fr_FR) +* Add network test (fr_FR) 1.3 === diff --git a/lib/network.py b/lib/network.py new file mode 100644 index 0000000..d54364e --- /dev/null +++ b/lib/network.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +import subprocess + +def test_internet(cfg_i18n): + """ Test ping on interner + 1. test a ping on an ip to check if network is ok + 2. test a ping on an url to check if DNS is working + """ + response_ip = ping("4.4.4.4") # Google DNS server + + # ip ping ko + if response_ip != 0: + return cfg_i18n['NO_IP_ACCESS'] + # ip ping ok + else: + response_dns = ping("www.google.com") + if response_dns != 0: + return cfg_i18n['NO_DNS_ACCESS'] + else: + return cfg_i18n['OK'] + +def ping(remote): + ping_action = subprocess.Popen(["/bin/ping", "-c1", "-w2", remote], stdout=subprocess.PIPE) + ping_action.communicate() + return ping_action.returncode + diff --git a/rs/fr_FR/DT_Bool.rive b/rs/fr_FR/DT_Bool.rive index 413bf88..362f45f 100644 --- a/rs/fr_FR/DT_Bool.rive +++ b/rs/fr_FR/DT_Bool.rive @@ -1,6 +1,7 @@ // Ce fichier comprend tous les enfants de DT_Bool //////// Actions +// ##feature## controler des lumieres ou prises /* ##suggest## ? .* allume.* ((?:la |le |l ).*) @@ -27,12 +28,6 @@ + desactive [@pronom] * @ shortcut bool command DT_Enable dev val 0 -+ ouvre [@pronom] * -@ shortcut bool command DT_Switch|DT_Bool dev val 1 - -+ ferme [@pronom] * -@ shortcut bool command DT_Switch|DT_Bool dev val 0 - //////// Lumières/prises - Etat - 1 - status ! array switch = la prise|la lumiere diff --git a/rs/fr_FR/DT_ColorRGBHexa.rive b/rs/fr_FR/DT_ColorRGBHexa.rive index 3b44fbe..89b6326 100644 --- a/rs/fr_FR/DT_ColorRGBHexa.rive +++ b/rs/fr_FR/DT_ColorRGBHexa.rive @@ -1,4 +1,5 @@ // Changement de couleur +// ##feature## controler des lumieres de couleur + shortcut color command * dev * val * - do_color_command fr_FR, , , diff --git a/rs/fr_FR/DT_Humidity.rive b/rs/fr_FR/DT_Humidity.rive index 86a76d2..4a73042 100644 --- a/rs/fr_FR/DT_Humidity.rive +++ b/rs/fr_FR/DT_Humidity.rive @@ -1,3 +1,4 @@ +// ##feature## connaitre l'humidite /* ##suggest## ? .* humidite.* ((?:a |de la |de l |de |du |dans le |dans la |dans l |dans |d ).*) diff --git a/rs/fr_FR/DT_Temp.rive b/rs/fr_FR/DT_Temp.rive index 1388cc5..cb2f37e 100644 --- a/rs/fr_FR/DT_Temp.rive +++ b/rs/fr_FR/DT_Temp.rive @@ -1,3 +1,4 @@ +// ##feature## connaitre la temperature /* ##suggest## ? .* temperature.* ((?:a |de la |de l |de |du |dans le |dans la |dans l |dans |d ).*) diff --git a/rs/fr_FR/begin.rive b/rs/fr_FR/begin.rive index a00668f..606ae7b 100644 --- a/rs/fr_FR/begin.rive +++ b/rs/fr_FR/begin.rive @@ -15,5 +15,7 @@ ! array quel = quel quelle quels quelles // pour les sensors -! array donneMoi = donne moi|donnes moi|donne-moi|donnes-moi|quel est|quelle est|dis moi +! array donneMoi = donne moi|donnes moi|quel est|quelle est|dis moi +// pour des demandes +! array peuxTu = peux tu|peux-tu|est ce que tu peux|est-ce que tu peux diff --git a/rs/fr_FR/network.rive b/rs/fr_FR/network.rive new file mode 100644 index 0000000..4c29f03 --- /dev/null +++ b/rs/fr_FR/network.rive @@ -0,0 +1,21 @@ +> object test_internet python +from domogik_packages.brain_base.lib.network import test_internet +cfg_i18n = {"OK" : "L'acces a internet est OK.", + "NO_IP_ACCESS" : "L'access a internet ne marche pas.", + "NO_DNS_ACCESS" : "L'access a internet via adresse IP fonctionne mais les acces via DNS ne semblent pas fonctionner."} +return u"{0}".format(test_internet(cfg_i18n)) +< object + +// ##feature## tester l'acces a internet + +/* ##suggest## +? .* (test|verif|connect).* (internet|reseau|web).* +@ peux tu tester le reseau +*/ + ++ shortcut test internet +- test_internet + ++ @peuxTu (tester|verifier) (le reseau|l access a internet|internet) +@ shortcut test internet + diff --git a/rs/fr_FR/quiet.rive b/rs/fr_FR/quiet.rive index 38acaa6..959a819 100644 --- a/rs/fr_FR/quiet.rive +++ b/rs/fr_FR/quiet.rive @@ -5,7 +5,7 @@ + - Je suis en mode silencieux. Dites tu peux reparler pour me sortir de mon silence. - + tu peux (reparler|parler|sortir du silence) + + tu peux (reparler| sortir du silence) - merci {topic=random} From e11fd71c35f099b392a6c2ad24c9abed5865875b Mon Sep 17 00:00:00 2001 From: Fritz Date: Thu, 24 Mar 2016 22:04:05 +0100 Subject: [PATCH 07/14] charset and fix network testing --- lib/network.py | 20 +++++++++++++++----- rs/fr_FR/DT_Bool.rive | 2 +- rs/fr_FR/DT_ColorRGBHexa.rive | 2 +- rs/fr_FR/DT_Humidity.rive | 2 +- rs/fr_FR/DT_Temp.rive | 2 +- rs/fr_FR/network.rive | 8 ++++---- 6 files changed, 23 insertions(+), 13 deletions(-) diff --git a/lib/network.py b/lib/network.py index d54364e..e5a0a6b 100644 --- a/lib/network.py +++ b/lib/network.py @@ -1,26 +1,36 @@ # -*- coding: utf-8 -*- import subprocess -def test_internet(cfg_i18n): +def test_internet(log, cfg_i18n): """ Test ping on interner 1. test a ping on an ip to check if network is ok 2. test a ping on an url to check if DNS is working """ - response_ip = ping("4.4.4.4") # Google DNS server + ip = "8.8.8.8" # google dns server + log.debug("Ping '{0}'...".format(ip)) + response_ip = ping(log, ip) # Google DNS server # ip ping ko if response_ip != 0: + log.warning("Unable to ping '{0}'".format(ip)) return cfg_i18n['NO_IP_ACCESS'] # ip ping ok else: - response_dns = ping("www.google.com") + log.debug("Ping OK") + dom = "www.free.fr" + log.debug("Ping '{0}'".format(dom)) + response_dns = ping(log, dom) if response_dns != 0: + log.warning("Unable to ping '{0}'".format(dom)) return cfg_i18n['NO_DNS_ACCESS'] else: + log.debug("Ping OK") return cfg_i18n['OK'] -def ping(remote): - ping_action = subprocess.Popen(["/bin/ping", "-c1", "-w2", remote], stdout=subprocess.PIPE) +def ping(log, remote): + cmd = ["/bin/ping", "-c1", "-w2", remote] + log.debug("Ping command : {0}".format(cmd)) + ping_action = subprocess.Popen(cmd, stdout=subprocess.PIPE) ping_action.communicate() return ping_action.returncode diff --git a/rs/fr_FR/DT_Bool.rive b/rs/fr_FR/DT_Bool.rive index 362f45f..60fbfc4 100644 --- a/rs/fr_FR/DT_Bool.rive +++ b/rs/fr_FR/DT_Bool.rive @@ -1,7 +1,7 @@ // Ce fichier comprend tous les enfants de DT_Bool //////// Actions -// ##feature## controler des lumieres ou prises +// ##feature## contrôler des lumières ou prises /* ##suggest## ? .* allume.* ((?:la |le |l ).*) diff --git a/rs/fr_FR/DT_ColorRGBHexa.rive b/rs/fr_FR/DT_ColorRGBHexa.rive index 89b6326..3b6c8c4 100644 --- a/rs/fr_FR/DT_ColorRGBHexa.rive +++ b/rs/fr_FR/DT_ColorRGBHexa.rive @@ -1,5 +1,5 @@ // Changement de couleur -// ##feature## controler des lumieres de couleur +// ##feature## contrôler des lumières de couleur + shortcut color command * dev * val * - do_color_command fr_FR, , , diff --git a/rs/fr_FR/DT_Humidity.rive b/rs/fr_FR/DT_Humidity.rive index 4a73042..d43945f 100644 --- a/rs/fr_FR/DT_Humidity.rive +++ b/rs/fr_FR/DT_Humidity.rive @@ -1,4 +1,4 @@ -// ##feature## connaitre l'humidite +// ##feature## donner l'humidité /* ##suggest## ? .* humidite.* ((?:a |de la |de l |de |du |dans le |dans la |dans l |dans |d ).*) diff --git a/rs/fr_FR/DT_Temp.rive b/rs/fr_FR/DT_Temp.rive index cb2f37e..e7955e2 100644 --- a/rs/fr_FR/DT_Temp.rive +++ b/rs/fr_FR/DT_Temp.rive @@ -1,4 +1,4 @@ -// ##feature## connaitre la temperature +// ##feature## donner la température /* ##suggest## ? .* temperature.* ((?:a |de la |de l |de |du |dans le |dans la |dans l |dans |d ).*) diff --git a/rs/fr_FR/network.rive b/rs/fr_FR/network.rive index 4c29f03..d4e89c6 100644 --- a/rs/fr_FR/network.rive +++ b/rs/fr_FR/network.rive @@ -1,12 +1,12 @@ > object test_internet python from domogik_packages.brain_base.lib.network import test_internet cfg_i18n = {"OK" : "L'acces a internet est OK.", - "NO_IP_ACCESS" : "L'access a internet ne marche pas.", - "NO_DNS_ACCESS" : "L'access a internet via adresse IP fonctionne mais les acces via DNS ne semblent pas fonctionner."} -return u"{0}".format(test_internet(cfg_i18n)) + "NO_IP_ACCESS" : "L'accès a internet ne marche pas.", + "NO_DNS_ACCESS" : "L'accès a internet via adresse IP fonctionne mais les accès via DNS ne semblent pas fonctionner."} +return u"{0}".format(test_internet(rs.log, cfg_i18n)) < object -// ##feature## tester l'acces a internet +// ##feature## tester l'accès a internet /* ##suggest## ? .* (test|verif|connect).* (internet|reseau|web).* From 2f88091cf41b47b921c7a0b5a5e211b93363910e Mon Sep 17 00:00:00 2001 From: Fritz Date: Mon, 6 Jun 2016 13:43:02 +0000 Subject: [PATCH 08/14] Improvments : units, user. fr_FR --- rs/en_US/DT_Bool.rive | 2 +- rs/en_US/DT_Trigger.rive | 2 +- rs/en_US/python_do_color_command.rive | 6 + ...er_command.rive => python_do_command.rive} | 8 +- rs/en_US/python_do_command_per_reference.rive | 25 ++ rs/fr_FR/DT_Bool.rive | 2 +- rs/fr_FR/DT_Trigger.rive | 2 +- rs/fr_FR/README.md | 11 + rs/fr_FR/begin.rive | 6 + rs/fr_FR/python_do_color_command.rive | 6 + rs/fr_FR/python_do_color_command.rive.bck | 281 ------------------ ...er_command.rive => python_do_command.rive} | 8 +- rs/fr_FR/python_do_command_per_reference.rive | 25 ++ rs/fr_FR/user.rive | 5 + rs/nl_BE/DT_Bool.rive | 2 +- rs/nl_BE/DT_Trigger.rive | 2 +- rs/nl_BE/python_do_color_command.rive | 6 + ...er_command.rive => python_do_command.rive} | 8 +- rs/nl_BE/python_do_command_per_reference.rive | 25 ++ 19 files changed, 142 insertions(+), 290 deletions(-) rename rs/en_US/{python_do_bool_or_trigger_command.rive => python_do_command.rive} (69%) create mode 100644 rs/en_US/python_do_command_per_reference.rive create mode 100644 rs/fr_FR/README.md delete mode 100644 rs/fr_FR/python_do_color_command.rive.bck rename rs/fr_FR/{python_do_bool_or_trigger_command.rive => python_do_command.rive} (73%) create mode 100644 rs/fr_FR/python_do_command_per_reference.rive create mode 100644 rs/fr_FR/user.rive rename rs/nl_BE/{python_do_bool_or_trigger_command.rive => python_do_command.rive} (69%) create mode 100644 rs/nl_BE/python_do_command_per_reference.rive diff --git a/rs/en_US/DT_Bool.rive b/rs/en_US/DT_Bool.rive index a238203..27987d9 100644 --- a/rs/en_US/DT_Bool.rive +++ b/rs/en_US/DT_Bool.rive @@ -1,5 +1,5 @@ + shortcut bool command * dev * val * -- do_bool_or_trigger_command en_US, , , +- do_command en_US, , , + switch * on @shortcut bool command DT_Switch dev val 1 diff --git a/rs/en_US/DT_Trigger.rive b/rs/en_US/DT_Trigger.rive index ce6bc62..fa26427 100644 --- a/rs/en_US/DT_Trigger.rive +++ b/rs/en_US/DT_Trigger.rive @@ -5,7 +5,7 @@ */ + shortcut trigger command * dev * -- do_bool_or_trigger_command fr_FR, , +- do_command fr_FR, , + (execute) * @ shortcut trigger command DT_Trigger dev diff --git a/rs/en_US/python_do_color_command.rive b/rs/en_US/python_do_color_command.rive index b6ceafb..5b856aa 100644 --- a/rs/en_US/python_do_color_command.rive +++ b/rs/en_US/python_do_color_command.rive @@ -1,4 +1,10 @@ > object do_color_command python + """ + @param 0 : locale + @param 1 : list of data type separated by a | + @param 2 : device + @param 3 : color value + """ from domogik_packages.brain_base.lib.color_command import color_command # source : https://gist.githubusercontent.com/lunohodov/1995178/raw/cb8cf1ebe1d1b8fa5759e287ebd6eaecbe3bc3e4/ral_standard.csv diff --git a/rs/en_US/python_do_bool_or_trigger_command.rive b/rs/en_US/python_do_command.rive similarity index 69% rename from rs/en_US/python_do_bool_or_trigger_command.rive rename to rs/en_US/python_do_command.rive index 64f9614..812dd63 100644 --- a/rs/en_US/python_do_bool_or_trigger_command.rive +++ b/rs/en_US/python_do_command.rive @@ -1,4 +1,10 @@ -> object do_bool_or_trigger_command python +> object do_command python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : device name + @param 3 : value + """ from domogik.butler.brain import do_command tab_args = ' '.join(args).split(",") locale = tab_args[0].strip() diff --git a/rs/en_US/python_do_command_per_reference.rive b/rs/en_US/python_do_command_per_reference.rive new file mode 100644 index 0000000..0365e83 --- /dev/null +++ b/rs/en_US/python_do_command_per_reference.rive @@ -0,0 +1,25 @@ +> object do_command_per_reference python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : command reference (set_fat for the body plugin for example) + @param 3 : device name + @param 4 : value + """ + from domogik.butler.brain import do_command + tab_args = ' '.join(args).split(",") + locale = tab_args[0].strip() + dt_type_list = tab_args[1].strip() + command_reference = tab_args[2].strip() + device = tab_args[3].strip() + if len(tab_args) > 4: + value = tab_args[4].strip() + else: + value = None + res = do_command(rs.log, locale, dt_type_list=dt_type_list, device=device, value=value, command_reference=command_reference) + if res == None: + return u"Error" + else: + return u"OK" +< object + diff --git a/rs/fr_FR/DT_Bool.rive b/rs/fr_FR/DT_Bool.rive index 60fbfc4..fb9b613 100644 --- a/rs/fr_FR/DT_Bool.rive +++ b/rs/fr_FR/DT_Bool.rive @@ -14,7 +14,7 @@ */ + shortcut bool command * dev * val * -- do_bool_or_trigger_command fr_FR, , , +- do_command fr_FR, , , + (allume|allumes|allumer) [@pronom] * @ shortcut bool command DT_Switch|DT_ColorRGBHexa dev val 1 diff --git a/rs/fr_FR/DT_Trigger.rive b/rs/fr_FR/DT_Trigger.rive index 50974e7..3b8b392 100644 --- a/rs/fr_FR/DT_Trigger.rive +++ b/rs/fr_FR/DT_Trigger.rive @@ -5,7 +5,7 @@ */ + shortcut trigger command * dev * -- do_bool_or_trigger_command fr_FR, , +- do_command fr_FR, , + (execute|executer) [@pronom] * @ shortcut trigger command DT_Trigger dev diff --git a/rs/fr_FR/README.md b/rs/fr_FR/README.md new file mode 100644 index 0000000..0fe5d09 --- /dev/null +++ b/rs/fr_FR/README.md @@ -0,0 +1,11 @@ +Variables françaises pour l'utilisateur +======================================= + +nom +--- + +Cette variable contient le nom de l'utilisateur. Elle peut être utilisée pour tout device qui est censé être lié à un utilisateur. + +Elle peut être définie en disant "je suis John" par exemple. + +D'autres variables seront définies par la suite. Elles seront valorisées depuis le détail de l'utilisateur créé dans Domogik. diff --git a/rs/fr_FR/begin.rive b/rs/fr_FR/begin.rive index 606ae7b..77f088b 100644 --- a/rs/fr_FR/begin.rive +++ b/rs/fr_FR/begin.rive @@ -19,3 +19,9 @@ // pour des demandes ! array peuxTu = peux tu|peux-tu|est ce que tu peux|est-ce que tu peux + +////////////////////////////////////////////////// +// Unités + +! array pourcent = pourcentages|pourcentage|pourcents|pourcent +! array kg = kilogrammes|kilogramme|kilo grammes|kilo grammes|kilos|kilo|kg diff --git a/rs/fr_FR/python_do_color_command.rive b/rs/fr_FR/python_do_color_command.rive index 9d4b2c8..4628566 100644 --- a/rs/fr_FR/python_do_color_command.rive +++ b/rs/fr_FR/python_do_color_command.rive @@ -1,4 +1,10 @@ > object do_color_command python + """ + @param 0 : locale + @param 1 : list of data type separated by a | + @param 2 : device + @param 3 : color value + """ from domogik_packages.brain_base.lib.color_command import color_command # source : https://gist.githubusercontent.com/lunohodov/1995178/raw/cb8cf1ebe1d1b8fa5759e287ebd6eaecbe3bc3e4/ral_standard.csv diff --git a/rs/fr_FR/python_do_color_command.rive.bck b/rs/fr_FR/python_do_color_command.rive.bck deleted file mode 100644 index a8b4a48..0000000 --- a/rs/fr_FR/python_do_color_command.rive.bck +++ /dev/null @@ -1,281 +0,0 @@ -> object do_color_command python - - # source : https://gist.githubusercontent.com/lunohodov/1995178/raw/cb8cf1ebe1d1b8fa5759e287ebd6eaecbe3bc3e4/ral_standard.csv - # regexp to generate the dictionnary content : - # cat ral_standard.csv | sed "s/^.*,#\(......\),.*,.*,\(.*\),.*,.*,.*$/\"\2\" : \"\1\",/" - # first part of the dictionnary is manually made to get the basic colors. The second part is build as described the lines before. - basic_colors = { - "Noir" : "000000", - "Blanc" : "ffffff", - "Rouge" : "ff0000", - "Vert" : "00ff00", - "Bleu" : "0000ff", - "Jaune" : "ffff00", - "Rose" : "fd6c9e", - "Marron" : "582900", - "Violet" : "660099", - "Orange" : "ed7f10", - "Gris" : "606060" - } - - colors = { - "Beige vert" : "BEBD7F", - "Beige" : "C2B078", - "Jaune sable" : "C6A664", - "Jaune de sécurité" : "E5BE01", - "Jaune or" : "CDA434", - "Jaune miel" : "A98307", - "Jaune maïs" : "E4A010", - "Jaune narcisse" : "DC9D00", - "Beige brun" : "8A6642", - "Jaune citron" : "C7B446", - "Blanc perlé" : "EAE6CA", - "Ivoire" : "E1CC4F", - "Ivoire clair" : "E6D690", - "Jaune soufre" : "EDFF21", - "Jaune safran" : "F5D033", - "Jaune zinc" : "F8F32B", - "Beige gris" : "9E9764", - "Jaune olive" : "999950", - "Jaune colza" : "F3DA0B", - "Jaune signalisation" : "FAD201", - "Jaune ocre" : "AEA04B", - "Jaune brillant" : "FFFF00", - "Jaune curry" : "9D9101", - "Jaune melon" : "F4A900", - "Jaune genêt" : "D6AE01", - "Jaune dahlia" : "F3A505", - "Jaune pastel" : "EFA94A", - "Beige nacré" : "6A5D4D", - "Or nacré" : "705335", - "Jaune soleil" : "F39F18", - "Orangé jaune" : "ED760E", - "Orangé rouge" : "C93C20", - "Orangé sang" : "CB2821", - "Orangé pastel" : "FF7514", - "Orangé pur" : "F44611", - "Orangé brillant" : "FF2301", - "Orangé clair rillant" : "FFA420", - "Orangé rouge clair" : "F75E25", - "Orangé signalisation" : "F54021", - "Orangé de sécurité" : "D84B20", - "Orangé foncé" : "EC7C26", - "Orangé saumon" : "E55137", - "Orangé nacré" : "C35831", - "Rouge feu" : "AF2B1E", - "Rouge de sécurité" : "A52019", - "Rouge carmin" : "A2231D", - "Rouge rubis" : "9B111E", - "Rouge pourpre" : "75151E", - "Rouge vin" : "5E2129", - "Rouge noir" : "412227", - "Rouge oxyde" : "642424", - "Rouge brun" : "781F19", - "Rouge beige" : "C1876B", - "Rouge tomate" : "A12312", - "Vieux rose" : "D36E70", - "Rose clair" : "EA899A", - "Rouge corail" : "B32821", - "Rosé" : "E63244", - "Rouge fraise" : "D53032", - "Rouge signalisation" : "CC0605", - "Rouge saumon" : "D95030", - "Rouge brillant" : "F80000", - "Rouge clair brillant" : "FE0000", - "Rouge framboise" : "C51D34", - "Rouge puro" : "CB3234", - "Rouge oriental" : "B32428", - "Rouge rubis nacré" : "721422", - "Rose nacré" : "B44C43", - "Lilas rouge" : "6D3F5B", - "Violet rouge" : "922B3E", - "Violet bruyère" : "DE4C8A", - "Violet bordeaux" : "641C34", - "Lilas bleu" : "6C4675", - "Pourpre signalisation" : "A03472", - "Violet pourpre" : "4A192C", - "Violet de sécurité" : "924E7D", - "Violet pastel" : "A18594", - "Telemagenta" : "CF3476", - "Violet nacré" : "8673A1", - "Mûre nacré" : "6C6874", - "Bleu violet" : "354D73", - "Bleu vert" : "1F3438", - "Bleu outremer" : "20214F", - "Bleu saphir" : "1D1E33", - "Bleu noir" : "18171C", - "Bleu de sécurité" : "1E2460", - "Bleu brillant" : "3E5F8A", - "Bleu gris" : "26252D", - "Bleu azur" : "025669", - "Bleu gentiane" : "0E294B", - "Bleu acier" : "231A24", - "Bleu clair" : "3B83BD", - "Bleu cobalt" : "1E213D", - "Bleu pigeon" : "606E8C", - "Bleu ciel" : "2271B3", - "Bleu signalisation" : "063971", - "Bleu turquoise" : "3F888F", - "Bleu capri" : "1B5583", - "Bleu océan" : "1D334A", - "Bleu d’eau" : "256D7B", - "Bleu nocturne" : "252850", - "Bleu distant" : "49678D", - "Bleu pastel" : "5D9B9B", - "Gentiane nacré" : "2A6478", - "Bleu nuit nacré" : "102C54", - "Vert patine" : "316650", - "Vert émeraude" : "287233", - "Vert feuillage" : "2D572C", - "Vert olive" : "424632", - "Vert bleu" : "1F3A3D", - "Vert mousse" : "2F4538", - "Olive gris" : "3E3B32", - "Vert bouteille" : "343B29", - "Vert brun" : "39352A", - "Vert sapin" : "31372B", - "Vert herbe" : "35682D", - "Vert réséda" : "587246", - "Vert noir" : "343E40", - "Vert jonc" : "6C7156", - "Olive jaune" : "47402E", - "Olive noir" : "3B3C36", - "Vert turquoise" : "1E5945", - "Vert mai" : "4C9141", - "Vert jaune" : "57A639", - "Vert blanc" : "BDECB6", - "Vert oxyde chromique" : "2E3A23", - "Vert pâle" : "89AC76", - "Olive brun" : "25221B", - "Vert signalisation" : "308446", - "Vert fougère" : "3D642D", - "Vert opale" : "015D52", - "Vert clair" : "84C3BE", - "Vert pin" : "2C5545", - "Vert menthe" : "20603D", - "Vert de sécurité" : "317F43", - "Turquoise menthe" : "497E76", - "Turquoise pastel" : "7FB5B5", - "Vert nacré" : "1C542D", - "Vert opal nacré" : "193737", - "Vert pur" : "008F39", - "Vert brillant" : "00BB2D", - "Gris petit-gris" : "78858B", - "Gris argent" : "8A9597", - "Gris olive" : "7E7B52", - "Gris mousse" : "6C7059", - "Gris de sécurité" : "969992", - "Gris souris" : "646B63", - "Gris beige" : "6D6552", - "Gris kaki" : "6A5F31", - "Gris vert" : "4D5645", - "Gris tente" : "4C514A", - "Gris fer" : "434B4D", - "Gris basalte" : "4E5754", - "Gris brun" : "464531", - "Gris ardoise" : "434750", - "Gris anthracite" : "293133", - "Gris noir" : "23282B", - "Gris terre d’ombre" : "332F2C", - "Gris béton" : "686C5E", - "Gris graphite" : "474A51", - "Gris granit" : "2F353B", - "Gris pierre" : "8B8C7A", - "Gris bleu" : "474B4E", - "Gris silex" : "B8B799", - "Gris ciment" : "7D8471", - "Gris jaune" : "8F8B66", - "Gris clair" : "D7D7D7", - "Gris platine" : "7F7679", - "Gris poussière" : "7D7F7D", - "Gris agate" : "B5B8B1", - "Gris quartz" : "6C6960", - "Gris fenêtre" : "9DA1AA", - "Gris signalisation A" : "8D948D", - "Gris signalisation B" : "4E5452", - "Gris soie" : "CAC4B0", - "Telegris 1" : "909090", - "Telegris 2" : "82898F", - "Telegris 4" : "D0D0D0", - "Gris souris nacré" : "898176", - "Brun vert" : "826C34", - "Brun terre de Sienne" : "955F20", - "Brun de sécurité" : "6C3B2A", - "Brun argile" : "734222", - "Brun cuivré" : "8E402A", - "Brun fauve" : "59351F", - "Brun olive" : "6F4F28", - "Brun noisette" : "5B3A29", - "Brun rouge" : "592321", - "Brun sépia" : "382C1E", - "Marron" : "633A34", - "Brun acajou" : "4C2F27", - "Brun chocolat" : "45322E", - "Brun gris" : "403A3A", - "Brun noir" : "212121", - "Brun orangé" : "A65E2E", - "Brun beige" : "79553D", - "Brun pâle" : "755C48", - "Brun terre" : "4E3B31", - "Cuivre nacré" : "763C28", - "Blanc crème" : "FDF4E3", - "Blanc gris" : "E7EBDA", - "Blanc de sécurité" : "F4F4F4", - "Noir de sécurité" : "282828", - "Noir foncé" : "0A0A0A", - "Aluminium blanc" : "A5A5A5", - "Aluminium gris" : "8F8F8F", - "Blanc pur" : "FFFFFF", - "Noir graphite" : "1C1C1C", - "Blanc signalisation" : "F6F6F6", - "Noir signalisation" : "1E1E1E", - "Blanc papyrus" : "D7D7D7", - "Gris clair nacré" : "9C9C9C", - "Gris fonçé nacré" : "828282" - } - - from domogik.butler.brain import do_command - from domogik.butler.brain import remove_accents - - # put all keys lower case - raw_colors = colors - colors.update(basic_colors) - colors = dict((remove_accents(k.lower()), v) for k, v in colors.iteritems()) - - tab_args = ' '.join(args).split(",") - locale = tab_args[0].strip() - dt_type_list = tab_args[1].strip() - device = tab_args[2].strip() - value = tab_args[3].strip() - # optionnal parameter to get informations about a color - if len(tab_args) >= 4: - arg4 = tab_args[4].strip() - - if value in colors: - value = colors[value] - - elif value == "listcolors": - resp = u"Les couleurs de base sont" - for a_color in basic_colors: - resp += u", {0}".format(a_color) - resp += u". Il y a aussi plein d'autres couleurs disponibles. Vous pouvez me demander les déclinaisons pour une couleur de base." - - return resp - - elif value == "detailcolor": - resp = u"Les déclinaisons de {0} sont".format(arg4) - search_color = remove_accents(arg4.lower()) - for a_color in raw_colors: - the_color = remove_accents(a_color.lower()) - if search_color in the_color: - resp += u", {0}".format(a_color) - return resp - - else: - return u"Je ne connais pas cette couleur" - res = do_command(rs.log, locale, dt_type_list=dt_type_list, device=device, value=value) - if res == None: - return u"Je ne sais pas ce qu'est : {0}".format(device) - else: - return u"OK" -< object diff --git a/rs/fr_FR/python_do_bool_or_trigger_command.rive b/rs/fr_FR/python_do_command.rive similarity index 73% rename from rs/fr_FR/python_do_bool_or_trigger_command.rive rename to rs/fr_FR/python_do_command.rive index 176062a..4a82d3a 100644 --- a/rs/fr_FR/python_do_bool_or_trigger_command.rive +++ b/rs/fr_FR/python_do_command.rive @@ -1,4 +1,10 @@ -> object do_bool_or_trigger_command python +> object do_command python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : device name + @param 3 : value + """ from domogik.butler.brain import do_command tab_args = ' '.join(args).split(",") locale = tab_args[0].strip() diff --git a/rs/fr_FR/python_do_command_per_reference.rive b/rs/fr_FR/python_do_command_per_reference.rive new file mode 100644 index 0000000..04030a9 --- /dev/null +++ b/rs/fr_FR/python_do_command_per_reference.rive @@ -0,0 +1,25 @@ +> object do_command_per_reference python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : command reference (set_fat for the body plugin for example) + @param 3 : device name + @param 4 : value + """ + from domogik.butler.brain import do_command + tab_args = ' '.join(args).split(",") + locale = tab_args[0].strip() + dt_type_list = tab_args[1].strip() + command_reference = tab_args[2].strip() + device = tab_args[3].strip() + if len(tab_args) > 4: + value = tab_args[4].strip() + else: + value = None + res = do_command(rs.log, locale, dt_type_list=dt_type_list, device=device, value=value, command_reference=command_reference) + if res == None: + return u"Je ne sais pas ce qu'est : {0}".format(device) + else: + return u"OK" +< object + diff --git a/rs/fr_FR/user.rive b/rs/fr_FR/user.rive new file mode 100644 index 0000000..6ab6649 --- /dev/null +++ b/rs/fr_FR/user.rive @@ -0,0 +1,5 @@ ++ je suis * +- >Ok + ++ qui suis[-]je +- Tu es diff --git a/rs/nl_BE/DT_Bool.rive b/rs/nl_BE/DT_Bool.rive index 2915e92..6f62a03 100644 --- a/rs/nl_BE/DT_Bool.rive +++ b/rs/nl_BE/DT_Bool.rive @@ -1,5 +1,5 @@ + shortcut bool command * dev * val * -- do_bool_or_trigger_command nl_BE, , , +- do_command nl_BE, , , + lichten * @shortcut bool command DT_Switch dev val 1 diff --git a/rs/nl_BE/DT_Trigger.rive b/rs/nl_BE/DT_Trigger.rive index fb5b006..76038e5 100644 --- a/rs/nl_BE/DT_Trigger.rive +++ b/rs/nl_BE/DT_Trigger.rive @@ -1,6 +1,6 @@ + shortcut trigger command * dev * -- do_bool_or_trigger_command nl_NL, , +- do_command nl_NL, , + (runs) * @ shortcut trigger command DT_Trigger dev diff --git a/rs/nl_BE/python_do_color_command.rive b/rs/nl_BE/python_do_color_command.rive index 1a9c25d..af25436 100644 --- a/rs/nl_BE/python_do_color_command.rive +++ b/rs/nl_BE/python_do_color_command.rive @@ -1,4 +1,10 @@ > object do_color_command python + """ + @param 0 : locale + @param 1 : list of data type separated by a | + @param 2 : device + @param 3 : color value + """ from domogik_packages.brain_base.lib.color_command import color_command # source : https://gist.githubusercontent.com/lunohodov/1995178/raw/cb8cf1ebe1d1b8fa5759e287ebd6eaecbe3bc3e4/ral_standard.csv diff --git a/rs/nl_BE/python_do_bool_or_trigger_command.rive b/rs/nl_BE/python_do_command.rive similarity index 69% rename from rs/nl_BE/python_do_bool_or_trigger_command.rive rename to rs/nl_BE/python_do_command.rive index 64f9614..812dd63 100644 --- a/rs/nl_BE/python_do_bool_or_trigger_command.rive +++ b/rs/nl_BE/python_do_command.rive @@ -1,4 +1,10 @@ -> object do_bool_or_trigger_command python +> object do_command python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : device name + @param 3 : value + """ from domogik.butler.brain import do_command tab_args = ' '.join(args).split(",") locale = tab_args[0].strip() diff --git a/rs/nl_BE/python_do_command_per_reference.rive b/rs/nl_BE/python_do_command_per_reference.rive new file mode 100644 index 0000000..0365e83 --- /dev/null +++ b/rs/nl_BE/python_do_command_per_reference.rive @@ -0,0 +1,25 @@ +> object do_command_per_reference python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : command reference (set_fat for the body plugin for example) + @param 3 : device name + @param 4 : value + """ + from domogik.butler.brain import do_command + tab_args = ' '.join(args).split(",") + locale = tab_args[0].strip() + dt_type_list = tab_args[1].strip() + command_reference = tab_args[2].strip() + device = tab_args[3].strip() + if len(tab_args) > 4: + value = tab_args[4].strip() + else: + value = None + res = do_command(rs.log, locale, dt_type_list=dt_type_list, device=device, value=value, command_reference=command_reference) + if res == None: + return u"Error" + else: + return u"OK" +< object + From bbe6773e5fb9ca0456fa8418ec19b9cadf73c6a2 Mon Sep 17 00:00:00 2001 From: Fritz Date: Mon, 6 Jun 2016 15:34:17 +0000 Subject: [PATCH 09/14] Improvments : units, user. fr_FR --- rs/fr_FR/README.md | 8 ++++---- rs/fr_FR/user.rive | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/rs/fr_FR/README.md b/rs/fr_FR/README.md index 0fe5d09..a17f940 100644 --- a/rs/fr_FR/README.md +++ b/rs/fr_FR/README.md @@ -1,8 +1,8 @@ -Variables françaises pour l'utilisateur -======================================= +Variables pour l'utilisateur +============================ -nom ---- +name +---- Cette variable contient le nom de l'utilisateur. Elle peut être utilisée pour tout device qui est censé être lié à un utilisateur. diff --git a/rs/fr_FR/user.rive b/rs/fr_FR/user.rive index 6ab6649..97acfdc 100644 --- a/rs/fr_FR/user.rive +++ b/rs/fr_FR/user.rive @@ -1,5 +1,5 @@ + je suis * -- >Ok +- >Ok + qui suis[-]je -- Tu es +- Tu es From 3c035b3c6c1097807afc8061be6aa448e9417a17 Mon Sep 17 00:00:00 2001 From: Fritz Date: Wed, 8 Jun 2016 15:06:35 +0000 Subject: [PATCH 10/14] improvments --- docs/changelog.txt | 2 + rs/en_US/python_get_sensor_value.rive | 6 +++ ...python_get_sensor_value_per_reference.rive | 29 +++++++++++ rs/fr_FR/python_get_sensor_value.rive | 6 +++ ...python_get_sensor_value_per_reference.rive | 29 +++++++++++ rs/fr_FR/user.rive | 49 +++++++++++++++++-- rs/nl_BE/python_get_sensor_value.rive | 6 +++ ...python_get_sensor_value_per_reference.rive | 29 +++++++++++ 8 files changed, 153 insertions(+), 3 deletions(-) create mode 100644 rs/en_US/python_get_sensor_value_per_reference.rive create mode 100644 rs/fr_FR/python_get_sensor_value_per_reference.rive create mode 100644 rs/nl_BE/python_get_sensor_value_per_reference.rive diff --git a/docs/changelog.txt b/docs/changelog.txt index 72aafd1..b685123 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -7,6 +7,8 @@ Changelog * Small improvment on @donneMoi in begin.rive (fr_FR) * Add network test (fr_FR) +* Add user management feature for the 'name' information (fr_FR) +* Upgrades to do commands and get sensors : add the ability to use the command or sensor reference (used) 1.3 === diff --git a/rs/en_US/python_get_sensor_value.rive b/rs/en_US/python_get_sensor_value.rive index f9390be..a3fddc3 100644 --- a/rs/en_US/python_get_sensor_value.rive +++ b/rs/en_US/python_get_sensor_value.rive @@ -1,4 +1,10 @@ > object get_sensor_value python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : the unit (for string return) + @param 3 : device name + """ from domogik.butler.brain import get_sensor_value tab_args = ' '.join(args).split(",") print(tab_args[0]) diff --git a/rs/en_US/python_get_sensor_value_per_reference.rive b/rs/en_US/python_get_sensor_value_per_reference.rive new file mode 100644 index 0000000..a3c676d --- /dev/null +++ b/rs/en_US/python_get_sensor_value_per_reference.rive @@ -0,0 +1,29 @@ +> object get_sensor_value_per_reference python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : the unit (for string return) + @param 3 : sensor reference + @param 4 : device name + """ + from domogik.butler.brain import get_sensor_value + tab_args = ' '.join(args).split(",") + print(tab_args[0]) + print(tab_args[0].strip()) + locale = tab_args[0].strip() + dt_type = tab_args[1].strip() + unit = tab_args[2].strip() + sensor_reference = tab_args[3].strip() + device_name = tab_args[4].strip() + value = get_sensor_value(rs.log, locale, dt_type, device_name, sensor_reference = sensor_reference) + if value == None: + return u"inconnue" + if unit != "": + return u"{0} {1}".format(value, unit) + else: + return u"{0}".format(value) +< object + + + + diff --git a/rs/fr_FR/python_get_sensor_value.rive b/rs/fr_FR/python_get_sensor_value.rive index 4ba801b..d5fa54f 100644 --- a/rs/fr_FR/python_get_sensor_value.rive +++ b/rs/fr_FR/python_get_sensor_value.rive @@ -1,4 +1,10 @@ > object get_sensor_value python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : the unit (for string return) + @param 3 : device name + """ from domogik.butler.brain import get_sensor_value tab_args = ' '.join(args).split(",") print(tab_args[0]) diff --git a/rs/fr_FR/python_get_sensor_value_per_reference.rive b/rs/fr_FR/python_get_sensor_value_per_reference.rive new file mode 100644 index 0000000..a3c676d --- /dev/null +++ b/rs/fr_FR/python_get_sensor_value_per_reference.rive @@ -0,0 +1,29 @@ +> object get_sensor_value_per_reference python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : the unit (for string return) + @param 3 : sensor reference + @param 4 : device name + """ + from domogik.butler.brain import get_sensor_value + tab_args = ' '.join(args).split(",") + print(tab_args[0]) + print(tab_args[0].strip()) + locale = tab_args[0].strip() + dt_type = tab_args[1].strip() + unit = tab_args[2].strip() + sensor_reference = tab_args[3].strip() + device_name = tab_args[4].strip() + value = get_sensor_value(rs.log, locale, dt_type, device_name, sensor_reference = sensor_reference) + if value == None: + return u"inconnue" + if unit != "": + return u"{0} {1}".format(value, unit) + else: + return u"{0}".format(value) +< object + + + + diff --git a/rs/fr_FR/user.rive b/rs/fr_FR/user.rive index 97acfdc..3a1ebe3 100644 --- a/rs/fr_FR/user.rive +++ b/rs/fr_FR/user.rive @@ -1,5 +1,48 @@ -+ je suis * -- >Ok +// On definit le nom ///////////////////////////////////////////////// ++ je (suis|m appelle|me nomme|me prenomme) * +- >Ok. + ++ mon (prenom|identite|surnom|nom) est * +- >Ok. + qui suis[-]je -- Tu es +* == undefined => Je ne sais pas comment tu t'appelles. +- Tu es . +- Tu t'appelles . + ++ sais[-]tu qui je suis +- Qui es tu ? + +// RAZ du nom ///////////////////////////////////////////////// ++ oublie mon (prenom|identite|surnom|nom) +- Ok. + ++ je ne suis personne +- Ok. + ++ oublie moi +- Ok. + +// Reponse generique pour la demande 'qui es tu ?' //////////// +// Exemple d'usage dans un package : +// On donne une indication sur soi. Si le nom est connu, on traite. Sinon on defini un dialogue et on demande qui on est +// + je fais * [@pourcent] de (muscle@s|masse musculaire) +// * == undefined => >Qui es tu ? +// - do_command_per_reference fr_FR, DT_Scaling, set_muscle, , +// +// A la reposne a la question 'qui es tu' on redirige suivant le dialogue vers la question initiale pour le traitement. On definit en passant le nom et on raz le dialogue courant. +// + * +// % qui es tu ? +// * == get_weight => > {@quel est mon poids} +// * == set_weight => > {@je pese kg} +// +// Il est possible d'utiliser le bloc suivant dans plusieurs packages sans souci +// + * +// % qui es tu ? +// * ... + ++ * +% qui es tu ? +- >Ok, tu es . + + diff --git a/rs/nl_BE/python_get_sensor_value.rive b/rs/nl_BE/python_get_sensor_value.rive index e7f0f03..445c513 100644 --- a/rs/nl_BE/python_get_sensor_value.rive +++ b/rs/nl_BE/python_get_sensor_value.rive @@ -1,4 +1,10 @@ > object get_sensor_value python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : the unit (for string return) + @param 3 : device name + """ from domogik.butler.brain import get_sensor_value tab_args = ' '.join(args).split(",") print(tab_args[0]) diff --git a/rs/nl_BE/python_get_sensor_value_per_reference.rive b/rs/nl_BE/python_get_sensor_value_per_reference.rive new file mode 100644 index 0000000..a3c676d --- /dev/null +++ b/rs/nl_BE/python_get_sensor_value_per_reference.rive @@ -0,0 +1,29 @@ +> object get_sensor_value_per_reference python + """ + @param 0 : locale + @param 1 : a list of datatypes separated by | + @param 2 : the unit (for string return) + @param 3 : sensor reference + @param 4 : device name + """ + from domogik.butler.brain import get_sensor_value + tab_args = ' '.join(args).split(",") + print(tab_args[0]) + print(tab_args[0].strip()) + locale = tab_args[0].strip() + dt_type = tab_args[1].strip() + unit = tab_args[2].strip() + sensor_reference = tab_args[3].strip() + device_name = tab_args[4].strip() + value = get_sensor_value(rs.log, locale, dt_type, device_name, sensor_reference = sensor_reference) + if value == None: + return u"inconnue" + if unit != "": + return u"{0} {1}".format(value, unit) + else: + return u"{0}".format(value) +< object + + + + From 672afbaa5ad954c32c6711f3e169a06571fdc8f9 Mon Sep 17 00:00:00 2001 From: Fritz Date: Wed, 8 Jun 2016 21:44:00 +0200 Subject: [PATCH 11/14] fr_FR : improve some sentences --- rs/fr_FR/DT_Bool.rive | 23 +++++++++++++++++++++-- rs/fr_FR/begin.rive | 2 +- rs/fr_FR/greetings.rive | 3 +++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/rs/fr_FR/DT_Bool.rive b/rs/fr_FR/DT_Bool.rive index fb9b613..8257f9d 100644 --- a/rs/fr_FR/DT_Bool.rive +++ b/rs/fr_FR/DT_Bool.rive @@ -22,6 +22,27 @@ + (etein|eteins|eteindre) [@pronom] * @ shortcut bool command DT_Switch|DT_ColorRGBHexa dev val 0 + + +// note : volet et rideau au pluriel car il peut y en avoir 2 par ouvrant +! array openclose = la porte fenetre|la porte de garage|la porte|la fenetre|la baie vitree|la baie|le volet|les volets|la persienne|le rideau|les rideaux|le store|le velux + ++ (ouvre|ouvres|monte|montes) (@openclose) [@cible] * +@ shortcut bool command DT_Switch|DT_OpenClose dev val 1 + ++ (ouvre|ouvres|monte|montes) [@pronom] * +@ shortcut bool command DT_Switch|DT_OpenClose dev val 1 + ++ (ferme|fermes|descend|descends) (@openclose) [@cible] * +@ shortcut bool command DT_Switch|DT_OpenClose dev val 0 + ++ (ferme|fermes|descend|descends) [@pronom] * +@ shortcut bool command DT_Switch|DT_OpenClose dev val 0 + + + + + + active [@pronom] * @ shortcut bool command DT_Enable dev val 1 @@ -82,8 +103,6 @@ //////// Ouvertures - Etat - 1 - status -// note : volet et rideau au pluriel car il peut y en avoir 2 par ouvrant -! array openclose = la porte fenetre|la porte de garage|la porte|la fenetre|la baie vitree|la baie|le volet|les volets|la persienne|le rideau|les rideaux|le store|le velux + shortcut openclose status * * get_sensor_value fr_FR, DT_OpenClose, , > == inconnue => Je ne connais pas diff --git a/rs/fr_FR/begin.rive b/rs/fr_FR/begin.rive index 77f088b..306705d 100644 --- a/rs/fr_FR/begin.rive +++ b/rs/fr_FR/begin.rive @@ -15,7 +15,7 @@ ! array quel = quel quelle quels quelles // pour les sensors -! array donneMoi = donne moi|donnes moi|quel est|quelle est|dis moi +! array donneMoi = donne-moi|donnes-moi|donne moi|donnes moi|quel-est|quelle-est|quel est|quelle est|dis-moi|dis moi // pour des demandes ! array peuxTu = peux tu|peux-tu|est ce que tu peux|est-ce que tu peux diff --git a/rs/fr_FR/greetings.rive b/rs/fr_FR/greetings.rive index fefad66..b042f49 100644 --- a/rs/fr_FR/greetings.rive +++ b/rs/fr_FR/greetings.rive @@ -55,6 +55,9 @@ - Bonne soirée - Bien le bonsoir ++ [*] (bonne nuit|bonne-nuit|je vais dormir|je vais au lit) [*] +- Dormez bien + + allo [*] - Ici au bout du fil From 6b6c2635b8e2575924b12fbbdebaa794307d142e Mon Sep 17 00:00:00 2001 From: Fritz Date: Mon, 10 Oct 2016 21:47:01 +0200 Subject: [PATCH 12/14] improve get_sensor_value_per_reference to allow no device name --- rs/fr_FR/python_get_sensor_value_per_reference.rive | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rs/fr_FR/python_get_sensor_value_per_reference.rive b/rs/fr_FR/python_get_sensor_value_per_reference.rive index a3c676d..260cfe2 100644 --- a/rs/fr_FR/python_get_sensor_value_per_reference.rive +++ b/rs/fr_FR/python_get_sensor_value_per_reference.rive @@ -4,7 +4,7 @@ @param 1 : a list of datatypes separated by | @param 2 : the unit (for string return) @param 3 : sensor reference - @param 4 : device name + @param 4 : device name (optionnal) """ from domogik.butler.brain import get_sensor_value tab_args = ' '.join(args).split(",") @@ -14,7 +14,10 @@ dt_type = tab_args[1].strip() unit = tab_args[2].strip() sensor_reference = tab_args[3].strip() - device_name = tab_args[4].strip() + if len(tab_args) == 5: + device_name = tab_args[4].strip() + else: + device_name = None value = get_sensor_value(rs.log, locale, dt_type, device_name, sensor_reference = sensor_reference) if value == None: return u"inconnue" From 1d716c2dbd690079e19f7ffec3fa65397e4784a9 Mon Sep 17 00:00:00 2001 From: Fritz Date: Tue, 22 Nov 2016 13:39:19 +0100 Subject: [PATCH 13/14] who is the user --- rs/fr_FR/begin.rive | 3 +++ rs/fr_FR/user.rive | 7 ++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rs/fr_FR/begin.rive b/rs/fr_FR/begin.rive index 306705d..52ebfd7 100644 --- a/rs/fr_FR/begin.rive +++ b/rs/fr_FR/begin.rive @@ -20,6 +20,9 @@ // pour des demandes ! array peuxTu = peux tu|peux-tu|est ce que tu peux|est-ce que tu peux +// pour se nommer +! array jeSuis = je suis|je m appelle|je me nomme|je me prenomme|mon prenom est|mon identite est|mon surnom est|mon nom est + ////////////////////////////////////////////////// // Unités diff --git a/rs/fr_FR/user.rive b/rs/fr_FR/user.rive index 3a1ebe3..dc6e995 100644 --- a/rs/fr_FR/user.rive +++ b/rs/fr_FR/user.rive @@ -1,9 +1,6 @@ // On definit le nom ///////////////////////////////////////////////// -+ je (suis|m appelle|me nomme|me prenomme) * -- >Ok. - -+ mon (prenom|identite|surnom|nom) est * -- >Ok. ++ (@jeSuis) * +- >Ok. Tu es . + qui suis[-]je * == undefined => Je ne sais pas comment tu t'appelles. From 30792ec876e95c42d9bbefaf58b7624ea8732643 Mon Sep 17 00:00:00 2001 From: Fritz Date: Tue, 20 Dec 2016 16:28:19 +0100 Subject: [PATCH 14/14] array improvment --- rs/fr_FR/begin.rive | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rs/fr_FR/begin.rive b/rs/fr_FR/begin.rive index 52ebfd7..0e0e7fd 100644 --- a/rs/fr_FR/begin.rive +++ b/rs/fr_FR/begin.rive @@ -26,5 +26,5 @@ ////////////////////////////////////////////////// // Unités -! array pourcent = pourcentages|pourcentage|pourcents|pourcent -! array kg = kilogrammes|kilogramme|kilo grammes|kilo grammes|kilos|kilo|kg +! array pourcent = pourcentage|pourcentages|pourcent|pourcents +! array kg = kilogramme|kilogrammes|kilo gramme|kilo grammes|kilo|kilos|kg|kgs