P1 poort uitlezen

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

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

Re: P1 poort uitlezen

Post by stefxx »

Iets beter lezen:

Ik stel voor dat je alle regels tussen "If left(data,1) = "!" then" en "End If" even inactief maakt door er een ' voor te zetten

End Sub staat niet tussen de genoemde regels toch?
labtec
Member
Member
Posts: 243
Joined: Sun Oct 24, 2010 9:12 pm

Re: P1 poort uitlezen

Post by labtec »

Sorry, zo dan?

If left(data,1) = "!" then
' P1_Teller=P1_Teller+1
' ElseIf left(data,1) = "(" then
' hs.SetDeviceString "V85",CSng(right(data,9))
' hs.setDeviceLastChange "V85",now
' ElseIf left(data,10) = "1-0:1.7.0(" then
' hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000
' hs.setDeviceLastChange "V84",now
' ElseIf left(data,10) = "1-0:1.8.2(" then
' V82=CSng(left(right(data,13),9))
' hs.SetDeviceString "V82",V82
' hs.setDeviceLastChange "V82",now''
' ElseIf left(data,10) = "1-0:1.8.1(" then
' V81=CSng(left(right(data,13),9))
' hs.SetDeviceString "V81",V81
' hs.setDeviceLastChange "V81",now
' hs.SetDeviceString "V83",CSng(hs.DeviceString("V82"))+CSng(hs.DeviceString("V81"))
' hs.setDeviceLastChange "V83",now
' ElseIf left(data,9) = "0-0:96.14" then
' hs.SetDeviceString "V80",Cint(right(data,4))
' hs.setDeviceLastChange "V80",now

End If

End sub
labtec
Member
Member
Posts: 243
Joined: Sun Oct 24, 2010 9:12 pm

Re: P1 poort uitlezen

Post by labtec »

28-2-2015 17:47:04 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
28-2-2015 17:47:04 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
28-2-2015 17:47:04 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
28-2-2015 17:47:04 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: P1 poort uitlezen

Post by stefxx »

Volgens mij mist het P1.txt bestand een regel zie ik nu. Zet eens helemaal bovenaan het volgende:

Sub P1_event(data)

Laat maar weten of dat helpt.
labtec
Member
Member
Posts: 243
Joined: Sun Oct 24, 2010 9:12 pm

Re: P1 poort uitlezen

Post by labtec »

Heb p1 script aangepast, zie onderstaand:

Sub P1_event(data)

If left(data,1) = "!" then
P1_Teller=P1_Teller+1
ElseIf left(data,1) = "(" then
hs.SetDeviceString "V85",CSng(right(data,9))
hs.setDeviceLastChange "V85",now
ElseIf left(data,10) = "1-0:1.7.0(" then
hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000
hs.setDeviceLastChange "V84",now
ElseIf left(data,10) = "1-0:1.8.2(" then
V82=CSng(left(right(data,13),9))
hs.SetDeviceString "V82",V82
hs.setDeviceLastChange "V82",now''
ElseIf left(data,10) = "1-0:1.8.1(" then
V81=CSng(left(right(data,13),9))
hs.SetDeviceString "V81",V81
hs.setDeviceLastChange "V81",now
hs.SetDeviceString "V83",CSng(hs.DeviceString("V82"))+CSng(hs.DeviceString("V81"))
hs.setDeviceLastChange "V83",now
ElseIf left(data,9) = "0-0:96.14" then
hs.SetDeviceString "V80",Cint(right(data,4))
hs.setDeviceLastChange "V80",now

End If

End Sub

Krijg nu de volgende meldingen in log.file
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 16 More info: Type mismatch: 'CSng'
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 12 More info: Type mismatch: 'CSng'
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'Cint' in line 22 More info: Type mismatch: 'Cint'
2-3-2015 11:16:13 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 9 More info: Type mismatch: 'CSng'
2-3-2015 11:16:23 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 16 More info: Type mismatch: 'CSng'
2-3-2015 11:16:23 Error Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 12 More info: Type mismatch: 'CSng'

Ik zie overigens de virtuele devices zoals aangemaakt in geen data krijgen.
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: P1 poort uitlezen

Post by stefxx »

