Hej! Använder en NorthQ Power Reader som rapporterar in aktuellt mätarvärde till min HC2 varje kvart och som sedan skickas vidare till MySQL. Nu skulle jag vilja kunna se förbrukning per timme om det är möjligt, är det någon här som gjort något liknande och kan ge mej lite vägledning hur man bör gå tillväga för att lösa detta?
I min lösning (baserad på m.nu:s elförbrukningskit o hemmaknåpad OWFS/PHP/MySQL) får jag varje minut en rad med klockslaget samt det totala antalet räknade pulser (ett med tiden stort tal) skriven till en tabell i MySQL.
Varje puls motsvarar en tusendels (1/1000) kWh.
Vill jag veta en viss periods elförbrukning får jag räkna differensen i antalet pulser för perioden.
SELECT MAX(value) - MIN(value)
FROM data
WHERE time >= '2013-10-19 08:00:00' AND time < '2013-10-19 09:00:00'
Jag har inte gjort något för att hantera om räknaren "slår runt", tex om max uppnås, eller om batteribackupen tar slut vid något oväntat strömavbrott. Men iom att datat ligger i SQL går ju det att yxa till post mortem.
En räknare ger ju ingen egentlig momentanförbrukning (P=UxI) men kan beräknas utifrån förändringen mellan två avläsningar. Tex har det gått 10 pulser på en minut skulle det ju bli 600 pulser (=0.6 kWh) på en hel timme; då kan man anta att den minuten låg det på en förbrukning om 600 watt.
Sen kan man ju vrida o vända på SQL satsen för att räkna fram andra värden, tex förbrukning per timme, veckodag, etc, etc o skjuta in datat i nån presentation. Jag provkör "Flot" en ganska trevlig Java-klass (du finner exempel här på forumet om du söker på min user).
Då man oftast inte är intresserad av att räkna pulser vid varje slagning i databasen har jag skapat sk stored procedures som jag kör på timme, dag, vecka, månad o såsmåningom även år.
Resultatet blir rena kWh-värden som man kan hämta direkt utan att behöva trassla med MAX()-MIN(), etc.
Efter att ha räknat fram en månad raderar jag pulsräknarvärdena (som blir 1440 st per dag o överflödiga när väl differenserna räknats ut o lagrats)
Tack för din förklaring, i mitt fall sker omräkningen av pulser till kWh i HC2 så databasen innehåller värdet i kWh redan.
SQL queryn du nämnde känns dock som ett steg på vägen för mej då jag med hjälp av den nu kan få fram förbrukning per timme i alla fall, ska även börja kolla på hur stored procedures fungerar.
Har kikat lite på Flot också men just nu känns det som en lång väg innan jag lyckas få till något vettigt med det.