Weather Station / ECOWITT / DNT
0

Configure Feed

Select the types of activity you want to include in your feed.

hourly rain

+29 -5
+14 -2
src/components/Gauges.tsx
··· 234 234 function valueAndUnit(v: any): { value: string | number | null; unit?: string } { 235 235 if (v == null) return { value: null }; 236 236 if (typeof v === "object" && ("value" in v)) { 237 - return { value: (v as any).value, unit: (v as any).unit }; 237 + // Stelle sicher, dass "0" und 0 als gültige Werte behandelt werden 238 + const value = (v as any).value; 239 + return { value: value, unit: (v as any).unit }; 238 240 } 239 241 return { value: v }; 240 242 } ··· 247 249 * @private 248 250 */ 249 251 function fmtVU(vu: { value: string | number | null; unit?: string }, fallbackUnit?: string) { 252 + // Prüfe explizit auf null und leere Strings, aber nicht auf 0 250 253 if (vu.value == null || vu.value === "") return "—"; 254 + 255 + // Stelle sicher, dass 0 und "0" korrekt angezeigt werden 251 256 const unit = vu.unit ?? fallbackUnit ?? ""; 257 + 258 + // Wenn der Wert 0 oder "0" oder "0.0" ist, zeige "0" mit der Einheit an 259 + const numValue = Number(vu.value); 260 + if (numValue === 0) { 261 + return `0${unit ? ` ${unit}` : ""}`; 262 + } 263 + 252 264 return `${vu.value}${unit ? ` ${unit}` : ""}`; 253 265 } 254 266 ··· 783 795 784 796 // Rain & solar 785 797 const rainRate = valueAndUnit(tryRead(payload, "rainfall.rain_rate") ?? tryRead(payload, "rain.rate")); 786 - const rainHourly = valueAndUnit(tryRead(payload, "rainfall.hourly")); 798 + const rainHourly = valueAndUnit(tryRead(payload, "rainfall.1_hour") ?? tryRead(payload, "rainfall.hourly")); 787 799 const rainDaily = valueAndUnit(tryRead(payload, "rainfall.daily")); 788 800 const rainWeekly = valueAndUnit(tryRead(payload, "rainfall.weekly")); 789 801 const rainMonthly = valueAndUnit(tryRead(payload, "rainfall.monthly"));
+14 -2
src/components/Realtime.tsx
··· 212 212 function valueAndUnit(v: any): { value: string | number | null; unit?: string } { 213 213 if (v == null) return { value: null }; 214 214 if (typeof v === "object" && ("value" in v)) { 215 - return { value: (v as any).value, unit: (v as any).unit }; 215 + // Stelle sicher, dass "0" und 0 als gültige Werte behandelt werden 216 + const value = (v as any).value; 217 + return { value: value, unit: (v as any).unit }; 216 218 } 217 219 return { value: v }; 218 220 } 219 221 220 222 function fmtVU(vu: { value: string | number | null; unit?: string }, fallbackUnit?: string) { 223 + // Prüfe explizit auf null und leere Strings, aber nicht auf 0 221 224 if (vu.value == null || vu.value === "") return "—"; 225 + 226 + // Stelle sicher, dass 0 und "0" korrekt angezeigt werden 222 227 const unit = vu.unit ?? fallbackUnit ?? ""; 228 + 229 + // Wenn der Wert 0 oder "0" oder "0.0" ist, zeige "0" mit der Einheit an 230 + const numValue = Number(vu.value); 231 + if (numValue === 0) { 232 + return `0${unit ? ` ${unit}` : ""}`; 233 + } 234 + 223 235 return `${vu.value}${unit ? ` ${unit}` : ""}`; 224 236 } 225 237 ··· 351 363 // Rainfall 352 364 const rainRate = valueAndUnit(tryRead(payload, "rainfall.rain_rate") ?? tryRead(payload, "rain.rate")); 353 365 const rainDaily = valueAndUnit(tryRead(payload, "rainfall.daily")); 354 - const rainHourly = valueAndUnit(tryRead(payload, "rainfall.hourly")); 366 + const rainHourly = valueAndUnit(tryRead(payload, "rainfall.1_hour") ?? tryRead(payload, "rainfall.hourly")); 355 367 const rainWeekly = valueAndUnit(tryRead(payload, "rainfall.weekly")); 356 368 const rainMonthly = valueAndUnit(tryRead(payload, "rainfall.monthly")); 357 369 const rainYearly = valueAndUnit(tryRead(payload, "rainfall.yearly"));
+1 -1
src/lib/realtimeArchiver.ts
··· 273 273 numVal(tryRead(payload, "pressure.relative") ?? tryRead(payload, "barometer.relative") ?? tryRead(payload, "barometer.rel")), 274 274 numVal(tryRead(payload, "solar_and_uvi.solar")), 275 275 numVal(tryRead(payload, "solar_and_uvi.uvi")), 276 - numVal(tryRead(payload, "rainfall.hourly")), 276 + numVal(tryRead(payload, "rainfall.1_hour") ?? tryRead(payload, "rainfall.hourly")), 277 277 numVal(tryRead(payload, "rainfall.rain_event")), 278 278 numVal(tryRead(payload, "rainfall.daily")), 279 279 numVal(tryRead(payload, "rainfall.weekly")),