Ik stel voor dat je alle regels tussen "If left(data,1) = "!" then" en "End If" even inactief maakt door er een ' voor te zetten. Als je dan geen fouten meer krijgt (en dat verwacht ik) kun je daarna 1 voor 1 het ' weer weghalen totdat de fout terugkomt. Dan weten we precies welke regel de mist in gaat en vinden we vast ook wel een oplossing. Ik zie straks graag welke regel de boosdoener is!
labtec
Member
Member
Posts: 243
Joined: Sun Oct 24, 2010 9:12 pm

Re: P1 poort uitlezen

Post by labtec »

Krijg nu inderdaad geen fouten meer, nu 1 voor 1 ' weghalen, regels hebben geen relatie met elkaar? van boven af starten met ' weghalen?
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: P1 poort uitlezen

Post by stefxx »

Van boven naar beneden weghalen is inderdaad het handigst ja :-)
labtec
Member
Member
Posts: 243
Joined: Sun Oct 24, 2010 9:12 pm

Re: P1 poort uitlezen

Post by labtec »

Sub P1_event(data)

If left(data,1) = "!" then
P1_Teller=P1_Teller+1
ElseIf left(data,1) = "(" then
hs.SetDeviceString "V85",CSng(right(data,9))
hs.setDeviceLastChange "V85",now
ElseIf left(data,10) = "1-0:1.7.0(" then
hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000
'hs.setDeviceLastChange "V84",now
'ElseIf left(data,10) = "1-0:1.8.2(" then
'V82=CSng(left(right(data,13),9))
'hs.SetDeviceString "V82",V82
'hs.setDeviceLastChange "V82",now''
'ElseIf left(data,10) = "1-0:1.8.1(" then
'V81=CSng(left(right(data,13),9))
'hs.SetDeviceString "V81",V81
'hs.setDeviceLastChange "V81",now
'hs.SetDeviceString "V83",CSng(hs.DeviceString("V82"))+CSng(hs.DeviceString("V81"))
'hs.setDeviceLastChange "V83",now
'ElseIf left(data,9) = "0-0:96.14" then
'hs.SetDeviceString "V80",Cint(right(data,4))
'hs.setDeviceLastChange "V80",now

End If

End Sub

Vanaf hier start foutmelding:
2-3-2015 11:57:04 - Error - Running script, script run or compile error in file: P1.txt13:Type mismatch: 'CSng' in line 9 More info: Type mismatch: 'CSng'
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: P1 poort uitlezen

Post by stefxx »

Dus het faalt op:
hs.SetDeviceString "V84",CSng(left(right(data,7),4))*1000

En daar hoort deze dataregel bij (zie de "elseif" de regel daarboven):
1-0:1.7.0(0001.91*kW)

De 7 karakters van rechts:
.91*kW)
En daarvan de linker 4:
.91*

Dat gaat dus niet goed. Zorg dat je het juiste deel pakt van de string (0001.91 is wat je wilt hebben), even mee spelen dus.

En misschien heb je ook nog een punt/komma probleem. Desnoods pak je alleen het deel voor de punt, dan is het wel afgerond maar heb je dat probleem niet.
labtec
Member
Member
Posts: 243
Joined: Sun Oct 24, 2010 9:12 pm

Re: P1 poort uitlezen

Post by labtec »

Bedankt alvast voor al je hulp, ik ga nog even verder zoeken.

Zit met griep thuis dus kan zijn dat ik niet zo snel reageer, voel mij niet zo lekker :(
stefxx
Advanced Member
Advanced Member
Posts: 679
Joined: Fri Sep 12, 2008 2:26 pm
Location: Netherlands

Re: P1 poort uitlezen

Post by stefxx »

Succes en beterschap!
labtec
Member
Member
Posts: 243
Joined: Sun Oct 24, 2010 9:12 pm

Re: P1 poort uitlezen

Post by labtec »

Hoi toch weer even verder gaan kijken ;-) alles werkt nu, is inderdaad spelen met de settings.

Nu nog even de juiste verhoudingen zoeken zodat het ook in de goede waarde wordt weergegeven (Watt of KW) etc.

Hartelijk dank voor je hulp!
Post Reply

Return to “Homeseer Scripts Forum”