Zonnepanelen en homeseer

Homeseer Forum in het Nederlands (DUTCH forum)

Moderator: Ruud

timdotcom
Starting Member
Starting Member
Posts: 32
Joined: Sun Jun 21, 2009 10:24 am
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by timdotcom »

Lekker weer voor zonnepanelen overigens! ;-)

Als je een voorzetje hebt van het script wat je denkt te gaan gebruiken i.c.m. modpoll dan hoor ik het graag.
Dan kan ik wat temperaturen uit mijn PLC toveren.
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by stefxx »

Zal ik je zeker laten weten. Misschien doe ik ook nog wel een poging zonder modpoll, maar zonder spullen kan ik nog helemaal niets... behalve dromen! :-)
timdotcom
Starting Member
Starting Member
Posts: 32
Joined: Sun Jun 21, 2009 10:24 am
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by timdotcom »

Ha,

Ik heb even geexperimenteerd met Modpoll.
Zie onderstaande, ik poll hier eenmalig het adres van mijn woonkamer temperatuur. 228 =22,8 graden.

Image

Enige idee hoe ik dit nu in een homeseer device kan proppen?
Er zit in modpoll geen optie tot schrijven naar een textfile als ik zo bekijk.

Gr Tim
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by stefxx »

Ik zou zoiets proberen: modpoll -m tcp -r 260 -l 192.168.2.2 > c:\temp\output.txt
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by stefxx »

En als je alleen geinteresseerd bent in de regel met [260] kun je dit ook doen:

modpoll -m tcp -r 260 -l 192.168.2.2 | find "[260]" > c:\temp\output.txt

Dat maakt het straks weer makkelijker om in te lezen middels een homeseer script.
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by stefxx »

En om het dan maar gelijk af te maken, dit zou het in een homeseer device moeten stoppen:

Code: Select all

Sub Main()

  Dim fso, outputfile, filename, data

  filename = "c:\temp\output.txt"
  set fso = CreateObject("Scripting.FileSystemObject")
  set outputfile = fso.OpenTextFile(filename, 1, True)
    
  do While outputfile.AtEndOfStream <> True
    data = outputfile.ReadLine
    if left(data, 6) = "[260]:" then
      hs.SetDeviceString "x1", (right(data, len(data)-7)/10) & "°C", True
      hs.SetDeviceValue "x1", right(data, len(data)-7), True
    end if
  loop

  outputfile.Close

End Sub
Niet getest, zit vast nog wel een komma of haakje verkeerd. En vervang x1 voor het juiste device natuurlijk.
timdotcom
Starting Member
Starting Member
Posts: 32
Joined: Sun Jun 21, 2009 10:24 am
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by timdotcom »

Bedankt!

Het modpoll gedeelte werkt in ieder geval. Nog geen tijd gehad om het scriptje te testen.
Vraagje: is dat | find "[260]" > c:\temp\output.txt gedeelte een windows/dos functionaliteit? Of is dat onderdeel van de modpoll functionaliteit?

Gr.
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by stefxx »

Zit al in DOS sinds versie 1.0 (1981), en misschien zelfs wel in QDOS/86-DOS daarvoor ook. Oeps, nou verraad ik mijn leeftijd wel een beetje :lol:

Zie hier voor wat mogelijkheden met redirecting: http://www.microsoft.com/resources/docu ... ction.mspx
timdotcom
Starting Member
Starting Member
Posts: 32
Joined: Sun Jun 21, 2009 10:24 am
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by timdotcom »

Is het ook mogelijk om modpoll vanuit het script te starten?

Want als ik modpoll continu laat pollen voor adres 260 dan komen er geen waarden in de output file. (staat continu open denk ik)

Zoals ik het nu doe laat ik modpoll eenmalig de waarde van 260 ophalen en dumpen in de tekst file. Dit werkt.

Dus ik denk dat het script modpoll moet starten met de parameters:
modpoll -m tcp -r 260 -1 192.168.2.2 | find "[260]" > c:\modpoll\output.txt
(waarbij de -1 staat voor een eenmalige poll.)
Misschien daarna even wachten en dan het homeseer device vullen.

Zou je dit nog in het scriptje kunnen bakken? :oops:
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by stefxx »

Heb je het script al getest? Voordat ik daar verder mee ga en modpoll ga proberen te starten, misschien wel handig om te weten :-)
timdotcom
Starting Member
Starting Member
Posts: 32
Joined: Sun Jun 21, 2009 10:24 am
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by timdotcom »

Net even getest, kreeg eerst de melding dat Set en Let niet meer toegestaan waren. Toch die leeftijd :D ?

Even aangepast.

Code: Select all

Sub Main()

  Dim fso, outputfile, filename, data

  filename = "c:\modpoll\wktt.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))
    end if
  loop

  outputfile.Close

End Sub
Maar nog geen succes, er zal nog iets niet helemaal goed zitten want ik krijg onderstaande melding in de log file.

Code: Select all

21-3-2013 16:54:58  - Error - Scripting runtime error: System.Reflection.TargetParameterCountException: Parameter count mismatch.   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)   at Scheduler.VsaScriptHost.Invoke(String ModuleName, String MethodName, Object[] Arguments)
Jij enig idee? Moet nu weg dus ik zal vanavond laat of morgen weer verder hobbyen.

Gr. Tim
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by stefxx »

Ja. Vervang

Sub Main ()

door

Sub Main (parm as object)
timdotcom
Starting Member
Starting Member
Posts: 32
Joined: Sun Jun 21, 2009 10:24 am
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by timdotcom »

Hoera!
Een modbus waarde via tekstfile gepresenteerd in homeseer.

Je moest eens weten hoe lang ik al aan het rotzooien ben geweest.
Image

Wel eerst handmatig via modpoll de waarde in de .txt file moeten laten verversen maar we zijn op weg! :D

GR. Tim
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by stefxx »

Ok, zoiets?

Maak een cmd file, bijv. c:\modpoll\modpoll.cmd met deze inhoud:

Code: Select all

c:\modpoll\modpoll.exe -m tcp -r 260 -l 192.168.2.2 > c:\modpoll\wktt.txt 2>&1
Zet modpoll.exe in dezelfde directory en maak in homeseer een event met een scipt (extentie .vb) met deze inhoud:

Code: Select all

Sub Main (parm as object)

  Dim fso, outputfile, filename, data

  hs.launch ("c:\modpoll\modpoll.cmd")
  System.Threading.Thread.Sleep(5000)

  filename = "c:\modpoll\wktt.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))
    end if
  loop

  outputfile.Close

End Sub
En je bent in business!

(als modpoll meer dan 5 seconden nodig heeft, moet je de sleep aanpassen. de waarde is in milliseconden)
timdotcom
Starting Member
Starting Member
Posts: 32
Joined: Sun Jun 21, 2009 10:24 am
Location: Netherlands

Re: Zonnepanelen en homeseer

Post by timdotcom »

Ben nog niet thuis om te testen, maar mis je in de cmd file niet het find 260 gedeelte?
Post Reply

Return to “Homeseer algemeen Forum”