De energie wordt door een Soladin 600 aan het lichtnet geleverd.
De Soladin 600 is met een seriele aansluiting uit te lezen.
Hiervoor is bijvoorbeeld 'Masterlog' software beschikbaar.
Via deze software is de com port prima uit te lezen. Maar de data wordt in een SQL file bewaard, waar ik niet in kan komen.
Nu wil ik in Homeseer door middel van een stript de data uitlezen.
Ik weet inmiddels wat ik naar de com port moet sturen om data terug te krijgen.
Alleen in plaats van 30 data bits krijg ik er maar 15 of 16 terug.
Met 'device monitoring Studio' kan ik de communicatie volgen, maar met mijn script gaat het steeds fout.
Dit is het gedeelte dat de communicatie doet.:
Code: Select all
SerialPort1.Open()
SerialPort1.Write(P_rqb, 0, P_rqb.Length)
system.threading.thread.sleep(p_sleep)
Try
For I = 0 To 8
system.threading.thread.sleep(p_sleept)
P_antwb(I) = SerialPort1.ReadByte()
If debug = 2 Then hs.writelog("Zonnepaneelb " & I, P_antwb(I))
Next
Catch ex As Exception
End Try
SerialPort1.Write(P_rqa, 0, P_rqa.Length)
system.threading.thread.sleep(p_sleep)
Try
For I = 0 To 30
system.threading.thread.sleep(p_sleept)
P_antwa(I) = SerialPort1.ReadByte()
If debug = 2 Then hs.writelog("Zonnepaneela " & I, P_antwa(I))
Next
Catch ex As Exception
End Try
Bij de tweede write actie moeten er 30 bytes terug komen, maar dat zijn er dus altijd maar 15 of 16
Iemand een idee waarom niet alle bytes ingelezen worden?