Page 4 of 4

Re: Zonnepanelen en homeseer

Posted: Tue Apr 09, 2013 9:19 am
by AshaiRey
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...

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

Re: Zonnepanelen en homeseer

Posted: Wed Apr 10, 2013 12:41 am
by Digit
Bram, dat was geen moment van zwakte, integendeel.
Er staat ook immers ergens geschreven: the weak shall inherit the earth :wink: :lol:

Re: Zonnepanelen en homeseer

Posted: Wed Apr 10, 2013 7:19 pm
by AshaiRey
Bedankt Robert.
Is er tenminste nog één die mijn inzet in tijd waardeerd. :D

Re: Zonnepanelen en homeseer

Posted: Thu Apr 11, 2013 1:29 pm
by timdotcom
Duurde even voordat ik het kon testen maar het werkt!
Bedankt!

Het wordt dus absoluut gewaardeerd!
Ik zal vanavond even proberen om het werkende script te posten. Het was gisteravond nogal laat geworden. (herkenbaar heren?)

Gr. Tim

Re: Zonnepanelen en homeseer

Posted: Sat Apr 27, 2013 2:20 pm
by stefxx
timdotcom wrote:Maar tegen de tijd dat je je inverter hebt hangen moet je maar even contact opnemen dan heb ik wel een handigere (windows) versie van een Modbus programma waarmee je simpel en sneller kan bepalen hoe je gegevens in de inverter zitten.
Panelen en inverter hangen, rs485 naar USB converter is binnen! Ik kan met modpoll inderdaad makkelijk de waardes uitlezen. Heb je mijn PM over die handigere (Windows) tool nog ontvangen? Thx!

Re: Zonnepanelen en homeseer

Posted: Tue May 07, 2013 7:10 pm
by stefxx
Om dit onderwerp even netjes af te sluiten: alles wat ik in de eerste post vroeg werkt inmiddels. De meterstanden komen netjes binnen via de P1 poort, en de omvormer geeft zijn geheimen via de RS485 prijs. Via modpoll doe ik een keer een poll voor alle 'normale' integer waardes, en nog een keer voor die ene 32 bits waarde. De string waardes lukt niet, maar daar zit ook niet echt iets spannends tussen. Ik poll de omvormer in het script dat ook de slimme meter leest zodat dit iedere 10 seconden plaats vind. En alles staat nu netjes in homeseer. Allen bedankt voor de hulp!

Mocht iemand meer info of de script willen, laat me weten.

Re: Zonnepanelen en homeseer

Posted: Wed Nov 19, 2014 1:29 am
by irisk
Hallo Stef
Wij hebben solardge panelen en homeseer (nu nog HS2 operationeel, maar ik ben de boel aan het overzetten naar HS3 op een raspberry)
Graag zou ik wat info van je willen tav de hardware die je hebt gebruikt. De modpoll USBSTIXL heb ik al op mijn "te bestellen" lijstje staan, maar nu nog de kabel tussen de inverter en de modpoll.
Welke kan ik daar het best voor nemen?
Of is het toch slimmer om een extra raspberry naast de inverter te zetten met een wifi verbinding naar mijn homeseer server.
En wat moet ik dan hebben om de raspberry op de inverter aan te sluiten.
En min of meer dezelfde vraag om de slimme meter uit te lezen.

vr.gr.
Iris

Vr. gr.

Iris

Re: Zonnepanelen en homeseer

Posted: Sun Nov 23, 2014 9:30 pm
by stefxx
Dag Iris,

Ik heb uiteindelijk deze gebruikt: http://www.dx.com/p/usb-2-0-to-rs485-co ... ble-113652. En het mooie van RS485 is dat het niet zoveel moeite heeft met een lange kabel. Kan met gemakt je hele huis door dus. Dat is anders met je P1 kabel, dat is "gewoon" serieel (RS232) en kan minder lang. Alles hangt dus af van de lengte die je moet overbruggen...

Voor de P1 heb ik inmiddels een (HS3) plugin geschreven, die staat gewoon in de Homeseer updater. Voor de SolerEdge panelen heb ik ook een plugin, maar die is zo basic en speficiek voor mijn eigen doeleinden dat ik die niet durf te delen. Totaal ongeschikt en zou veel aanpassing behoeven om geschikt te krijgen voor "algemeen" gebruikt. Maar jij hebt toch nog HS2 en de scripting zoals hierboven werkt ook gewoon. Zo heb ik het tenminste ook altijd met HS2 gedaan.

Succes!

Re: Zonnepanelen en homeseer

Posted: Mon Nov 24, 2014 6:51 pm
by irisk
Hallo Stef

Hartelijke dank voor je info. Ik ga ermee aan de slag. (maar eerst het cm11 probleem oplossen, die krijg ik (nog) niet aan de praat onder HS3 )

Vr. gr.
Iris

Re: Zonnepanelen en homeseer

Posted: Sun Feb 21, 2016 8:33 pm
by Romac
Ik ben me aan het oriënteren op zonnepanelen en waarschijnlijk gaat het dan ook een SolarEdge omvormer worden. Nu heb ik begrepen dat de SolarEdge zowel via de ethernet connectie (json) en via de rs485 port is uit te lezen. Ik ben echter neg niet tegengekomen dat de data dan ook op paneelniveau toegankelijke is (zoals via de webportal). Klopt dat, of het ik daar helemaal overheen gelezen en hebben jullie deze data wel gevonden?

Re: Zonnepanelen en homeseer

Posted: Sun Feb 21, 2016 8:40 pm
by stefxx
Ik doe het via de RS485 (er was nog geen api toen ik mijn panelen kocht) maar dat is idd niet op paneelniveau. En volgens mij kan de api het ook nog steeds niet nee.

Re: Zonnepanelen en homeseer

Posted: Sun Feb 21, 2016 9:44 pm
by Romac
Dank je wel. Dan zal ik een poging wagen via de api. Laten we hopen dat deze informatie nog een keer beschikbaar komt. Het moet er wel zijn, want de webportal kan het wel weer geven....