Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 539be882b5 | |||
| f267dce372 | |||
| d51147affe | |||
| dde72d6076 | |||
| 232f76215f | |||
| d488b1dc48 | |||
| 955a21f09c |
2
.idea/compiler.xml
generated
2
.idea/compiler.xml
generated
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="CompilerConfiguration">
|
<component name="CompilerConfiguration">
|
||||||
<bytecodeTargetLevel target="17" />
|
<bytecodeTargetLevel target="21" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
2
.idea/gradle.xml
generated
2
.idea/gradle.xml
generated
@@ -4,6 +4,7 @@
|
|||||||
<component name="GradleSettings">
|
<component name="GradleSettings">
|
||||||
<option name="linkedExternalProjectsSettings">
|
<option name="linkedExternalProjectsSettings">
|
||||||
<GradleProjectSettings>
|
<GradleProjectSettings>
|
||||||
|
<option name="testRunner" value="CHOOSE_PER_TEST" />
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
||||||
<option name="modules">
|
<option name="modules">
|
||||||
@@ -12,7 +13,6 @@
|
|||||||
<option value="$PROJECT_DIR$/app" />
|
<option value="$PROJECT_DIR$/app" />
|
||||||
</set>
|
</set>
|
||||||
</option>
|
</option>
|
||||||
<option name="resolveExternalAnnotations" value="false" />
|
|
||||||
</GradleProjectSettings>
|
</GradleProjectSettings>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -1,6 +1,6 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectType">
|
<component name="ProjectType">
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
# Haussteuerung-Android
|
# Haussteuerung-Android
|
||||||
|
|
||||||
This is the Android App for Haussteuerung.
|
This is the Android App for Haussteuerung.
|
||||||
|
|
||||||
|
<img src="./assets/Haussteuerung.jpg" width="400" height="850">
|
||||||
@@ -12,7 +12,7 @@ android {
|
|||||||
minSdk 26
|
minSdk 26
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "25.1006.1"
|
versionName "25.1018.1"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -12,7 +12,7 @@
|
|||||||
"filters": [],
|
"filters": [],
|
||||||
"attributes": [],
|
"attributes": [],
|
||||||
"versionCode": 1,
|
"versionCode": 1,
|
||||||
"versionName": "25.1002.1",
|
"versionName": "25.1018.1",
|
||||||
"outputFile": "app-release.apk"
|
"outputFile": "app-release.apk"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -111,11 +111,7 @@ public class FragmentHeizkoerper extends Fragment {
|
|||||||
}
|
}
|
||||||
picker.setDisplayedValues(values);
|
picker.setDisplayedValues(values);
|
||||||
builder.setPositiveButton(android.R.string.ok, (dialog, id) -> {
|
builder.setPositiveButton(android.R.string.ok, (dialog, id) -> {
|
||||||
if (values[picker.getValue()].equals("on") || values[picker.getValue()].equals("off")) {
|
button.setText(values[picker.getValue()]);
|
||||||
button.setText(values[picker.getValue()]);
|
|
||||||
} else {
|
|
||||||
button.setText(values[picker.getValue()]);
|
|
||||||
}
|
|
||||||
|
|
||||||
Log.d("SollTempGrossraum", "Solltemp" + roomSollTemp + ", Button " + button.getText());
|
Log.d("SollTempGrossraum", "Solltemp" + roomSollTemp + ", Button " + button.getText());
|
||||||
if (!roomSollTemp.contentEquals(button.getText())) {
|
if (!roomSollTemp.contentEquals(button.getText())) {
|
||||||
@@ -144,7 +140,7 @@ public class FragmentHeizkoerper extends Fragment {
|
|||||||
btn_HK_Bad = view.findViewById(R.id.btn_HK_Bad);
|
btn_HK_Bad = view.findViewById(R.id.btn_HK_Bad);
|
||||||
btn_HK_Florian = view.findViewById(R.id.btn_HK_Florian);
|
btn_HK_Florian = view.findViewById(R.id.btn_HK_Florian);
|
||||||
btn_HK_Stefan = view.findViewById(R.id.btn_HK_Stefan);
|
btn_HK_Stefan = view.findViewById(R.id.btn_HK_Stefan);
|
||||||
btn_HK_Dachboden = view.findViewById(R.id.btn_HK_Dachboden);
|
// btn_HK_Dachboden = view.findViewById(R.id.btn_HK_Dachboden);
|
||||||
|
|
||||||
Log.d("SollTempGrossraum", sollTempHKGrossraum);
|
Log.d("SollTempGrossraum", sollTempHKGrossraum);
|
||||||
Log.d("SollTempDoris", sollTempHKDoris);
|
Log.d("SollTempDoris", sollTempHKDoris);
|
||||||
@@ -167,7 +163,7 @@ public class FragmentHeizkoerper extends Fragment {
|
|||||||
btn_HK_Bad.setText(sollTempHKBad);
|
btn_HK_Bad.setText(sollTempHKBad);
|
||||||
btn_HK_Florian.setText(sollTempHKFlorian);
|
btn_HK_Florian.setText(sollTempHKFlorian);
|
||||||
btn_HK_Stefan.setText(sollTempHKStefan);
|
btn_HK_Stefan.setText(sollTempHKStefan);
|
||||||
btn_HK_Dachboden.setText(sollTempHKDachboden);
|
// btn_HK_Dachboden.setText(sollTempHKDachboden);
|
||||||
|
|
||||||
|
|
||||||
btn_HK_Grossraum.setOnClickListener(v -> showNumberPickerDialog(btn_HK_Grossraum, sollTempHKGrossraum, "Grossraum", switch_HK_Grossraum));
|
btn_HK_Grossraum.setOnClickListener(v -> showNumberPickerDialog(btn_HK_Grossraum, sollTempHKGrossraum, "Grossraum", switch_HK_Grossraum));
|
||||||
@@ -188,7 +184,7 @@ public class FragmentHeizkoerper extends Fragment {
|
|||||||
|
|
||||||
btn_HK_Stefan.setOnClickListener(v -> showNumberPickerDialog(btn_HK_Stefan, sollTempHKStefan, "Stefan", switch_HK_Stefan));
|
btn_HK_Stefan.setOnClickListener(v -> showNumberPickerDialog(btn_HK_Stefan, sollTempHKStefan, "Stefan", switch_HK_Stefan));
|
||||||
|
|
||||||
btn_HK_Dachboden.setOnClickListener(v -> showNumberPickerDialog(btn_HK_Dachboden, sollTempHKDachboden, "Dachboden", switch_HK_Dachboden));
|
// btn_HK_Dachboden.setOnClickListener(v -> showNumberPickerDialog(btn_HK_Dachboden, sollTempHKDachboden, "Dachboden", switch_HK_Dachboden));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleTextViews() {
|
private void handleTextViews() {
|
||||||
@@ -214,7 +210,7 @@ public class FragmentHeizkoerper extends Fragment {
|
|||||||
switch_HK_Bad = view.findViewById(R.id.switch_HK_Bad);
|
switch_HK_Bad = view.findViewById(R.id.switch_HK_Bad);
|
||||||
switch_HK_Florian = view.findViewById(R.id.switch_HK_Florian);
|
switch_HK_Florian = view.findViewById(R.id.switch_HK_Florian);
|
||||||
switch_HK_Stefan = view.findViewById(R.id.switch_HK_Stefan);
|
switch_HK_Stefan = view.findViewById(R.id.switch_HK_Stefan);
|
||||||
switch_HK_Dachboden = view.findViewById(R.id.switch_HK_Dachboden);
|
// switch_HK_Dachboden = view.findViewById(R.id.switch_HK_Dachboden);
|
||||||
|
|
||||||
if (modeHKGrossraum.equals("manual")) {
|
if (modeHKGrossraum.equals("manual")) {
|
||||||
switch_HK_Grossraum.setChecked(false);
|
switch_HK_Grossraum.setChecked(false);
|
||||||
@@ -288,13 +284,13 @@ public class FragmentHeizkoerper extends Fragment {
|
|||||||
switch_HK_Stefan.setText(R.string.auto);
|
switch_HK_Stefan.setText(R.string.auto);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (modeHKDachboden.equals("manual")) {
|
// if (modeHKDachboden.equals("manual")) {
|
||||||
switch_HK_Dachboden.setChecked(false);
|
// switch_HK_Dachboden.setChecked(false);
|
||||||
switch_HK_Dachboden.setText(R.string.man);
|
// switch_HK_Dachboden.setText(R.string.man);
|
||||||
} else {
|
// } else {
|
||||||
switch_HK_Dachboden.setChecked(true);
|
// switch_HK_Dachboden.setChecked(true);
|
||||||
switch_HK_Dachboden.setText(R.string.auto);
|
// switch_HK_Dachboden.setText(R.string.auto);
|
||||||
}
|
// }
|
||||||
|
|
||||||
switch_HK_Grossraum.setOnClickListener(v -> {
|
switch_HK_Grossraum.setOnClickListener(v -> {
|
||||||
if (switch_HK_Grossraum.isChecked()) {
|
if (switch_HK_Grossraum.isChecked()) {
|
||||||
@@ -404,17 +400,17 @@ public class FragmentHeizkoerper extends Fragment {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
switch_HK_Dachboden.setOnClickListener(v -> {
|
// switch_HK_Dachboden.setOnClickListener(v -> {
|
||||||
if (switch_HK_Dachboden.isChecked()) {
|
// if (switch_HK_Dachboden.isChecked()) {
|
||||||
Log.d("Mode" + modeHKDachboden, "Mode auto");
|
// Log.d("Mode" + modeHKDachboden, "Mode auto");
|
||||||
switch_HK_Dachboden.setText(R.string.auto);
|
// switch_HK_Dachboden.setText(R.string.auto);
|
||||||
MqttClient.publish("fhem/Heizung/MAX_Dachboden/set/mode", "auto", 2, false);
|
// MqttClient.publish("fhem/Heizung/MAX_Dachboden/set/mode", "auto", 2, false);
|
||||||
} else if (!switch_HK_Dachboden.isChecked()) {
|
// } else if (!switch_HK_Dachboden.isChecked()) {
|
||||||
Log.d("Mode" + modeHKDachboden, "Mode manual");
|
// Log.d("Mode" + modeHKDachboden, "Mode manual");
|
||||||
switch_HK_Dachboden.setText(R.string.man);
|
// switch_HK_Dachboden.setText(R.string.man);
|
||||||
MqttClient.publish("fhem/Heizung/MAX_Dachboden/set/mode", "manual", 2, false);
|
// MqttClient.publish("fhem/Heizung/MAX_Dachboden/set/mode", "manual", 2, false);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setTextColor(TextView tv, String temp) {
|
private void setTextColor(TextView tv, String temp) {
|
||||||
|
|||||||
@@ -70,10 +70,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
|||||||
ID = "haussteuerung-android-" + Build.MODEL + "-" + androidId;
|
ID = "haussteuerung-android-" + Build.MODEL + "-" + androidId;
|
||||||
Log.d("ID", ID);
|
Log.d("ID", ID);
|
||||||
|
|
||||||
int permissionState = 0;
|
int permissionState;
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
permissionState = ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS);
|
||||||
permissionState = ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS);
|
|
||||||
}
|
|
||||||
// If the permission is not granted, request it.
|
// If the permission is not granted, request it.
|
||||||
if (permissionState == PackageManager.PERMISSION_DENIED) {
|
if (permissionState == PackageManager.PERMISSION_DENIED) {
|
||||||
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.POST_NOTIFICATIONS}, 1);
|
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.POST_NOTIFICATIONS}, 1);
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ public class MqttClient {
|
|||||||
try {
|
try {
|
||||||
client.connect(mqttConnectOptions);
|
client.connect(mqttConnectOptions);
|
||||||
subscribe("stat/Haussteuerung/#");
|
subscribe("stat/Haussteuerung/#");
|
||||||
subscribe("fhem/temp/#");
|
// subscribe("fhem/temp/#");
|
||||||
subscribe("fhem/Heizung/#");
|
subscribe("fhem/Heizung/#");
|
||||||
subscribe("tele/sonoff153/#");
|
subscribe("tele/sonoff153/#");
|
||||||
subscribe("growatt/#");
|
subscribe("growatt/#");
|
||||||
@@ -226,11 +226,11 @@ public class MqttClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (topic.equals("fhem/temp/Temp_Boiler_oben")) {
|
if (topic.equals("stat/Haussteuerung/Temperatur/Temp_Boiler_oben")) {
|
||||||
FragmentWW.tempBoilerOben = message.toString();
|
FragmentWW.tempBoilerOben = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (topic.equals("fhem/temp/Temp_Boiler_unten")) {
|
if (topic.equals("stat/Haussteuerung/Temperatur/Temp_Boiler_unten")) {
|
||||||
FragmentWW.tempBoilerUnten = message.toString();
|
FragmentWW.tempBoilerUnten = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -243,7 +243,7 @@ public class MqttClient {
|
|||||||
FragmentHeizkoerper.sollTempHKGrossraum = message.toString();
|
FragmentHeizkoerper.sollTempHKGrossraum = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (topic.equals("fhem/temp/Temp_Grossraum")) {
|
if (topic.equals("stat/Haussteuerung/Temperatur/Temp_Wohnzimmer")) {
|
||||||
FragmentHeizkoerper.istTempHKGrossraum = message.toString();
|
FragmentHeizkoerper.istTempHKGrossraum = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -256,7 +256,7 @@ public class MqttClient {
|
|||||||
FragmentHeizkoerper.sollTempHKDoris = message.toString();
|
FragmentHeizkoerper.sollTempHKDoris = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (topic.equals("fhem/temp/Temp_Doris")) {
|
if (topic.equals("stat/Haussteuerung/Temperatur/Temp_Doris")) {
|
||||||
FragmentHeizkoerper.istTempHKDoris = message.toString();
|
FragmentHeizkoerper.istTempHKDoris = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -269,7 +269,7 @@ public class MqttClient {
|
|||||||
FragmentHeizkoerper.sollTempHKDorisBad = message.toString();
|
FragmentHeizkoerper.sollTempHKDorisBad = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (topic.equals("fhem/temp/Temp_DorisBad")) {
|
if (topic.equals("stat/Haussteuerung/Temperatur/Temp_Doris_Bad")) {
|
||||||
FragmentHeizkoerper.istTempHKDorisBad = message.toString();
|
FragmentHeizkoerper.istTempHKDorisBad = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -282,7 +282,7 @@ public class MqttClient {
|
|||||||
FragmentHeizkoerper.sollTempHKArbeitszimmer = message.toString();
|
FragmentHeizkoerper.sollTempHKArbeitszimmer = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (topic.equals("fhem/temp/Temp_Arbeitszimmer")) {
|
if (topic.equals("stat/Haussteuerung/Temperatur/Temp_Arbeitszimmer")) {
|
||||||
FragmentHeizkoerper.istTempHKArbeitszimmer = message.toString();
|
FragmentHeizkoerper.istTempHKArbeitszimmer = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -321,21 +321,20 @@ public class MqttClient {
|
|||||||
FragmentHeizkoerper.sollTempHKBad = message.toString();
|
FragmentHeizkoerper.sollTempHKBad = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (topic.equals("fhem/temp/Temp_Bad")) {
|
if (topic.equals("stat/Haussteuerung/Temperatur/Temp_Bad")) {
|
||||||
FragmentHeizkoerper.istTempHKBad = message.toString();
|
FragmentHeizkoerper.istTempHKBad = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Florian
|
// Florian
|
||||||
if (topic.equals("fhem/Heizung/MAX_Florian/Mode")) {
|
if (topic.equals("fhem/Heizung/MAX_Florian/Mode")) {
|
||||||
FragmentHeizkoerper.modeHKFlorian = message.toString();
|
FragmentHeizkoerper.modeHKFlorian = message.toString();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (topic.equals("fhem/Heizung/MAX_Florian/Solltemperatur")) {
|
if (topic.equals("fhem/Heizung/MAX_Florian/Solltemperatur")) {
|
||||||
FragmentHeizkoerper.sollTempHKFlorian = message.toString();
|
FragmentHeizkoerper.sollTempHKFlorian = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (topic.equals("fhem/temp/Temp_Flo")) {
|
if (topic.equals("stat/Haussteuerung/Temperatur/Temp_Florian")) {
|
||||||
FragmentHeizkoerper.istTempHKFlorian = message.toString();
|
FragmentHeizkoerper.istTempHKFlorian = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -349,7 +348,7 @@ public class MqttClient {
|
|||||||
Log.d("SollTempStefan", message.toString());
|
Log.d("SollTempStefan", message.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (topic.equals("fhem/temp/Temp_Stefan")) {
|
if (topic.equals("stat/Haussteuerung/Temperatur/Temp_Stefan")) {
|
||||||
FragmentHeizkoerper.istTempHKStefan = message.toString();
|
FragmentHeizkoerper.istTempHKStefan = message.toString();
|
||||||
Log.d("IstTempStefan", message.toString());
|
Log.d("IstTempStefan", message.toString());
|
||||||
}
|
}
|
||||||
@@ -363,7 +362,7 @@ public class MqttClient {
|
|||||||
FragmentHeizkoerper.sollTempHKDachboden = message.toString();
|
FragmentHeizkoerper.sollTempHKDachboden = message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (topic.equals("fhem/temp/Temp_Dachboden")) {
|
if (topic.equals("stat/Haussteuerung/Temperatur/Temp_Dachboden")) {
|
||||||
FragmentHeizkoerper.istTempHKDachboden = message.toString();
|
FragmentHeizkoerper.istTempHKDachboden = message.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.os.Bundle;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
|
import android.widget.RadioButton;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
@@ -13,7 +14,6 @@ import androidx.appcompat.content.res.AppCompatResources;
|
|||||||
import androidx.lifecycle.ProcessLifecycleOwner;
|
import androidx.lifecycle.ProcessLifecycleOwner;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.haussteuerung.helper.Blutdruck;
|
|
||||||
import com.haussteuerung.helper.Temperatur;
|
import com.haussteuerung.helper.Temperatur;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -22,15 +22,8 @@ import java.time.format.DateTimeFormatter;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
public class activityDoris extends AppCompatActivity {
|
public class activityDoris extends AppCompatActivity {
|
||||||
Button buttonSend, zeitBlutdruck, zeitFiebertemp;
|
|
||||||
int hourBlutdruck = 0, minuteBlutdruck = 0, hourFiebertemp = 0, minuteFiebertemp = 0;
|
|
||||||
static String werteBlutdruck = "";
|
|
||||||
TextView textSYS, textDIA, textFiebertemp;
|
|
||||||
LocalDateTime datetime = LocalDateTime.now();
|
|
||||||
DateTimeFormatter dateTimeFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
||||||
String formattedDate = datetime.format(dateTimeFormat);
|
|
||||||
Gson gson = new Gson();
|
|
||||||
String msg;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
@@ -44,44 +37,49 @@ public class activityDoris extends AppCompatActivity {
|
|||||||
setContentView(R.layout.activity_doris);
|
setContentView(R.layout.activity_doris);
|
||||||
setTitle("Haussteuerung - Doris");
|
setTitle("Haussteuerung - Doris");
|
||||||
|
|
||||||
buttonSend = findViewById(R.id.buttonSend);
|
LocalDateTime datetime = LocalDateTime.now();
|
||||||
|
DateTimeFormatter dateTimeFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
|
|
||||||
// Blutdruck ---------------------------------------
|
// Tablette + Essen -------------------------------
|
||||||
zeitBlutdruck = findViewById(R.id.zeitBlutdruck);
|
Button buttonTablette = findViewById(R.id.buttonTablette);
|
||||||
CheckBox checkBlutdruck = findViewById(R.id.checkBlutdruck);
|
Button buttonSendEssen = findViewById(R.id.buttonSendEssen);
|
||||||
textSYS = findViewById(R.id.textSYS);
|
RadioButton doris_fruehstueck = findViewById(R.id.doris_fruehstueck);
|
||||||
textDIA = findViewById(R.id.textDIA);
|
RadioButton doris_mittagessen = findViewById(R.id.doris_mittagessen);
|
||||||
TextView tv_SYS = findViewById(R.id.tvSYS);
|
RadioButton doris_abendessen = findViewById(R.id.doris_abendessen);
|
||||||
TextView tv_DIA = findViewById(R.id.tvDIA);
|
RadioButton doris_snack = findViewById(R.id.doris_snack);
|
||||||
hourBlutdruck = datetime.getHour();
|
|
||||||
minuteBlutdruck = datetime.getMinute();
|
|
||||||
zeitBlutdruck.setText(String.format(Locale.getDefault(), "%02d:%02d", datetime.getHour(), datetime.getMinute()));
|
|
||||||
zeitBlutdruck.setOnClickListener(v -> timePickerDialog(zeitBlutdruck));
|
|
||||||
|
|
||||||
checkBlutdruck.setOnClickListener(view -> {
|
buttonTablette.setOnClickListener(view -> {
|
||||||
if (checkBlutdruck.isChecked()) {
|
MqttClient.publish("cmnd/Haussteuerung/Doris/Tabletten", "Tablette");
|
||||||
zeitBlutdruck.setEnabled(true);
|
Toast.makeText(activityDoris.this, "Tablette genommen. Gespeichert!", Toast.LENGTH_LONG).show();
|
||||||
tv_SYS.setEnabled(true);
|
});
|
||||||
tv_DIA.setEnabled(true);
|
|
||||||
textSYS.setEnabled(true);
|
buttonSendEssen.setOnClickListener(view -> {
|
||||||
textDIA.setEnabled(true);
|
if (doris_fruehstueck.isChecked()) {
|
||||||
|
MqttClient.publish("cmnd/Haussteuerung/Doris/Tabletten", "Frühstück");
|
||||||
|
Toast.makeText(activityDoris.this, "Frühstück. Gespeichert!", Toast.LENGTH_LONG).show();
|
||||||
|
} else if (doris_mittagessen.isChecked()) {
|
||||||
|
MqttClient.publish("cmnd/Haussteuerung/Doris/Tabletten", "Mittagessen");
|
||||||
|
Toast.makeText(activityDoris.this, "Mittagessen. Gespeichert!", Toast.LENGTH_LONG).show();
|
||||||
|
} else if (doris_abendessen.isChecked()) {
|
||||||
|
MqttClient.publish("cmnd/Haussteuerung/Doris/Tabletten", "Abendessen");
|
||||||
|
Toast.makeText(activityDoris.this, "Abendessen. Gespeichert!", Toast.LENGTH_LONG).show();
|
||||||
|
} else if (doris_snack.isChecked()) {
|
||||||
|
MqttClient.publish("cmnd/Haussteuerung/Doris/Tabletten", "Snack");
|
||||||
|
Toast.makeText(activityDoris.this, "Snack. Gespeichert!", Toast.LENGTH_LONG).show();
|
||||||
} else {
|
} else {
|
||||||
zeitBlutdruck.setEnabled(false);
|
Toast.makeText(activityDoris.this, "Bitte eine Mahlzeit auswählen.", Toast.LENGTH_LONG).show();
|
||||||
tv_SYS.setEnabled(false);
|
|
||||||
tv_DIA.setEnabled(false);
|
|
||||||
textSYS.setEnabled(false);
|
|
||||||
textDIA.setEnabled(false);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// Fiebertemperatur --------------------------------
|
// Fiebertemperatur --------------------------------
|
||||||
zeitFiebertemp = findViewById(R.id.zeitFiebertemp);
|
Button zeitFiebertemp = findViewById(R.id.zeitFiebertemp);
|
||||||
CheckBox checkFiebertemp = findViewById(R.id.checkFiebertemp);
|
CheckBox checkFiebertemp = findViewById(R.id.checkFiebertemp);
|
||||||
TextView tvFiebertemp = findViewById(R.id.tvFiebertemp);
|
TextView tvFiebertemp = findViewById(R.id.tvFiebertemp);
|
||||||
textFiebertemp = findViewById(R.id.textFiebertemp);
|
TextView textFiebertemp = findViewById(R.id.textFiebertemp);
|
||||||
hourFiebertemp = datetime.getHour();
|
|
||||||
minuteFiebertemp = datetime.getMinute();
|
int hourFiebertemp = datetime.getHour();
|
||||||
|
int minuteFiebertemp = datetime.getMinute();
|
||||||
|
|
||||||
zeitFiebertemp.setText(String.format(Locale.getDefault(), "%02d:%02d", datetime.getHour(), datetime.getMinute()));
|
zeitFiebertemp.setText(String.format(Locale.getDefault(), "%02d:%02d", datetime.getHour(), datetime.getMinute()));
|
||||||
zeitFiebertemp.setOnClickListener(v -> timePickerDialog(zeitFiebertemp));
|
zeitFiebertemp.setOnClickListener(v -> timePickerDialog(zeitFiebertemp));
|
||||||
|
|
||||||
@@ -98,21 +96,8 @@ public class activityDoris extends AppCompatActivity {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Send-Button -------------------------------------
|
// Send-Button -------------------------------------
|
||||||
|
Button buttonSend = findViewById(R.id.buttonSend);
|
||||||
buttonSend.setOnClickListener(view -> {
|
buttonSend.setOnClickListener(view -> {
|
||||||
boolean setBlutdruck = false;
|
|
||||||
if (checkBlutdruck.isChecked() && (textSYS.getText().length() == 0 || textDIA.getText().length() == 0)) {
|
|
||||||
Toast.makeText(activityDoris.this, "Bitte alle Blutdruck-Werte ausfüllen!", Toast.LENGTH_LONG).show();
|
|
||||||
} else if (checkBlutdruck.isChecked() && (textSYS.getText().length() > 0 || textDIA.getText().length() > 0)) {
|
|
||||||
String hour = Integer.toString(hourBlutdruck);
|
|
||||||
String minute = Integer.toString(minuteBlutdruck);
|
|
||||||
String sys = textSYS.getText().toString();
|
|
||||||
String dia = textDIA.getText().toString();
|
|
||||||
msg = gson.toJson(new Blutdruck(MainActivity.ID, formattedDate + " " + hour + ":" + minute + ":00", sys, dia));
|
|
||||||
MqttClient.publish("cmnd/Haussteuerung/Doris/Blutdruck", msg);
|
|
||||||
setBlutdruck = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean setFiebertemp = false;
|
boolean setFiebertemp = false;
|
||||||
if (checkFiebertemp.isChecked() && (textFiebertemp.getText().length() == 0)) {
|
if (checkFiebertemp.isChecked() && (textFiebertemp.getText().length() == 0)) {
|
||||||
Toast.makeText(activityDoris.this, "Bitte einen Temperaturwert eingeben!", Toast.LENGTH_LONG).show();
|
Toast.makeText(activityDoris.this, "Bitte einen Temperaturwert eingeben!", Toast.LENGTH_LONG).show();
|
||||||
@@ -121,12 +106,15 @@ public class activityDoris extends AppCompatActivity {
|
|||||||
String hour = Integer.toString(hourFiebertemp);
|
String hour = Integer.toString(hourFiebertemp);
|
||||||
String minute = Integer.toString(minuteFiebertemp);
|
String minute = Integer.toString(minuteFiebertemp);
|
||||||
String fiebertemp = textFiebertemp.getText().toString();
|
String fiebertemp = textFiebertemp.getText().toString();
|
||||||
msg = gson.toJson(new Temperatur(MainActivity.ID, formattedDate + " " + hour + ":" + minute + ":00", fiebertemp));
|
|
||||||
|
Gson gson = new Gson();
|
||||||
|
String msg = gson.toJson(new Temperatur(MainActivity.ID, formattedDate + " " + hour + ":" + minute + ":00", fiebertemp));
|
||||||
|
|
||||||
MqttClient.publish("cmnd/Haussteuerung/Doris/Temperatur", msg);
|
MqttClient.publish("cmnd/Haussteuerung/Doris/Temperatur", msg);
|
||||||
Log.d("Doris", msg);
|
|
||||||
setFiebertemp = true;
|
setFiebertemp = true;
|
||||||
}
|
}
|
||||||
if (setBlutdruck || setFiebertemp) {
|
if (setFiebertemp) {
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public class activityGlocke extends AppCompatActivity {
|
|||||||
Intent i = getIntent();
|
Intent i = getIntent();
|
||||||
Bitmap bitmap;
|
Bitmap bitmap;
|
||||||
if ((i.getExtras() != null) && (i.hasExtra("TimeFB"))) {
|
if ((i.getExtras() != null) && (i.hasExtra("TimeFB"))) {
|
||||||
bitmap = loadBitmapFromMediaStore(getApplicationContext(), i.getStringExtra("Time") + ".jpg");
|
bitmap = loadBitmapFromMediaStore(getApplicationContext(), i.getStringExtra("TimeFB") + ".jpg");
|
||||||
} else {
|
} else {
|
||||||
bitmap = loadBitmapFromMediaStore(getApplicationContext(), "cam.jpg");
|
bitmap = loadBitmapFromMediaStore(getApplicationContext(), "cam.jpg");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
package com.haussteuerung.helper;
|
|
||||||
|
|
||||||
import com.google.gson.annotations.SerializedName;
|
|
||||||
|
|
||||||
public class Blutdruck {
|
|
||||||
@SerializedName("DeviceID")
|
|
||||||
private final String deviceId;
|
|
||||||
@SerializedName("Datum")
|
|
||||||
private final String datum;
|
|
||||||
@SerializedName("SYS")
|
|
||||||
private final String sys;
|
|
||||||
@SerializedName("DIA")
|
|
||||||
private final String dia;
|
|
||||||
|
|
||||||
public Blutdruck(String deviceId, String datum, String sys, String dia) {
|
|
||||||
this.deviceId = deviceId;
|
|
||||||
this.datum = datum;
|
|
||||||
this.sys = sys;
|
|
||||||
this.dia = dia;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -23,105 +23,87 @@
|
|||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<CheckBox
|
<RadioGroup
|
||||||
android:id="@+id/checkBlutdruck"
|
android:id="@+id/radiogroupEssen"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="90dp"
|
android:layout_height="195dp"
|
||||||
android:layout_marginStart="10dp"
|
android:layout_marginStart="10dp"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="7dp"
|
||||||
android:text="@string/blutdruck"
|
android:text="@string/blutdruck"
|
||||||
android:textColor="@color/black"
|
android:textColor="@color/black"
|
||||||
android:textSize="23sp"
|
android:textSize="23sp"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/zeitBlutdruck"
|
app:layout_constraintEnd_toStartOf="@+id/buttonTablette"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
<RadioButton
|
||||||
|
android:id="@+id/doris_fruehstueck"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:text="@string/fruehstueck"
|
||||||
|
android:textSize="20sp" />
|
||||||
|
|
||||||
|
<RadioButton
|
||||||
|
android:id="@+id/doris_mittagessen"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:layout_marginTop="0dp"
|
||||||
|
android:text="@string/mittagessen"
|
||||||
|
android:textSize="20sp" />
|
||||||
|
|
||||||
|
<RadioButton
|
||||||
|
android:id="@+id/doris_abendessen"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:layout_marginTop="0dp"
|
||||||
|
android:text="@string/abendessen"
|
||||||
|
android:textSize="20sp" />
|
||||||
|
|
||||||
|
<RadioButton
|
||||||
|
android:id="@+id/doris_snack"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:layout_marginTop="0dp"
|
||||||
|
android:text="@string/snack"
|
||||||
|
android:textSize="20sp" />
|
||||||
|
</RadioGroup>
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatButton
|
<androidx.appcompat.widget.AppCompatButton
|
||||||
android:id="@+id/zeitBlutdruck"
|
android:id="@+id/buttonTablette"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="90dp"
|
android:layout_height="80dp"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_marginEnd="20dp"
|
android:layout_marginEnd="20dp"
|
||||||
android:background="@drawable/button_ww"
|
android:background="@drawable/button_text_color"
|
||||||
android:enabled="false"
|
android:enabled="true"
|
||||||
|
android:text="Tablette"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="30sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/checkBlutdruck"
|
app:layout_constraintStart_toEndOf="@+id/radiogroupEssen"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:ignore="DuplicateSpeakableTextCheck,SpeakableTextPresentCheck" />
|
tools:ignore="DuplicateSpeakableTextCheck,SpeakableTextPresentCheck" />
|
||||||
|
|
||||||
<TextView
|
<androidx.appcompat.widget.AppCompatButton
|
||||||
android:id="@+id/tvSYS"
|
android:id="@+id/buttonSendEssen"
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="60dp"
|
|
||||||
android:layout_marginTop="35dp"
|
|
||||||
android:enabled="false"
|
|
||||||
android:gravity="center"
|
|
||||||
android:text="@string/sys"
|
|
||||||
android:textColor="@color/black"
|
|
||||||
android:textSize="28sp"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/textSYS"
|
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/checkBlutdruck" />
|
|
||||||
|
|
||||||
<EditText
|
|
||||||
android:id="@+id/textSYS"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="80dp"
|
android:layout_height="80dp"
|
||||||
android:layout_marginTop="25dp"
|
|
||||||
android:autofillHints="120"
|
|
||||||
android:backgroundTint="@color/dark_grey"
|
|
||||||
android:ems="10"
|
|
||||||
android:enabled="false"
|
|
||||||
android:hint="@string/_120"
|
|
||||||
android:inputType="phone"
|
|
||||||
android:textColor="@color/black"
|
|
||||||
android:textColorHint="@color/dark_grey"
|
|
||||||
android:textSize="30sp"
|
|
||||||
android:visibility="visible"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/tvDIA"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/tvSYS"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/checkBlutdruck"
|
|
||||||
tools:ignore="TextContrastCheck,DuplicateSpeakableTextCheck" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvDIA"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="60dp"
|
|
||||||
android:layout_marginTop="35dp"
|
|
||||||
android:enabled="false"
|
|
||||||
android:gravity="center"
|
|
||||||
android:text="@string/dia"
|
|
||||||
android:textColor="@color/black"
|
|
||||||
android:textSize="28sp"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/textDIA"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/textSYS"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/checkBlutdruck" />
|
|
||||||
|
|
||||||
<EditText
|
|
||||||
android:id="@+id/textDIA"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="80dp"
|
|
||||||
android:layout_marginTop="25dp"
|
|
||||||
android:layout_marginEnd="20dp"
|
android:layout_marginEnd="20dp"
|
||||||
android:autofillHints="80"
|
android:background="@drawable/button_text_color"
|
||||||
android:backgroundTint="@color/dark_grey"
|
android:enabled="true"
|
||||||
android:ems="10"
|
android:textColor="@color/white"
|
||||||
android:enabled="false"
|
android:text="@string/absenden"
|
||||||
android:hint="@string/_80"
|
android:textSize="20sp"
|
||||||
android:inputType="phone"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
android:textColor="@color/black"
|
|
||||||
android:textColorHint="@color/dark_grey"
|
|
||||||
android:textSize="30sp"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/tvDIA"
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/zeitBlutdruck"
|
app:layout_constraintStart_toEndOf="@+id/radiogroupEssen"
|
||||||
tools:ignore="TextContrastCheck" />
|
app:layout_constraintTop_toBottomOf="@+id/buttonTablette"
|
||||||
|
tools:ignore="DuplicateSpeakableTextCheck,SpeakableTextPresentCheck" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
</androidx.cardview.widget.CardView>
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
|
|||||||
@@ -871,42 +871,44 @@
|
|||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/tv_HK_Dachboden" />
|
app:layout_constraintTop_toBottomOf="@id/tv_HK_Dachboden" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.SwitchCompat
|
<!-- <androidx.appcompat.widget.SwitchCompat-->
|
||||||
android:id="@+id/switch_HK_Dachboden"
|
<!-- android:id="@+id/switch_HK_Dachboden"-->
|
||||||
android:layout_width="0dp"
|
<!-- android:layout_width="0dp"-->
|
||||||
android:layout_height="50dp"
|
<!-- android:layout_height="50dp"-->
|
||||||
android:layout_marginTop="35dp"
|
<!-- android:layout_marginTop="35dp"-->
|
||||||
android:layout_marginEnd="10dp"
|
<!-- android:layout_marginEnd="10dp"-->
|
||||||
android:gravity="center|end"
|
<!-- android:gravity="center|end"-->
|
||||||
android:paddingTop="5dp"
|
<!-- android:paddingTop="5dp"-->
|
||||||
android:paddingStart="0dp"
|
<!-- android:paddingStart="0dp"-->
|
||||||
android:paddingEnd="12dp"
|
<!-- android:paddingEnd="12dp"-->
|
||||||
android:text="@string/man"
|
<!-- android:enabled="false"-->
|
||||||
android:theme="@style/Switch.TrackTint"
|
<!-- android:text="@string/man"-->
|
||||||
android:textColor="@color/black"
|
<!-- android:theme="@style/Switch.TrackTint"-->
|
||||||
android:textSize="16sp"
|
<!-- android:textColor="@color/black"-->
|
||||||
app:layout_constraintEnd_toStartOf="@+id/btn_HK_Dachboden"
|
<!-- android:textSize="16sp"-->
|
||||||
app:layout_constraintStart_toEndOf="@id/tv_temp_Dachboden"
|
<!-- app:layout_constraintEnd_toStartOf="@+id/btn_HK_Dachboden"-->
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
<!-- app:layout_constraintStart_toEndOf="@id/tv_temp_Dachboden"-->
|
||||||
app:showText="false" />
|
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||||
|
<!-- app:showText="false" />-->
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatButton
|
<!-- <androidx.appcompat.widget.AppCompatButton-->
|
||||||
android:id="@+id/btn_HK_Dachboden"
|
<!-- android:id="@+id/btn_HK_Dachboden"-->
|
||||||
android:layout_width="0dp"
|
<!-- android:layout_width="0dp"-->
|
||||||
android:layout_height="78dp"
|
<!-- android:layout_height="78dp"-->
|
||||||
android:layout_marginStart="0dp"
|
<!-- android:layout_marginStart="0dp"-->
|
||||||
android:layout_marginTop="4dp"
|
<!-- android:layout_marginTop="4dp"-->
|
||||||
android:layout_marginEnd="5dp"
|
<!-- android:layout_marginEnd="5dp"-->
|
||||||
android:background="@drawable/button_text_color"
|
<!-- android:background="@drawable/button_text_color"-->
|
||||||
android:tag="Lamp1"
|
<!-- android:tag="Lamp1"-->
|
||||||
android:text="@string/temp_tv"
|
<!-- android:text="@string/temp_tv"-->
|
||||||
android:textAllCaps="false"
|
<!-- android:enabled="false"-->
|
||||||
android:textColor="#FFFFFF"
|
<!-- android:textAllCaps="false"-->
|
||||||
android:textSize="24sp"
|
<!-- android:textColor="#FFFFFF"-->
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
<!-- android:textSize="24sp"-->
|
||||||
app:layout_constraintStart_toEndOf="@+id/switch_HK_Dachboden"
|
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
<!-- app:layout_constraintStart_toEndOf="@+id/switch_HK_Dachboden"-->
|
||||||
tools:ignore="TextContrastCheck" />
|
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||||
|
<!-- tools:ignore="TextContrastCheck" />-->
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,7 @@
|
|||||||
<string name="boiler_nunten">Boiler\nUnten</string>
|
<string name="boiler_nunten">Boiler\nUnten</string>
|
||||||
<string name="_38">38°</string>
|
<string name="_38">38°</string>
|
||||||
<string name="_44">44°</string>
|
<string name="_44">44°</string>
|
||||||
<string name="version">Version 25.1006.1</string>
|
<string name="version">Version 25.1011.1</string>
|
||||||
<string name="frueh">Früh</string>
|
<string name="frueh">Früh</string>
|
||||||
<string name="plus2h">+2h</string>
|
<string name="plus2h">+2h</string>
|
||||||
<string name="nacht">Nacht</string>
|
<string name="nacht">Nacht</string>
|
||||||
@@ -148,4 +148,8 @@
|
|||||||
<string name="growatt_ein">Growatt ein.</string>
|
<string name="growatt_ein">Growatt ein.</string>
|
||||||
<string name="growatt_aus">Growatt aus.</string>
|
<string name="growatt_aus">Growatt aus.</string>
|
||||||
<string name="pc_flo">PC Flo</string>
|
<string name="pc_flo">PC Flo</string>
|
||||||
|
<string name="fruehstueck">Frühstück</string>
|
||||||
|
<string name="mittagessen">Mittagessen</string>
|
||||||
|
<string name="abendessen">Abendessen</string>
|
||||||
|
<string name="snack">Snack</string>
|
||||||
</resources>
|
</resources>
|
||||||
BIN
assets/Haussteuerung.jpg
Normal file
BIN
assets/Haussteuerung.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 MiB |
@@ -1,5 +1,5 @@
|
|||||||
[versions]
|
[versions]
|
||||||
agp = "8.3.2"
|
agp = "8.13.0"
|
||||||
junit = "4.13.2"
|
junit = "4.13.2"
|
||||||
junitVersion = "1.3.0"
|
junitVersion = "1.3.0"
|
||||||
espressoCore = "3.7.0"
|
espressoCore = "3.7.0"
|
||||||
|
|||||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
|||||||
#Fri Apr 19 12:54:48 CEST 2024
|
#Fri Apr 19 12:54:48 CEST 2024
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|||||||
Reference in New Issue
Block a user