Added feature to send notes to Nightscout in Activity Doris.

This commit is contained in:
2025-10-17 16:56:04 +02:00
parent dde72d6076
commit d51147affe
5 changed files with 79 additions and 145 deletions

View File

@@ -5,6 +5,7 @@ import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
@@ -13,7 +14,6 @@ import androidx.appcompat.content.res.AppCompatResources;
import androidx.lifecycle.ProcessLifecycleOwner;
import com.google.gson.Gson;
import com.haussteuerung.helper.Blutdruck;
import com.haussteuerung.helper.Temperatur;
import java.time.LocalDateTime;
@@ -22,13 +22,11 @@ import java.time.format.DateTimeFormatter;
import java.util.Locale;
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;
Button buttonSend, buttonTablette, buttonSendEssen, zeitFiebertemp;
int hourFiebertemp = 0, minuteFiebertemp = 0;
TextView textFiebertemp;
LocalDateTime datetime = LocalDateTime.now();
DateTimeFormatter dateTimeFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = datetime.format(dateTimeFormat);
Gson gson = new Gson();
String msg;
@@ -46,34 +44,28 @@ public class activityDoris extends AppCompatActivity {
buttonSend = findViewById(R.id.buttonSend);
// Blutdruck ---------------------------------------
zeitBlutdruck = findViewById(R.id.zeitBlutdruck);
CheckBox checkBlutdruck = findViewById(R.id.checkBlutdruck);
textSYS = findViewById(R.id.textSYS);
textDIA = findViewById(R.id.textDIA);
TextView tv_SYS = findViewById(R.id.tvSYS);
TextView tv_DIA = findViewById(R.id.tvDIA);
hourBlutdruck = datetime.getHour();
minuteBlutdruck = datetime.getMinute();
zeitBlutdruck.setText(String.format(Locale.getDefault(), "%02d:%02d", datetime.getHour(), datetime.getMinute()));
zeitBlutdruck.setOnClickListener(v -> timePickerDialog(zeitBlutdruck));
// Tablette + Essen -------------------------------
buttonTablette = findViewById(R.id.buttonTablette);
buttonSendEssen = findViewById(R.id.buttonSendEssen);
RadioButton doris_fruehstueck = findViewById(R.id.doris_fruehstueck);
RadioButton doris_mittagessen = findViewById(R.id.doris_mittagessen);
RadioButton doris_abendessen = findViewById(R.id.doris_abendessen);
checkBlutdruck.setOnClickListener(view -> {
if (checkBlutdruck.isChecked()) {
zeitBlutdruck.setEnabled(true);
tv_SYS.setEnabled(true);
tv_DIA.setEnabled(true);
textSYS.setEnabled(true);
textDIA.setEnabled(true);
} else {
zeitBlutdruck.setEnabled(false);
tv_SYS.setEnabled(false);
tv_DIA.setEnabled(false);
textSYS.setEnabled(false);
textDIA.setEnabled(false);
}
buttonTablette.setOnClickListener(view -> {
MqttClient.publish("cmnd/Haussteuerung/Doris/Tabletten", "Tablette");
});
buttonSendEssen.setOnClickListener(view -> {
if (doris_fruehstueck.isChecked()) {
MqttClient.publish("cmnd/Haussteuerung/Doris/Tabletten", "Frühstück");
} else if (doris_mittagessen.isChecked()) {
MqttClient.publish("cmnd/Haussteuerung/Doris/Tabletten", "Mittagessen");
} else if (doris_abendessen.isChecked()) {
MqttClient.publish("cmnd/Haussteuerung/Doris/Tabletten", "Abendessen");
} else {
Toast.makeText(activityDoris.this, "Bitte eine Mahlzeit auswählen.", Toast.LENGTH_LONG).show();
}
});
// Fiebertemperatur --------------------------------
zeitFiebertemp = findViewById(R.id.zeitFiebertemp);
@@ -98,21 +90,7 @@ public class activityDoris extends AppCompatActivity {
});
// Send-Button -------------------------------------
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;
if (checkFiebertemp.isChecked() && (textFiebertemp.getText().length() == 0)) {
Toast.makeText(activityDoris.this, "Bitte einen Temperaturwert eingeben!", Toast.LENGTH_LONG).show();
@@ -126,7 +104,7 @@ public class activityDoris extends AppCompatActivity {
Log.d("Doris", msg);
setFiebertemp = true;
}
if (setBlutdruck || setFiebertemp) {
if (setFiebertemp) {
finish();
}
});