Skip to content
Snippets Groups Projects
Commit adac26be authored by René Schöne's avatar René Schöne
Browse files

Small cleanup.

- Use non-deprecated API for MQTT
- Remove test code in starter
- Remove item references in starter configuration file
parent 0c8ebacd
No related branches found
No related tags found
1 merge request!19dev to master
......@@ -103,8 +103,7 @@ public class MqttReceiver implements AutoCloseable {
mqtt.setHost(this.host);
connection = mqtt.callbackConnection();
AtomicReference<Throwable> error = new AtomicReference<>();
connection.listener(new Listener() {
@Override
connection.listener(new ExtendedListener() {
public void onConnected() {
logger.debug("Connected");
}
......@@ -115,12 +114,17 @@ public class MqttReceiver implements AutoCloseable {
}
@Override
public void onPublish(UTF8Buffer topicBuffer, Buffer body, Runnable ack) {
String topicString = topicBuffer.toString();
public void onPublish(UTF8Buffer topic, Buffer body, Callback<Callback<Void>> ack) {
String topicString = topic.toString();
String message = body.ascii().toString();
// logger.debug("{}: {}", topicString, message);
onMessageCallback.accept(topicString, message);
ack.run(); // always acknowledge message
ack.onSuccess(null); // always acknowledge message
}
@Override
public void onPublish(UTF8Buffer topicBuffer, Buffer body, Runnable ack) {
logger.warn("onPublish should not be called");
}
@Override
......
package de.tudresden.inf.st.eraser.starter;
import beaver.Parser;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import de.tudresden.inf.st.eraser.feedbackloop.analyze.AnalyzeImpl;
......@@ -68,6 +69,7 @@ public class EraserStarter {
System.exit(1);
}
ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
File settingsFile = new File(commandLineOptions.configFile);
Setting settings;
try {
......@@ -127,52 +129,6 @@ public class EraserStarter {
machineLearningModel.setEncoder(handler);
machineLearningModel.setDecoder(handler);
root.getMachineLearningRoot().setActivityRecognition(machineLearningModel);
/**
//Begin the Integration
Item item1=model.resolveItem("m_accel_x").get();
Item item2=model.resolveItem("m_accel_y").get();
Item item3=model.resolveItem("m_accel_z").get();
Item item4=model.resolveItem("m_rotation_x").get();
Item item5=model.resolveItem("m_rotation_y").get();
Item item6=model.resolveItem("m_rotation_z").get();
Item item7=model.resolveItem("w_accel_x").get();
Item item8=model.resolveItem("w_accel_y").get();
Item item9=model.resolveItem("w_accel_z").get();
Item item10=model.resolveItem("w_rotation_x").get();
Item item11=model.resolveItem("w_rotation_y").get();
Item item12=model.resolveItem("w_rotation_z").get();
//0.2717419,8.698134,4.471172,0.043741,0.515962,0.854318,1.8818425,4.9320555,8.145074,0.2374878,-0.032836914,0.3381958,working
item1.setStateFromString("0.2717419");
item2.setStateFromString("8.698134");
item3.setStateFromString("4.471172");
item4.setStateFromString("0.043741");
item5.setStateFromString("0.515962");
item6.setStateFromString("0.854318");
item7.setStateFromString("1.8818425");
item8.setStateFromString("4.9320555");
item9.setStateFromString("8.145074");
item10.setStateFromString("0.2374878");
item11.setStateFromString("-0.032836914");
item12.setStateFromString("0.3381958");
ArrayList<Item> newData=new ArrayList<>();
newData.add(item1);
newData.add(item2);
newData.add(item3);
newData.add(item4);
newData.add(item5);
newData.add(item6);
newData.add(item7);
newData.add(item8);
newData.add(item9);
newData.add(item10);
newData.add(item11);
newData.add(item12);
handler.newData(newData);*/
List<ItemPreference> preference=handler.classify().getPreferences();
for(ItemPreference preference1 : preference){
preference1.apply();
}
}
// initialize preference learning
......@@ -188,23 +144,9 @@ public class EraserStarter {
machineLearningModel.setEncoder(handler);
machineLearningModel.setDecoder(handler);
root.getMachineLearningRoot().setPreferenceLearning(machineLearningModel);
//working,medium,240,70
/**Item activity_item = model.resolveItem("activity").get();
String activity=activity_item.getStateAsString();
activity_item.setStateFromString(activity);
Item brightness_item = model.resolveItem("w_brightness").get();
brightness_item.setStateFromString("medium");
ArrayList<Item> newData1 = new ArrayList<>();
newData1.add(activity_item);
newData1.add(brightness_item);
handler.newData(newData1);*/
List<ItemPreference> preference=handler.classify().getPreferences();
for(ItemPreference preference1 : preference){
preference1.apply();
}
}
machineLearningRoot.getPreferenceLearning().connectItems(settings.preference.items);
// machineLearningRoot.getPreferenceLearning().connectItems(settings.preference.items);
if (!machineLearningRoot.getActivityRecognition().check()) {
logger.fatal("Invalid activity recognition!");
System.exit(1);
......
......@@ -6,7 +6,6 @@ import org.apache.logging.log4j.Logger;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.file.Paths;
import java.util.List;
/**
* Setting bean.
......@@ -47,10 +46,10 @@ class Setting {
public boolean dummy = false;
/** Model id. Default: 1.*/
public int id = 1;
/** Items to connect to inputs */
public List<String> items;
/** Item to change with classification result */
public String affectedItem;
// /** Items to connect to inputs */
// public List<String> items;
// /** Item to change with classification result */
// public String affectedItem;
}
public class OpenHabContainer {
/** The URL from which to import and at which openHAB is running */
......
......@@ -31,8 +31,8 @@ activity:
dummy: false
# Model id. Default: 1.
id: 1
# Item to change with classification result
affectedItem: activity
# # Item to change with classification result
# affectedItem: activity
# Model for preference learning. If dummy is true, then the file parameter is ignored.
preference:
......@@ -43,12 +43,12 @@ preference:
dummy: false
# Model id. Default: 1.
id: 1
# Items to connect to inputs
items:
- activity
- w_brightness
# Item to change with classification result
affectedItem: iris1_item
# # Items to connect to inputs
# items:
# - activity
# - w_brightness
# # Item to change with classification result
# affectedItem: iris1_item
# Initialize the knowledge base by importing data from openHAB.
openhab:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment