Re: Zonnepanelen en homeseer
Posted: Tue Apr 09, 2013 9:19 am
Zucht, weer een moment van zwakte
Opm: VBscript is niet moeilijk. Er zijn zat voorbeelden en google is je beste vriend. Waarom 2 weken wachten op iemand die het voor je op gaat lossen terwijl je zelf slim genoeg ben om het in een avondje te doen. Ben je gelijk minder afhankelijk van goodwill.
Ongeteste code !
CSV formaat = <datum/tijd> ; <data ID> ; <data> ; <data ID> ; <data> ; enz...

Opm: VBscript is niet moeilijk. Er zijn zat voorbeelden en google is je beste vriend. Waarom 2 weken wachten op iemand die het voor je op gaat lossen terwijl je zelf slim genoeg ben om het in een avondje te doen. Ben je gelijk minder afhankelijk van goodwill.
Ongeteste code !
CSV formaat = <datum/tijd> ; <data ID> ; <data> ; <data ID> ; <data> ; enz...
Code: Select all
Sub Main (parm as object)
Const ForAppending = 8
Dim fso, outputfile, filename, data, objShell
Dim Dump As String = Now()
'===============================
'Fill in your information
CSVname = "c:\Program Files\HomeSeer HSPRO\data\<het logfile>.csv"
Device = "<device code>"
'===============================
objShell = CreateObject("WScript.Shell")
objShell.Run("c:\modpoll\temppoll.cmd", 0, True)
objShell = Nothing
' System.Threading.Thread.Sleep(5000)
filename = "c:\modpoll\temppoll.txt"
fso = CreateObject("Scripting.FileSystemObject")
outputfile = fso.OpenTextFile(filename, 1, True)
do while outputfile.AtEndOfStream <> True
data = outputfile.ReadLine
if left(data, 6) = "[260]:" then
hs.SetDeviceString ("M1", (right(data, len(data)-7)/10) & "°C", True)
hs.SetDeviceValue ("M1", right(data, len(data)-7)/10)
Dump = Dump & ";[260];" & right(data, len(data)-7)/10
end if
if left(data, 6) = "[261]:" then
hs.SetDeviceString ("M2", (right(data, len(data)-7)/10) & "°C", True)
hs.SetDeviceValue ("M2", right(data, len(data)-7)/10)
Dump = Dump & "[261];" & right(data, len(data)-7)/10
end if
if left(data, 6) = "[262]:" then
hs.SetDeviceString ("M3", (right(data, len(data)-7)/10) & "°C", True)
hs.SetDeviceValue ("M3", right(data, len(data)-7)/10)
Dump = Dump & ";[262];" & right(data, len(data)-7)/10
end if
if left(data, 6) = "[263]:" then
hs.SetDeviceString ("M4", (right(data, len(data)-7)/10) & "°C", True)
hs.SetDeviceValue ("M4", right(data, len(data)-7)/10)
Dump = Dump & ";[263];" & right(data, len(data)-7)/10
end if
if left(data, 6) = "[264]:" then
hs.SetDeviceString ("M5", (right(data, len(data)-7)/10) & "°C", True)
hs.SetDeviceValue ("M5", right(data, len(data)-7)/10)
Dump = Dump & ";[264];" & right(data, len(data)-7)/10
end if
if left(data, 6) = "[265]:" then
hs.SetDeviceString ("M6", Math.Round((right(data, len(data)-7)/10-100), 1) & "°C", True)
hs.SetDeviceValue ("M6", right(data, len(data)-7)/10-100)
Dump = Dump & ";[265];" & right(data, len(data)-7)/10 - 100
end if
if left(data, 6) = "[266]:" then
hs.SetDeviceString ("M7", (right(data, len(data)-7)) & "Lux", True)
hs.SetDeviceValue ("M7", right(data, len(data)-7))
Dump = Dump & ";[266];" & right(data, len(data)-7)
end if
loop
outputfile.Close
'Write result to CSV file
Dim objFSO as Object
Dim objFile as Object
objFSO = CreateObject("Scripting.FileSystemObject")
Try
objFile = objFSO.OpenTextFile(CSVname , ForAppending )
objFile.WriteLine(Dump)
Catch e as Exception
hs.WriteLog("System error",e.Message)
hs.WriteLog("Writing CSV","Kon de data niet wegschrijven naar " & Filename)
End Try
objFSO = Nothing
objFile = Nothing
End Sub