Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

[Løst] Logging av kWh fra forskjellige devices til forskjellige filer


Anbefalte innlegg

Skrevet (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 av Teza
Skrevet
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

 

Skrevet (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

 

grafana.PNG

Endret av Actibus
Skrevet (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 av Teza

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.