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 { ...@@ -103,8 +103,7 @@ public class MqttReceiver implements AutoCloseable {
mqtt.setHost(this.host); mqtt.setHost(this.host);
connection = mqtt.callbackConnection(); connection = mqtt.callbackConnection();
AtomicReference<Throwable> error = new AtomicReference<>(); AtomicReference<Throwable> error = new AtomicReference<>();
connection.listener(new Listener() { connection.listener(new ExtendedListener() {
@Override
public void onConnected() { public void onConnected() {
logger.debug("Connected"); logger.debug("Connected");
} }
...@@ -115,12 +114,17 @@ public class MqttReceiver implements AutoCloseable { ...@@ -115,12 +114,17 @@ public class MqttReceiver implements AutoCloseable {
} }
@Override @Override
public void onPublish(UTF8Buffer topicBuffer, Buffer body, Runnable ack) { public void onPublish(UTF8Buffer topic, Buffer body, Callback<Callback<Void>> ack) {
String topicString = topicBuffer.toString(); String topicString = topic.toString();
String message = body.ascii().toString(); String message = body.ascii().toString();
// logger.debug("{}: {}", topicString, message); // logger.debug("{}: {}", topicString, message);
onMessageCallback.accept(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 @Override
......
package de.tudresden.inf.st.eraser.starter; package de.tudresden.inf.st.eraser.starter;
import beaver.Parser; import beaver.Parser;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import de.tudresden.inf.st.eraser.feedbackloop.analyze.AnalyzeImpl; import de.tudresden.inf.st.eraser.feedbackloop.analyze.AnalyzeImpl;
...@@ -68,6 +69,7 @@ public class EraserStarter { ...@@ -68,6 +69,7 @@ public class EraserStarter {
System.exit(1); System.exit(1);
} }
ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
File settingsFile = new File(commandLineOptions.configFile); File settingsFile = new File(commandLineOptions.configFile);
Setting settings; Setting settings;
try { try {
...@@ -127,52 +129,6 @@ public class EraserStarter { ...@@ -127,52 +129,6 @@ public class EraserStarter {
machineLearningModel.setEncoder(handler); machineLearningModel.setEncoder(handler);
machineLearningModel.setDecoder(handler); machineLearningModel.setDecoder(handler);
root.getMachineLearningRoot().setActivityRecognition(machineLearningModel); 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 // initialize preference learning
...@@ -188,23 +144,9 @@ public class EraserStarter { ...@@ -188,23 +144,9 @@ public class EraserStarter {
machineLearningModel.setEncoder(handler); machineLearningModel.setEncoder(handler);
machineLearningModel.setDecoder(handler); machineLearningModel.setDecoder(handler);
root.getMachineLearningRoot().setPreferenceLearning(machineLearningModel); 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()) { if (!machineLearningRoot.getActivityRecognition().check()) {
logger.fatal("Invalid activity recognition!"); logger.fatal("Invalid activity recognition!");
System.exit(1); System.exit(1);
......
...@@ -6,7 +6,6 @@ import org.apache.logging.log4j.Logger; ...@@ -6,7 +6,6 @@ import org.apache.logging.log4j.Logger;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.List;
/** /**
* Setting bean. * Setting bean.
...@@ -47,10 +46,10 @@ class Setting { ...@@ -47,10 +46,10 @@ class Setting {
public boolean dummy = false; public boolean dummy = false;
/** Model id. Default: 1.*/ /** Model id. Default: 1.*/
public int id = 1; public int id = 1;
/** Items to connect to inputs */ // /** Items to connect to inputs */
public List<String> items; // public List<String> items;
/** Item to change with classification result */ // /** Item to change with classification result */
public String affectedItem; // public String affectedItem;
} }
public class OpenHabContainer { public class OpenHabContainer {
/** The URL from which to import and at which openHAB is running */ /** The URL from which to import and at which openHAB is running */
......
...@@ -31,8 +31,8 @@ activity: ...@@ -31,8 +31,8 @@ activity:
dummy: false dummy: false
# Model id. Default: 1. # Model id. Default: 1.
id: 1 id: 1
# Item to change with classification result # # Item to change with classification result
affectedItem: activity # affectedItem: activity
# Model for preference learning. If dummy is true, then the file parameter is ignored. # Model for preference learning. If dummy is true, then the file parameter is ignored.
preference: preference:
...@@ -43,12 +43,12 @@ preference: ...@@ -43,12 +43,12 @@ preference:
dummy: false dummy: false
# Model id. Default: 1. # Model id. Default: 1.
id: 1 id: 1
# Items to connect to inputs # # Items to connect to inputs
items: # items:
- activity # - activity
- w_brightness # - w_brightness
# Item to change with classification result # # Item to change with classification result
affectedItem: iris1_item # affectedItem: iris1_item
# Initialize the knowledge base by importing data from openHAB. # Initialize the knowledge base by importing data from openHAB.
openhab: openhab:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment