Search in sources :

Example 1 with IntentTrainer

use of org.openhab.ui.habot.nlp.internal.IntentTrainer in project habot by ghys.

the class TrainerDeTest method testDeactivateObjects.

@Test
public void testDeactivateObjects() throws Exception {
    Intent actual;
    this.trainer = new IntentTrainer("de", skills);
    actual = interpret("mach das Licht aus");
    assertEquals(Skills.DEACTIVATE_OBJECT, actual.getName());
    assertEquals(1, actual.getEntities().size());
    assertEquals("licht", actual.getEntities().get("object"));
    actual = interpret("mach den Fernseher aus");
    assertEquals(Skills.DEACTIVATE_OBJECT, actual.getName());
    assertEquals(1, actual.getEntities().size());
    assertEquals("fernseher", actual.getEntities().get("object"));
    actual = interpret("bitte mache das Licht aus");
    assertEquals(Skills.DEACTIVATE_OBJECT, actual.getName());
    assertEquals(1, actual.getEntities().size());
    assertEquals("licht", actual.getEntities().get("object"));
}
Also used : IntentTrainer(org.openhab.ui.habot.nlp.internal.IntentTrainer) Intent(org.openhab.ui.habot.nlp.Intent) Test(org.junit.Test)

Example 2 with IntentTrainer

use of org.openhab.ui.habot.nlp.internal.IntentTrainer in project habot by ghys.

the class TrainerDeTest method testHistoryHourly.

@Test
public void testHistoryHourly() throws Exception {
    Intent actual;
    this.trainer = new IntentTrainer("de", skills, null, "alphanumeric");
    actual = interpret("wie ist der Verlauf der Temperatur der letzten Stunde?");
    assertEquals(Skills.GET_HISTORY_HOURLY, actual.getName());
    assertEquals(1, actual.getEntities().size());
    assertEquals("temperatur", actual.getEntities().get("object"));
    actual = interpret("Verlauf der Temperatur der letzten Stunde");
    assertEquals(Skills.GET_HISTORY_HOURLY, actual.getName());
    assertEquals(1, actual.getEntities().size());
    assertEquals("temperatur", actual.getEntities().get("object"));
}
Also used : IntentTrainer(org.openhab.ui.habot.nlp.internal.IntentTrainer) Intent(org.openhab.ui.habot.nlp.Intent) Test(org.junit.Test)

Example 3 with IntentTrainer

use of org.openhab.ui.habot.nlp.internal.IntentTrainer in project habot by ghys.

the class TrainerDeTest method testHistoryLastChanges.

@Test
public void testHistoryLastChanges() throws Exception {
    Intent actual;
    this.trainer = new IntentTrainer("de", skills, null, "alphanumeric");
    actual = interpret("wann hat sich die Temperatur zuletzt geändert?");
    assertEquals(Skills.GET_HISTORY_LAST_CHANGES, actual.getName());
    assertEquals(1, actual.getEntities().size());
    assertEquals("temperatur", actual.getEntities().get("object"));
    actual = interpret("wann wurde der letzte Alarm ausgelöst?");
    assertEquals(Skills.GET_HISTORY_LAST_CHANGES, actual.getName());
    assertEquals(1, actual.getEntities().size());
    assertEquals("alarm", actual.getEntities().get("object"));
    actual = interpret("wann wurde der Status vom Licht im Wohnzimmer zuletzt geändert?");
    assertEquals(Skills.GET_HISTORY_LAST_CHANGES, actual.getName());
    assertEquals(2, actual.getEntities().size());
    assertEquals("wohnzimmer", actual.getEntities().get("location"));
    assertEquals("licht", actual.getEntities().get("object"));
}
Also used : IntentTrainer(org.openhab.ui.habot.nlp.internal.IntentTrainer) Intent(org.openhab.ui.habot.nlp.Intent) Test(org.junit.Test)

Example 4 with IntentTrainer

use of org.openhab.ui.habot.nlp.internal.IntentTrainer in project habot by ghys.

the class TrainerFrTest method testFR.

@Test
public void testFR() throws Exception {
    Intent actual;
    this.trainer = new IntentTrainer("fr", skills, null, "alphanumeric");
    actual = interpret("montre le graphique de la consommation électrique pour les 2 derniers jours");
    assertEquals("get-history-daily", actual.getName());
    assertEquals(2, actual.getEntities().size());
    assertEquals("2", actual.getEntities().get("period"));
    assertEquals("consommation électrique", actual.getEntities().get("object"));
    assertIsGetStatus("montre-moi la température du salon");
    assertIsGetStatus("Température du salon ?");
    assertIsGetStatus("lumières du couloir", "lumières", "couloir");
    assertIsGetStatus("lumières du salon", "lumières", "salon");
    assertIsGetStatus("lumière du salon", "lumière", "salon");
    assertIsGetStatus("lumière de la cuisine", "lumière", "cuisine");
    assertIsGetStatus("lumière de la chambre", "lumière", "chambre");
    assertIsGetStatus("lampes de la chambre", "lampes", "chambre");
    assertIsGetStatus("chauffage du couloir", "chauffage", "couloir");
    assertIsGetStatus("chauffage de la piscine", "chauffage", "piscine");
    assertIsGetStatus("lumières de la terrasse", "lumières", "terrasse");
    assertIsGetStatus("volets de la cuisine", "volets", "cuisine");
    assertIsGetStatus("fenêtre du séjour", "fenêtre", "séjour");
    assertIsGetStatus("lampes du couloir", "lampes", "couloir");
    assertIsGetStatus("chauffage dans la salle de bain", "chauffage", "salle de bain");
    assertIsGetStatus("lumières dans la salle de bain", "lumières", "salle de bain");
    assertIsGetStatus("lumières dans la salle de bain", "lumières", "salle de bain");
    assertIsGetStatus("ventilation dans la salle de bain", "ventilation", "salle de bain");
    assertIsGetStatus("température dans la chambre d'amis", "température", "chambre d amis");
    assertIsGetStatus("lumière dans la salle de jeux", "lumière", "salle de jeux");
    assertIsGetStatus("chauffage dans la buanderie", "chauffage", "buanderie");
    assertIsGetStatus("montre-moi l'état des lumières", "lumières", null);
    assertIsGetStatus("montre-moi l'état du thermostat", "thermostat", null);
    assertIsGetStatus("montre-moi l'état de la consommation électrique", "consommation électrique", null);
    assertIsGetStatus("montre-moi les lampes", "lampes", null);
    assertIsGetStatus("montre-moi le projecteur", "projecteur", null);
    assertIsGetStatus("montre-moi le lecteur dvd", "lecteur dvd", null);
    assertIsGetStatus("montre-moi le chauffage", "chauffage", null);
    assertIsGetStatus("montre-moi un peu le thermostat", "thermostat", null);
    assertIsGetStatus("montre-moi le volet du salon", "volet", "salon");
    assertIsGetStatus("montre-moi la température de la cuisine", "température", "cuisine");
    assertIsGetStatus("peux-tu me montrer le thermostat", "thermostat", null);
    assertIsGetStatus("chauffage au premier étage", "chauffage", "premier étage");
    assertIsGetStatus("chauffage au rez-de-chaussée", "chauffage", "rez de chaussée");
    assertIsGetStatus("lampe de la cage d'escalier", "lampe", "cage d escalier");
    assertIsGetStatus("volet dans la cage d'escalier", "volet", "cage d escalier");
    assertIsGetStatus("arrosage dans le jardin", "arrosage", "jardin");
    assertIsGetStatus("lampes du couloir", "lampes", "couloir");
    assertIsGetStatus("chauffage de la salle de bain", "chauffage", "salle de bain");
    assertIsActivate("active le thermostat dans le garage", "thermostat", "garage");
    assertIsActivate("active le chauffage dans le salon", "chauffage", "salon");
    assertIsActivate("allume la lampe de la cage d'escalier", "lampe", "cage d escalier");
    assertIsActivate("allume la lumière de la chambre", "lumière", "chambre");
    assertIsActivate("allume l'ampli", "ampli", null);
    assertIsActivate("allume la tv s'il te plaît", "tv", null);
    assertIsActivate("mets de la musique", "musique", null);
    assertIsActivate("mets moi de la musique", "musique", null);
    assertIsActivate("mets en route la climatisation", "climatisation", null);
    assertIsActivate("mets de la musique dans le salon", "musique", "salon");
    assertIsActivate("allume la lumière du couloir", "lumière", "couloir");
    assertIsActivate("allume la lumière du salon", "lumière", "salon");
    assertIsActivate("allume les lumières au premier étage", "lumières", "premier étage");
    assertIsActivate("allume le chauffage au rez-de-chaussée", "chauffage", "rez de chaussée");
    // assertIsActivate("mets du chauffage au rez-de-chaussée", "chauffage", "rez de chaussée");
    assertIsDeactivate("arrête le chauffage dans le salon", "chauffage", "salon");
    assertIsDeactivate("stoppe la ventilation", "ventilation", null);
    assertIsDeactivate("éteins les lumières dans la cuisine", "lumières", "cuisine");
    assertIsDeactivate("éteindre la lumière dans la salle à manger", "lumière", "salle à manger");
    assertIsDeactivate("arrêter l'air conditionné", "air conditionné", null);
    assertIsDeactivate("arrête l'arrosage du jardin", "arrosage", "jardin");
    assertIsDeactivate("arrête le volet du salon", "volet", "salon");
    assertIsDeactivate("éteins la lumière du bureau", "lumière", "bureau");
    assertIsDeactivate("stoppe la ventilation", "ventilation", null);
    assertIsDeactivate("stoppe la chaudière", "chaudière", null);
    assertIsDeactivate("je ne veux plus de chauffage dans le salon", "chauffage", "salon");
    assertIsDeactivate("arrête la musique", "musique", null);
    assertIsDeactivate("je ne veux plus de musique", "musique", null);
    assertIs(Skills.GET_HISTORY_HOURLY, "donne-moi un graphique de la température du salon pour les dernières heures");
    checkInterpretation(Skills.GET_HISTORY_DAILY, "température dans la salle de bain sur 3 jours", "température", "salle de bain");
    assertIsGetStatus("lampe dans la cage d'escalier");
    assertIsGetStatus("volet dans la cage d'escalier");
    assertIsGetStatus("arrosage dans le jardin");
    assertIsActivate("allume la lampe de la cage d'escalier");
    assertIsGetStatus("lampes du couloir");
    assertIs(Skills.GET_HISTORY_MONTHLY, "graphique mensuel de la température sur 2 mois");
    assertIs(Skills.GET_HISTORY_WEEKLY, "graphique de la température de la semaine");
    assertIsSetValue("mets la température du salon à 23");
    assertIsSetValue("mets le volume de la musique à 50 %");
    assertIsSetValue("mets le volume à 50 %");
    assertIsSetValue("change la lumière au rez-de-chaussée à 12%");
    assertIsSetValue("couleur rouge pour le bureau");
    assertIsSetValue("mets les lumières de la terrasse en jaune");
    assertIsSetValue("mets les lampes du balcon en orange");
    assertIsSetValue("mets la ventilation à 40 %");
    assertIsSetValue("change la couleur de la cuisine en bleu");
    assertIsSetValue("mets la musique à 40");
    assertIsSetValue("mets la musique dans la cuisine à 80");
    assertIsSetValue("mets les lumières dans le jardin en violet");
    assertIsSetValue("mets les lumières dans la buanderie à 40%");
    assertIsSetValue("mets les lumières dans le couloir à 20%");
    assertIs(Skills.CREATE_RULE, "programme un truc pour demain matin");
    assertIs(Skills.CREATE_RULE, "fais une règle à exécuter ce soir");
    assertIs(Skills.CREATE_RULE, "programmer une tâche pour dans 2 heures");
    assertIs(Skills.CREATE_RULE, "programme une tâche pour samedi à 10h45");
    assertIs(Skills.CREATE_RULE, "peux-tu ajouter une règle pour cet après midi");
}
Also used : IntentTrainer(org.openhab.ui.habot.nlp.internal.IntentTrainer) Intent(org.openhab.ui.habot.nlp.Intent) Test(org.junit.Test)

Example 5 with IntentTrainer

use of org.openhab.ui.habot.nlp.internal.IntentTrainer in project habot by ghys.

the class TrainerEnTest method testEN.

@Test
public void testEN() throws Exception {
    this.trainer = new IntentTrainer("en", skills);
    assertIsGetStatus("Temperature in the kitchen?", "temperature", "kitchen");
    assertIsGetStatus("show me the temperature in the kitchen", "temperature", "kitchen");
    assertIsGetStatus("what's the temperature in the garage?", "temperature", "garage");
    assertIsGetStatus("temperature in the corridor", "temperature", "corridor");
    assertIsGetStatus("temperature on the first floor", "temperature", "first floor");
    assertIsGetStatus("tell me the temperature of the pool", "temperature", "pool");
    assertIsGetStatus("lights in the attic", "lights", "attic");
    assertIsGetStatus("lights in the basement", "lights", "basement");
    assertIsGetStatus("lights in the guest house", "lights", "guest house");
    assertIsGetStatus("corridor lights", "lights", "corridor");
    assertIsGetStatus("living room lights", "lights", "living room");
    assertIsGetStatus("kitchen lights", "lights", "kitchen");
    assertIsActivate("start the heating in the garage", "heating", "garage");
    assertIsActivate("start the boiler in the garage", "boiler", "garage");
    assertIsActivate("start the ac please!", "ac", null);
    assertIsActivate("put on some music please", "music", null);
    assertIsActivate("can you put some music in the kitchen please", "music", "kitchen");
    assertIsActivate("turn on the lights in the kitchen", "lights", "kitchen");
    assertIsActivate("please switch the lights in the kitchen on", "lights", "kitchen");
    assertIsActivate("i'd like some light in the bedroom", "light", "bedroom");
    assertIsActivate("i want some air conditioning in the bedroom", "air conditioning", "bedroom");
    assertIsDeactivate("please turn off the radiators", "radiators", null);
    assertIsDeactivate("deactivate the alarm", "alarm", null);
    assertIsDeactivate("stop the music in the living room", "music", "living room");
    assertIsDeactivate("i don't want music in the kitchen anymore", "music", "kitchen");
    assertIsDeactivate("i don't want any music in the kitchen anymore", "music", "kitchen");
    assertIsDeactivate("stop the washing machine", "washing machine", null);
    assertIsDeactivate("stop the air conditioning", "air conditioning", null);
    assertIsDeactivate("please could you stop the air conditioning", "air conditioning", null);
    assertIsDeactivate("no more lights please", "lights", null);
    checkInterpretation(Skills.GET_HISTORY_HOURLY, "show me a graph of the temperature in the living room for the last 3 hours", "temperature", "living room");
    checkInterpretation(Skills.GET_HISTORY_DAILY, "graph the water consumption for the last 2 days", "water consumption", null);
    checkInterpretation(Skills.GET_HISTORY_WEEKLY, "i'd like a chart of the humidity over 2 weeks", "humidity", null);
    checkInterpretation(Skills.GET_HISTORY_MONTHLY, "temperature in the downstairs corridor for the last month", "temperature", "downstairs corridor");
    checkInterpretation(Skills.GET_HISTORY_MONTHLY, "luminosity in the living room over 6 months", "luminosity", "living room");
    checkInterpretation(Skills.GET_HISTORY_LAST_CHANGES, "when was the alarm turned on for the last time?", "alarm", null);
    checkInterpretation(Skills.GET_HISTORY_LAST_CHANGES, "show me the last state changes of the window in the bedroom", "window", "bedroom");
    assertIsSetValue("set the volume in the living room to 25%");
    assertIsSetValue("change the lights in the kitchen to yellow");
    assertIsSetValue("change the corridor lights to 70%");
    assertIsSetValue("please set the kitchen lights to red");
    assertIsSetValue("set the music volume in the living room at 80%");
    assertIsSetValue("set the lights in the backyard at 80%");
    assertIsSetValue("set the lights of the pool to red");
    assertIsSetValue("set the lights in the child's room to 10%");
    assertIsSetValue("please put the lights in the child's room at 50%");
    assertIsSetValue("change the color the lights in blue");
    assertIsSetValue("set the lights in the living room to 35%");
    assertIs("create-rule", "i want to create a rule to run on Monday");
    assertIs("create-rule", "set up something to run later");
    assertIs("create-rule", "set up a new rule to run in 90 minutes");
    assertIs("create-rule", "set up a new rule to run tomorrow at 8");
    assertIs("create-rule", "set up a new rule to run on Wednesday at 11h30");
}
Also used : IntentTrainer(org.openhab.ui.habot.nlp.internal.IntentTrainer) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)12 IntentTrainer (org.openhab.ui.habot.nlp.internal.IntentTrainer)12 Intent (org.openhab.ui.habot.nlp.Intent)11