diff --git a/ajax/watering.php b/ajax/watering.php
index f4c21ba..65d00bf 100644
--- a/ajax/watering.php
+++ b/ajax/watering.php
@@ -81,12 +81,6 @@ $zonen = [
["key" => "frontGarden", "label" => "Vorn", "minuten" => 30],
];
-// Was die Automatik je Zone vorhat, fuellt solarMQTT.js aus dem RainStatus.
-$planZeilen = "";
-foreach ($zonen as $zone) {
- $planZeilen .= "
-$planZeilen
+ Startet die Ventilfolge von Hand. Die Regenautomatik läuft davon
+ unabhängig zum Sonnenaufgang; ob eine Zone dabei schon versorgt
+ wurde, steht unten bei „Heute“.
diff --git a/js/solar/solarMQTT.js b/js/solar/solarMQTT.js
index 573e250..05af272 100644
--- a/js/solar/solarMQTT.js
+++ b/js/solar/solarMQTT.js
@@ -38,7 +38,6 @@ const solarMQTT = {
client.subscribe("Gartenwasser/hinten/LastWatering");
client.subscribe("Gartenwasser/hinten/WateringToday");
client.subscribe("Gartenwasser/hinten/LastWateringDay");
- client.subscribe("Gartenwasser/AutoWatering/#");
});
client.on("error", function (error) {
//alert("MQTT Error: " + error);
@@ -69,7 +68,7 @@ const solarMQTT = {
if (topic === "Gartenwasser/vorn/Timers" || topic === "Gartenwasser/hinten/Timers") {
wateringTimersLastSeen[topic] = Date.now();
}
- if (topic.startsWith("Gartenwasser/") && (topic.endsWith("/status") || topic.endsWith("/Timers") || topic.endsWith("/LastWatering") || topic.endsWith("/RainStatus")
+ if (topic.startsWith("Gartenwasser/") && (topic.endsWith("/status") || topic.endsWith("/Timers") || topic.endsWith("/LastWatering")
|| topic.endsWith("/WateringToday") || topic.endsWith("/LastWateringDay"))) {
updateWateringStatus();
}
@@ -729,20 +728,20 @@ var chartSettings = {
}
const wateringTimersLastSeen = {};
- // Eine Tabelle fuer alles: Ventil, Automatik-Zone des Skripts, Beschriftung
- // und die Anzeige-Ids im Realtime-SVG. Vorher standen dieselben Zuordnungen
- // in drei getrennten Tabellen.
+ // Eine Tabelle fuer alles: Ventil, Beschriftung und die Anzeige-Ids im
+ // Realtime-SVG. Vorher standen dieselben Zuordnungen in drei getrennten
+ // Tabellen.
const wateringZones = {
troughs: {
- topic: "Gartenwasser/vorn", valve: 1, auto: "troege", label: "Tröge",
+ topic: "Gartenwasser/vorn", valve: 1, label: "Tröge",
statusId: "wateringTroughStatus", iconId: "wateringTroughIcon"
},
frontGarden: {
- topic: "Gartenwasser/vorn", valve: 6, auto: "garten_vorn", label: "Vorn",
+ topic: "Gartenwasser/vorn", valve: 6, label: "Vorn",
statusId: "wateringFrontStatus", iconId: "wateringFrontIcon"
},
raisedBeds: {
- topic: "Gartenwasser/hinten", valve: 6, auto: "hochbeete", label: "Beete",
+ topic: "Gartenwasser/hinten", valve: 6, label: "Beete",
statusId: "wateringBedsStatus", iconId: "wateringBedsIcon"
}
};
@@ -854,12 +853,14 @@ var chartSettings = {
// "heute" in der Karte.
function wateringDayTotal(topic, subTopic, feld, valve, mussHeuteSein) {
const data = wateringJson(topic + "/" + subTopic);
- if (!data) return { label: "--", day: "" };
+ if (!data) return { label: "--", day: "", sekunden: null };
const tag = data.wateringDay || "";
const sekunden = data[feld + valve];
- if (sekunden === undefined) return { label: "--", day: tag };
- if (mussHeuteSein && tag !== wateringDayStamp(new Date())) return { label: "--", day: tag };
- return { label: wateringTimeLabel(Number(sekunden)), day: tag };
+ if (sekunden === undefined) return { label: "--", day: tag, sekunden: null };
+ if (mussHeuteSein && tag !== wateringDayStamp(new Date())) {
+ return { label: "--", day: tag, sekunden: null };
+ }
+ return { label: wateringTimeLabel(Number(sekunden)), day: tag, sekunden: Number(sekunden) };
}
function wateringAutoActive(topic, mode) {
@@ -931,101 +932,35 @@ var chartSettings = {
return remaining !== null && wateringSeconds(remaining) < 0;
}
- // Liest den von auto_watering.py stündlich veröffentlichten Regen-Status
- // (retained, siehe Gartenwasser/AutoWatering/