Bugfix for Camera photo not being displayed in the app.
This commit is contained in:
@@ -4,10 +4,11 @@ import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
|
||||
import org.eclipse.paho.android.service.MqttAndroidClient;
|
||||
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
|
||||
import org.eclipse.paho.client.mqttv3.MqttCallback;
|
||||
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
|
||||
@@ -15,15 +16,12 @@ import org.eclipse.paho.client.mqttv3.MqttException;
|
||||
import org.eclipse.paho.client.mqttv3.MqttMessage;
|
||||
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.net.ssl.SSLSocketFactory;
|
||||
|
||||
public class MqttClient {
|
||||
|
||||
static org.eclipse.paho.client.mqttv3.MqttClient client = null;
|
||||
static boolean connSuccess = false;
|
||||
static String logContent = "";
|
||||
static String tv_Zustand1 = "", tv_Zustand2 = "", tv_Zustand3 = "", tv_Zustand4 = "", tv_Zustand5 = "", tv_Zustand6 = "";
|
||||
static String tv_Zustand7 = "", tv_Zustand8 = "", tv_Zustand9 = "", tv_Zustand10 = "", tv_Zustand11 = "", tv_Zustand12 = "";
|
||||
@@ -39,25 +37,9 @@ public class MqttClient {
|
||||
@Override
|
||||
public void connectionLost(Throwable cause) {
|
||||
Log.d("MQTT connloss", "client lost connection " + cause);
|
||||
Log.d("MQTT connloss", cause.getMessage());
|
||||
Log.d("MQTT connloss", Objects.requireNonNull(cause.getMessage()));
|
||||
Log.d("MQTT connless", String.valueOf(client.getDebug()));
|
||||
Log.d("MQTT connloss", String.valueOf(MqttClient.client.isConnected()));
|
||||
// MainActivity.tv_mqtt.setTextColor(Color.RED);
|
||||
// if (!MqttClient.client.isConnected()) {
|
||||
// try {
|
||||
// client.reconnect();
|
||||
// client.subscribe("stat/Haussteuerung/#");
|
||||
// client.subscribe("fhem/temp/#");
|
||||
// client.subscribe("fhem/Heizung/#");
|
||||
// } catch (MqttException e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
// Log.d("MQTT connloss2", String.valueOf(MqttClient.client.isConnected()));
|
||||
// disconnect();
|
||||
// Log.d("MQTT connloss", "client disconnected after connection lost");
|
||||
|
||||
// connect();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -66,12 +48,8 @@ public class MqttClient {
|
||||
if (topic.equals("stat/Haussteuerung/Alarm")) {
|
||||
JsonObject jsonObject = JsonParser.parseString(message.toString()).getAsJsonObject();
|
||||
if (jsonObject.get("Zustand").getAsString().equals("true")) {
|
||||
// MainActivity.buttonAlarm.setText(R.string.alarm_ein);
|
||||
// MainActivity.buttonAlarm.setBackgroundResource(R.drawable.alarm_true);
|
||||
MainActivity.alarmStatus = true;
|
||||
} else if (jsonObject.get("Zustand").getAsString().equals("false")) {
|
||||
// MainActivity.buttonAlarm.setText(R.string.alarm_aus);
|
||||
// MainActivity.buttonAlarm.setBackgroundResource(R.drawable.alarm_false);
|
||||
MainActivity.alarmStatus = false;
|
||||
}
|
||||
}
|
||||
@@ -79,10 +57,8 @@ public class MqttClient {
|
||||
if (topic.equals("stat/Haussteuerung/Waschmaschine/WM1")) {
|
||||
JsonObject jsonObject = JsonParser.parseString(message.toString()).getAsJsonObject();
|
||||
if (jsonObject.get("Zustand").getAsString().equals("ein")) {
|
||||
// MainActivity.tv_WM1.setText(R.string.wm1_laeuft);
|
||||
MainActivity.wm1Status = true;
|
||||
} else if (jsonObject.get("Zustand").getAsString().equals("aus")) {
|
||||
// MainActivity.tv_WM1.setText(R.string.wm1_aus);
|
||||
MainActivity.wm1Status = false;
|
||||
}
|
||||
}
|
||||
@@ -90,10 +66,8 @@ public class MqttClient {
|
||||
if (topic.equals("stat/Haussteuerung/Waschmaschine/WM2")) {
|
||||
JsonObject jsonObject = JsonParser.parseString(message.toString()).getAsJsonObject();
|
||||
if (jsonObject.get("Zustand").getAsString().equals("ein")) {
|
||||
// MainActivity.tv_WM2.setText(R.string.wm2_laeuft);
|
||||
MainActivity.wm2Status = true;
|
||||
} else if (jsonObject.get("Zustand").getAsString().equals("aus")) {
|
||||
// MainActivity.tv_WM2.setText(R.string.wm2_aus);
|
||||
MainActivity.wm2Status = false;
|
||||
}
|
||||
}
|
||||
@@ -133,14 +107,6 @@ public class MqttClient {
|
||||
activityLicht.checkedGlocke = jsonObject.get("Checkbox").getAsBoolean();
|
||||
}
|
||||
|
||||
// WEIHNACHTSBELEUCHTUNG
|
||||
if (topic.equals("tele/sonoff153/STATE")) {
|
||||
JsonObject jsonObject = JsonParser.parseString(message.toString()).getAsJsonObject();
|
||||
activityChristmas.power = jsonObject.get("POWER").getAsString();
|
||||
activityChristmas.hsbColorArray = new ArrayList<>(Arrays.asList(jsonObject.get("HSBColor").getAsString().split(",")));
|
||||
}
|
||||
// WEIHNACHTSBELEUCHTUNG
|
||||
|
||||
handleLWP(topic, message);
|
||||
|
||||
fensterZustaende(topic, message);
|
||||
@@ -152,8 +118,24 @@ public class MqttClient {
|
||||
}
|
||||
});
|
||||
} catch (MqttException e) {
|
||||
e.printStackTrace();
|
||||
Log.d("MQTTLOG", "Connect failed: " + e);
|
||||
}
|
||||
MqttConnectOptions mqttConnectOptions = getMqttConnectOptions();
|
||||
try {
|
||||
client.connect(mqttConnectOptions);
|
||||
subscribe("stat/Haussteuerung/#");
|
||||
subscribe("fhem/temp/#");
|
||||
subscribe("fhem/Heizung/#");
|
||||
subscribe("tele/sonoff153/#");
|
||||
subscribe("growatt/#");
|
||||
Log.d("MQTTLOG", "client connected");
|
||||
} catch (MqttException e) {
|
||||
Log.d("MQTTLOG", "connection failed " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static MqttConnectOptions getMqttConnectOptions() {
|
||||
MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();
|
||||
mqttConnectOptions.setUserName("steve");
|
||||
mqttConnectOptions.setPassword("Florian1".toCharArray());
|
||||
@@ -161,58 +143,33 @@ public class MqttClient {
|
||||
mqttConnectOptions.setCleanSession(false);
|
||||
mqttConnectOptions.setKeepAliveInterval(15);
|
||||
mqttConnectOptions.setConnectionTimeout(30);
|
||||
mqttConnectOptions.setSocketFactory(SSLSocketFactory.getDefault()); // using the default socket factory
|
||||
try {
|
||||
client.connect(mqttConnectOptions);
|
||||
// connSuccess = true;
|
||||
subscribe("stat/Haussteuerung/#");
|
||||
subscribe("fhem/temp/#");
|
||||
subscribe("fhem/Heizung/#");
|
||||
subscribe("tele/sonoff153/#");
|
||||
subscribe("growatt/#");
|
||||
Log.d("MQTTLOG", "client connected");
|
||||
// MainActivity.tv_mqtt.setTextColor(Color.parseColor("#64DD17"));
|
||||
} catch (MqttException e) {
|
||||
e.printStackTrace();
|
||||
// connSuccess = false;
|
||||
|
||||
Log.d("MQTTLOG", "connection failed " + e.getMessage());
|
||||
// MainActivity.tv_mqtt.setTextColor(Color.RED);
|
||||
}
|
||||
mqttConnectOptions.setSocketFactory(SSLSocketFactory.getDefault());
|
||||
return mqttConnectOptions;
|
||||
}
|
||||
|
||||
public static void subscribe(String topic) {
|
||||
try {
|
||||
// if (!client.isConnected()) {
|
||||
// client.reconnect();
|
||||
// }
|
||||
client.subscribe(topic);
|
||||
} catch (MqttException e) {
|
||||
e.printStackTrace();
|
||||
Log.d("MQTTLOG", "Subscribing failed: " + e);
|
||||
}
|
||||
}
|
||||
|
||||
public static void publish(String topic, String message) {
|
||||
try {
|
||||
// if (!client.isConnected()) {
|
||||
// client.reconnect();
|
||||
// }
|
||||
client.publish(topic, message.getBytes(UTF_8),2, false);
|
||||
client.publish(topic, message.getBytes(UTF_8), 2, false);
|
||||
Log.d("MQTTLOG", "Message" + message + "published.");
|
||||
} catch (MqttException e) {
|
||||
e.printStackTrace();
|
||||
Log.d("MQTTLOG", "Publish failed: " + e);
|
||||
}
|
||||
}
|
||||
|
||||
public static void publish(String topic, String message, int qos, boolean retained) {
|
||||
try {
|
||||
// if (!client.isConnected()) {
|
||||
// client.reconnect();
|
||||
// }
|
||||
client.publish(topic, message.getBytes(UTF_8), qos, retained);
|
||||
Log.d("MQTTLOG", "Message" + message + "published.");
|
||||
} catch (MqttException e) {
|
||||
e.printStackTrace();
|
||||
Log.d("MQTTLOG", "Publish failed: " + e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,9 +177,8 @@ public class MqttClient {
|
||||
try {
|
||||
client.disconnect();
|
||||
} catch (MqttException e) {
|
||||
e.printStackTrace();
|
||||
Log.d("MQTTLOG", "Disconnect failed: " + e);
|
||||
}
|
||||
// MainActivity.tv_mqtt.setTextColor(Color.RED);
|
||||
}
|
||||
|
||||
private static void handleLWP(String topic, MqttMessage message) {
|
||||
|
||||
Reference in New Issue
Block a user