Teza Skrevet 28. november 2018 Skrevet 28. november 2018 (endret) Sett på flere løsninger for å registrere strømforbruk, men klarer ikke finne noen som gjør det jeg ønsker. Er derfor ute etter et script som kan kjøres hver hele time, og logge kWh til en .txt fil. Det er ønskelig med en fil pr. device som skal logges, og data som logges må være: Dato, klokkeslett, kWh Om mulig er det ønskelig å ha ett script som kan kalles av forskjellige devices, og lagre til forskjellige filer avhengig av deviceid. Vil tro at noen allerede har laget noe lignende dette? Ved å gjøre det på denne måten, vil jeg kunne bruke excel til å importere innholdet i filene, og sette opp den oversikten jeg ønsker. Bl.a. sett litt på Gjennomsnittlig og gårsdagens strømforbruk samt Super simple memory log, men uten noe kunnskap er jeg ikke engang sikker på hva jeg skal lete etter for å komme i gang. Noen som har noe tilsvarende, som kan dele dette? Endret 28. november 2018 av Teza Siter
Moskus Skrevet 28. november 2018 Skrevet 28. november 2018 16 minutter siden, Teza skrev: Det er ønskelig med en fil pr. device som skal logges, og data som logges må være: Dato, klokkeslett, kWh Siter
Actibus Skrevet 28. november 2018 Skrevet 28. november 2018 (endret) Jeg bruker dette scriptet for å logge forskjellige enheter til en SQL database, som jeg igjen viser med Grafana. Velger device ved å sette deviceID i paramterfeltet i eventet. Public Sub Main(ByVal Parms As Object) Dim devValue As Double = hs.DeviceValueEx(Parms) Dim devName As String = Nothing Dim dev As Scheduler.Classes.DeviceClass dev = hs.GetDeviceByRef(Parms) devName = dev.Name(hs) hs.WriteLog("WriteToSql - Device# " + Parms.ToString, devValue.ToString) Dim myconnect As New System.Data.SqlClient.SqlConnection myconnect.ConnectionString = "Data Source=tcp:HS3-PC,1433;Initial Catalog=HS3;Persist Security Info=True;User ID=****;Password=****" Dim mycommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand() mycommand.Connection = myconnect mycommand.CommandText = "INSERT INTO dbo.power (devRef, devName, devValue, devTime) VALUES (@Parms, @devName, @devValue, GETDATE())" myconnect.Open() Try mycommand.Parameters.AddWithValue("@Parms", Parms) mycommand.Parameters.AddWithValue("@devName", devName) mycommand.Parameters.AddWithValue("@devValue", devValue) mycommand.ExecuteNonQuery() 'MsgBox("Success") Catch ex As System.Data.SqlClient.SqlException hs.WriteLog("WriteToSql - Device# " + Parms.ToString, ex.Message) End Try myconnect.Close() End Sub Endret 28. november 2018 av Actibus Siter
Teza Skrevet 28. november 2018 Forfatter Skrevet 28. november 2018 (endret) Har pr. i dag 19 målepunkter som jeg overvåker over tid, har dog ingen nytte av å vise dette i sanntid. Da har jeg foreløpig kommet frem til at excel er det beste alternativet til denne oppgaven. Etter hvert kan det bli aktuelt og vise graf over totalforbruk og kanskje de største forbrukerne. Men tror det er en stund til jeg kommer dit, er mye som skal på plass før det. Endret 28. november 2018 av Teza Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.