514 185 läst · 1 968 svar
514k läst
2,0k svar
Elmätare, H1-port / P1-port / HAN-port (många namn verkar florera)
Föredömligt kort. Keep it simple...😀
Jag tyckte det var intressant att visa tiden då toppen inträffade och sortera på datum isf effekt, men det behövs ju inte för att räkna ut effekttaxan.
Jag tyckte det var intressant att visa tiden då toppen inträffade och sortera på datum isf effekt, men det behövs ju inte för att räkna ut effekttaxan.

Boilerplate4U
Medlem
· Tomte-tekniker · Nordpolen
· 2 305 inlägg
Boilerplate4U
Medlem
- Tomte-tekniker · Nordpolen
- 2 305 inlägg
Snyggt Bo! Dags för nästa kluringar: a) lägg till i beräkningen att endast halva effekttoppen räknas vid nattaxa mellan kl 22-06. b) ange tidpunkt för repektive max-timme i resultatet.
Redigerat:
b) ta med tidpunkten:Boilerplate4U skrev:
Enkelt: avlägsna typecast till DATE
SELECT LogDate, MaxPower
FROM (
-- Get the highest Power value for each day
SELECT LogTime AS LogDate, MAX(Power) AS MaxPower
FROM ELECLOG
WHERE LogTime >= '2025-02-01 00:00:00'
AND LogTime < '2025-03-01 00:00:00'
AND LogDevice = 3
GROUP BY LogDate
) daily_max
ORDER BY MaxPower DESC
LIMIT 3;
Detta resulterar i:
LogDate MaxPower
2025-02-07 15:00:03 8.093
2025-02-11 21:00:01 7.552
2025-02-12 19:00:01 7.547
a) behandla nattvärden annorlunda
Oj, oj, det verkar lite värre...
Tål att tänkas på....
Så här kanske:
SELECT LogDate, ROUND(MaxPower, 3) AS MaxPower
FROM (
-- Get the highest adjusted Power value for each day
SELECT LogTime AS LogDate,
MAX(
CASE
WHEN (TIME(LogTime) BETWEEN '00:00:00' AND '06:00:00')
OR (TIME(LogTime) BETWEEN '22:00:00' AND '23:59:59')
THEN Power / 2
ELSE Power
END
) AS MaxPower
FROM ELECLOG
WHERE LogDevice = 3
AND LogTime >= '2025-02-01 00:00:00'
AND LogTime < '2025-03-01 00:00:00'
GROUP BY LogDate
) daily_max
ORDER BY MaxPower DESC
LIMIT 3;
Detta blir då output (dvs det fanns inga nattliga toppar):
LogDate MaxPower
2025-02-07 15:00:03 8.093
2025-02-11 21:00:01 7.552
2025-02-12 19:00:01 7.547
Man kan också beräkna medelvärdet av de 3 punkterna så här:
SELECT ROUND(AVG(MaxPower), 3) AS AvgMaxPower
FROM (
SELECT LogDate, ROUND(MaxPower, 3) AS MaxPower
FROM (
-- Get the highest adjusted Power value for each day
SELECT DATE(LogTime) AS LogDate,
MAX(
CASE
WHEN (TIME(LogTime) BETWEEN '00:00:00' AND '06:00:00')
OR (TIME(LogTime) BETWEEN '22:00:00' AND '23:59:59')
THEN Power / 2
ELSE Power
END
) AS MaxPower
FROM ELECLOG
WHERE LogDevice = 3
AND LogTime >= '2025-02-01 00:00:00'
AND LogTime < '2025-03-01 00:00:00'
GROUP BY LogDate
) daily_max
ORDER BY MaxPower DESC
LIMIT 3
) top3;
7.731
Klicka här för att svara
Produkter som diskuteras i tråden
Liknande trådar
Tjänster
Mest lästa artiklarna
Populärt i forumet
-
Elmätare, H1-port / P1-port / HAN-port (många namn verkar florera)
Villalarm & Hemautomation -
Arlo utan abonnemang?
Villalarm & Hemautomation -
Larminstallation Siemens SPC, LARMSKOLA!?
Villalarm & Hemautomation -
Home Assistant
Villalarm & Hemautomation -
Verisure byter basenheten
Villalarm & Hemautomation