This commit is contained in:
jens 2021-02-27 20:02:38 +01:00
parent cae17bff96
commit fbd2e4d19b
2 changed files with 19 additions and 33 deletions

View File

@ -17,26 +17,9 @@ import com.jens.rhasspy.visualtool.lib.JSONObject;
public class MQTT implements MqttCallbackExtended
{
/*
* Connect to server
*
* raspberrypi1:1883
*
* Subscribe to topic
*
* Topic: zigbee2mqtt/0x00158d0002d72e58
* Payload: {"contact":true,"linkquality":84}
*
* Configuration file:
* /opt/zigbee2mqtt/data/configuration.yaml
*/
final static String clientId = "RhasspyVisualConversationTool";
final static int maximumReconnectionAttempts = -1;
final static long timeout = 10000;
protected static boolean forceReconnection = false;
final static String clientId = "RhasspyVisualConversationTool-" + Settings.siteId + "-" + String.valueOf(Calendar.getInstance().getTimeInMillis());
final static int maximumReconnectionAttempts = -1;
final static boolean forceReconnection = false;
Timer timeoutTimer = null;
@ -210,20 +193,22 @@ public class MQTT implements MqttCallbackExtended
if(message != null && message.length() > 0)
{
JSONObject jo = new JSONObject(message);
if(jo.has(Settings.jsonObjectStringSiteId))
if(jo.has(Settings.jsonObjectStringSiteId) && jo.getString(Settings.jsonObjectStringSiteId).equalsIgnoreCase(Settings.siteId))
{
for(String ignoredSite : Settings.ignoredSatellites.split(";"))
{
if(ignoredSite.equalsIgnoreCase(jo.getString(Settings.jsonObjectStringSiteId)))
{
Miscellaneous.logEvent("Ignoring message as it's targeted to " + ignoredSite, 3);
return;
}
}
GUI.getInstance().handleNewMessage(object);
// for(String ignoredSite : Settings.ignoredSatellites.split(";"))
// {
// if(ignoredSite.equalsIgnoreCase(jo.getString(Settings.jsonObjectStringSiteId)))
// {
// Miscellaneous.logEvent("Ignoring message as it's targeted to " + ignoredSite, 3);
// return;
// }
// }
}
else
Miscellaneous.logEvent("Message not for me.", 1);
}
GUI.getInstance().handleNewMessage(object);
}
catch(Exception e)
{
@ -283,7 +268,7 @@ public class MQTT implements MqttCallbackExtended
// else
// timeoutTimer.cancel();
timeoutTimer.schedule(timerTask, timeout);
timeoutTimer.schedule(timerTask, Settings.sessionTimeout);
}
void unscheduleTimeout()

View File

@ -21,6 +21,7 @@ public class Settings
public final static String settingsTtsSoundFileVariable = "<soundFilePath>";
public final static long notificationWaitPeriod = 60*60*24;
public final static int programVersion = 1;
public final static long sessionTimeout = 120000;
public final static String jsonObjectStringSiteId = "siteId";
public final static String jsonObjectStringSessionId = "sessionId";
@ -102,7 +103,7 @@ public class Settings
public static String mqttClientUsername;
public static String mqttClientPassword;
public static String ignoredSatellites;
// public static String ignoredSatellites;
public static String siteId;
@ -146,7 +147,7 @@ public class Settings
mqttClientUseAuthentication = Boolean.parseBoolean(prop.getProperty("mqttClientUseAuthentication", String.valueOf(default_mqttClientUseAuthentication)));
mqttClientUsername = prop.getProperty("mqttClientUsername", default_mqttClientUsername);
mqttClientPassword = prop.getProperty("mqttClientPassword", default_mqttClientPassword);
ignoredSatellites = prop.getProperty("ignoredSatellites", default_ignoredSatellites);
// ignoredSatellites = prop.getProperty("ignoredSatellites", default_ignoredSatellites);
siteId = prop.getProperty("siteId", default_siteId);