P1 poort uitlezen
P1 poort uitlezen
Vorige week uitgevonden dat het uitlezen van een P1 poort eigenlijk heel eenvoudig is.
Je heb niet meer dan een USB serieel converter nodig een RJ11 met snoer en een stukje script.
dx.com/p/usb-to-rs232-dongle-with-exten ... =affiliate
De converter kost zo'n 3,50 euro.
Je zet de pinnen als volg aan elkaar. Met bv een female RS232 stekker.
Of als je goed kunt solderen haal je de converter uit elkaar en zet je de
aansluiting direct op de print.
RS232 RJ11
2 --------- 5
4 --------- 2
5 --------- 3
Nog eenvoudiger maar iest duurder is het bestellen van de volgende kabel:
sites.google.com/site/nta8130p1smartmet ... er/webshop
In startup.txt van homeseer.
result = hs.OpenComPort(10,"9600,E,7,1",1,"P1.txt","P1_event")
if result <> "" then
hs.WriteLog "Error","Error opening COM port for scanner: "&result
else
hs.WriteLog "OK","COM 10 open"
end if
Natuurlijk zelf vast stellen welke com poort de converter gebruikt
Het script in het bestand P1.txt ziet er zo uit.
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
Het kan natuurlijk wezen dat de output van je P1 poort er iets anders uit zie maar die van mij is als volgt:
/XMX5XMXABCE000043134 (type smart meter)
0-0:96.1.1(S/N kwh meter)
1-0:1.8.1(00043.458*kWh)
1-0:1.8.2(00021.890*kWh)
1-0:2.8.1(00000.000*kWh)
1-0:2.8.2(00000.000*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(0001.15*kW)
1-0:2.7.0(0000.00*kW)
0-0:17.0.0(999*A)
0-0:96.3.10(1)
0-0:96.13.1()
0-0:96.13.0()
0-1:96.1.0(S/N Gasmeter)
0-1:24.1.0(03)
0-1:24.3.0(121118210000)(00)(60)(1)(0-1:24.2.0)(m3)
(00025.325)
0-1:24.4.0(1)
!
Natuurlijk moet je wel eerst de betreffende device's aanmaken.
Maak ze virtual.1 het script zal ze daarna om de 10 sec overschrijven met een nieuwe waarde.
Ik wil het script nog uit bereiden met een teller waarmee de waarde minder vaak worden weg geschreven.
Met een ander klein scriptje bepaal ik het verbruik per dag.
Je heb niet meer dan een USB serieel converter nodig een RJ11 met snoer en een stukje script.
dx.com/p/usb-to-rs232-dongle-with-exten ... =affiliate
De converter kost zo'n 3,50 euro.
Je zet de pinnen als volg aan elkaar. Met bv een female RS232 stekker.
Of als je goed kunt solderen haal je de converter uit elkaar en zet je de
aansluiting direct op de print.
RS232 RJ11
2 --------- 5
4 --------- 2
5 --------- 3
Nog eenvoudiger maar iest duurder is het bestellen van de volgende kabel:
sites.google.com/site/nta8130p1smartmet ... er/webshop
In startup.txt van homeseer.
result = hs.OpenComPort(10,"9600,E,7,1",1,"P1.txt","P1_event")
if result <> "" then
hs.WriteLog "Error","Error opening COM port for scanner: "&result
else
hs.WriteLog "OK","COM 10 open"
end if
Natuurlijk zelf vast stellen welke com poort de converter gebruikt
Het script in het bestand P1.txt ziet er zo uit.
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
Het kan natuurlijk wezen dat de output van je P1 poort er iets anders uit zie maar die van mij is als volgt:
/XMX5XMXABCE000043134 (type smart meter)
0-0:96.1.1(S/N kwh meter)
1-0:1.8.1(00043.458*kWh)
1-0:1.8.2(00021.890*kWh)
1-0:2.8.1(00000.000*kWh)
1-0:2.8.2(00000.000*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(0001.15*kW)
1-0:2.7.0(0000.00*kW)
0-0:17.0.0(999*A)
0-0:96.3.10(1)
0-0:96.13.1()
0-0:96.13.0()
0-1:96.1.0(S/N Gasmeter)
0-1:24.1.0(03)
0-1:24.3.0(121118210000)(00)(60)(1)(0-1:24.2.0)(m3)
(00025.325)
0-1:24.4.0(1)
!
Natuurlijk moet je wel eerst de betreffende device's aanmaken.
Maak ze virtual.1 het script zal ze daarna om de 10 sec overschrijven met een nieuwe waarde.
Ik wil het script nog uit bereiden met een teller waarmee de waarde minder vaak worden weg geschreven.
Met een ander klein scriptje bepaal ik het verbruik per dag.
Re: P1 poort uitlezen
Werkt idd, ik had wilde plannen om dit met een netarduino uit te lezen en daar een webservertje voor te maken.
Maar kabeltje trekken van ongeveer 10 meter was toch goedkoper en minder tijd
Hier mijn homeseer sripts (vb is niet mijn ding, maar het werkt):
Maar kabeltje trekken van ongeveer 10 meter was toch goedkoper en minder tijd
Hier mijn homeseer sripts (vb is niet mijn ding, maar het werkt):
Code: Select all
Sub Main(parm)
parms = Split(cstr(parm),",")
''' Get Com port
if parms(0) <> "Init" then
comport = hs.getINIsetting("p1 settings","comport",0,"p1.ini")
if comport = 0 then
hs.WriteLog "Error","Could not find comport in p1.ini file"
exit sub
end if
end if
Select Case parms(0)
Case "Init"
if Ubound(parms) = 1 then
hs.SaveINISetting "p1 settings","comport",parms(1),"p1.ini"
else
hs.WriteLog "Error","Wrong input for Init"
exit sub
end if
'result = hs.OpenComPort(parms(1),"9600,E,7,1",1,"P1_event.txt","P1_event","!"&vbCLRf)
result = hs.OpenComPort(parms(1),"9600,E,7,1",1,"P1_event.txt","P1_event")
if result <> "" then
hs.WriteLog "Error","Error opening COM port for p1 reading: "&result
else
hs.SetComPortRTSDTR parms(1),False,False
hs.WriteLog "OK","COM for P1 reading is open"
end if
Case "Start"
hs.SetComPortRTSDTR comport,False,True
Case "Stop"
hs.SetComPortRTSDTR comport,False,False
Case "Trigger"
hs.SetComPortRTSDTR comport,False,True
hs.WaitSecs 2
hs.SetComPortRTSDTR comport,False,False
Case Else
hs.writelog "ERROR","Unknown input: "&data
End Select
End Sub
Code: Select all
const CURRENT_POWER_USAGE = "P84"
const CURRENT_POWER_DELIVERY = "P85"
const TOTAL_POWER_USAGE_T1 = "P86"
const TOTAL_POWER_USAGE_T2 = "P87"
const TOTAL_POWER_DELIVERY_T1 = "P88"
const TOTAL_POWER_DELIVERY_T2 = "P89"
const TARIFF_INDICATOR = "P90"
const TOTAL_GAS_USAGE = "P91"
const GAS_USAGE_UPDATE = "P92"
const DEBUG_LOG = False
Sub P1_event(data)
if DEBUG_LOG then
hs.writelog "OK","Data:"&Cstr(data)
end if
' huidig stroom verbruik:
' 1-0:1.7.0(0001.05*kW)
If left(data,10) = "1-0:1.7.0(" then
v1 = Split(data,"(")
v2 = Split(v1(1),"*")
device_value = Cdbl(replace(v2(0),".",",")) * 1000
device_string = device_value&"W"
if DEBUG_LOG then
hs.writelog "OK","-> Huidig stroom verbruik: "& cstr(device_value) & " Watt"
end if
hs.SetDeviceString CURRENT_POWER_USAGE, device_string
hs.SetDeviceValue CURRENT_POWER_USAGE, device_value
hs.setDeviceLastChange "P84",now
' Huidige stroom levering:
' 1-0:2.7.0(0000.00*kW)
Elseif left(data,10) = "1-0:2.7.0(" then
v1 = Split(data,"(")
v2 = Split(v1(1),"*")
device_value = Cdbl(replace(v2(0),".",",")) * 1000
device_string = device_value&"W"
if DEBUG_LOG then
hs.writelog "OK","-> Huidige stroom levering: "& cstr(device_value) & " Watt"
end if
hs.SetDeviceString CURRENT_POWER_DELIVERY, device_string
hs.SetDeviceValue CURRENT_POWER_DELIVERY,device_value
hs.setDeviceLastChange "P84",now
'Totaal verbruik tarief1:
'1-0:1.8.1(00287.000*kWh)
Elseif left(data,10) = "1-0:1.8.1(" then
v1 = Split(data,"(")
v2 = Split(v1(1),"*")
device_value = Cdbl(replace(v2(0),".",",")) * 1000
device_string = device_value/1000&"kWh"
if DEBUG_LOG then
hs.writelog "OK","-> Totaal verbruik tarief1: "& cstr(device_value) & " Wh"
end if
hs.SetDeviceString TOTAL_POWER_USAGE_T1, device_string
hs.SetDeviceValue TOTAL_POWER_USAGE_T1,device_value
'Totaal verbruik tarief2:
'1-0:1.8.2(00187.000*kWh)
Elseif left(data,10) = "1-0:1.8.2(" then
v1 = Split(data,"(")
v2 = Split(v1(1),"*")
device_value = Cdbl(replace(v2(0),".",",")) * 1000
device_string = device_value/1000&"kWh"
if DEBUG_LOG then
hs.writelog "OK","-> Totaal verbruik tarief2: "& cstr(device_value) & " Wh"
end if
hs.SetDeviceString TOTAL_POWER_USAGE_T2, device_string
hs.SetDeviceValue TOTAL_POWER_USAGE_T2,device_value
'Totaal geleverd tarief1:
'1-0:2.8.1(00000.000*kWh)
Elseif left(data,10) = "1-0:2.8.1(" then
v1 = Split(data,"(")
v2 = Split(v1(1),"*")
device_value = Cdbl(replace(v2(0),".",",")) * 1000
device_string = device_value/1000&"kWh"
if DEBUG_LOG then
hs.writelog "OK","-> Totaal geleverd tarief1: "& cstr(device_value) & " Wh"
end if
hs.SetDeviceString TOTAL_POWER_DELIVERY_T1, device_string
hs.SetDeviceValue TOTAL_POWER_DELIVERY_T1,device_value
'Totaal geleverd tarief2:
'1-0:2.8.2(00000.000*kWh)
Elseif left(data,10) = "1-0:2.8.2(" then
v1 = Split(data,"(")
v2 = Split(v1(1),"*")
device_value = Cdbl(replace(v2(0),".",",")) * 1000
device_string = device_value/1000&"kWh"
if DEBUG_LOG then
hs.writelog "OK","-> Totaal geleverd tarief2: "& cstr(device_value) & " Wh"
end if
hs.SetDeviceString TOTAL_POWER_DELIVERY_T2, device_string
hs.SetDeviceValue TOTAL_POWER_DELIVERY_T2,device_value
' Tarief Indicator
' 0-0:96.14.0(0002)
Elseif left(data,12) = "0-0:96.14.0(" then
v1 = Split(data,"(")
v2 = Split(v1(1),")")
device_value = Cint(v2(0))
device_string = "T"&device_value
if DEBUG_LOG then
hs.writelog "OK","-> Tarief indicator: "& device_string
end if
hs.SetDeviceString TARIFF_INDICATOR, device_string
hs.SetDeviceValue TARIFF_INDICATOR,device_value
' Totaal Gas verbruik
' (00518.216)
Elseif left(data,1) = "(" then
v1 = Split(data,"(")
v2 = Split(v1(1),")")
device_value = Cdbl(replace(v2(0),".",",")) * 1000
device_string = device_value/1000&"m3"
if DEBUG_LOG then
hs.writelog "OK","-> Totaal gas verbruik: "& device_string
end if
hs.SetDeviceString TOTAL_GAS_USAGE, device_string
hs.SetDeviceValue TOTAL_GAS_USAGE,device_value
' Gas verbruik geupdate
' Data:0-1:24.3.0(130104130000)(00)(60)(1)(0-1:24.2.1)(m3)
Elseif left(data,11) = "0-1:24.3.0(" then
v1 = Split(data,"(")
v2 = Split(v1(1),")")
y = left(v2(0),2)
m = right(left(v2(0),4),2)
d = right(left(v2(0),6),2)
h = Cint(left(right(v2(0),6),2))
device_value = h
device_string = d&"-"&m&"-"&y&" "&h&"h"
if DEBUG_LOG then
hs.writelog "OK","-> Gas verbruik geupdate: "& device_string
end if
hs.SetDeviceString GAS_USAGE_UPDATE, device_string
hs.SetDeviceValue GAS_USAGE_UPDATE,device_value
end if
end Sub
-
- Member
- Posts: 152
- Joined: Wed Apr 11, 2012 11:21 am
Re: P1 poort uitlezen
Peter,
Bedankt voor je script en je hulp! Het werkt perfect.
Voor iedereen die misschien het script wil gebruiken en geen decimalen ziet in de status bij Homeseer. Ik had dit probleem, heb mijn decimaalteken van een , gewijzigd in een . bij de toetsenbordinstellingen op mijn server en nu werkt het perfect! Kleinigheid, maar best lastig!
Groet,
Kees
Bedankt voor je script en je hulp! Het werkt perfect.
Voor iedereen die misschien het script wil gebruiken en geen decimalen ziet in de status bij Homeseer. Ik had dit probleem, heb mijn decimaalteken van een , gewijzigd in een . bij de toetsenbordinstellingen op mijn server en nu werkt het perfect! Kleinigheid, maar best lastig!
Groet,
Kees
Re: P1 poort uitlezen
Hallo pklijnjan,
Bedankt voor je script. Ook ik heb dit vorige week ge-installeerd op mijn hs2.
Het werkt goed.
Ben wel ge-intresseerd naar je andere scrips die je gebruikt.
Dit om het geheel verder uit te bouwen.
Ook de tip van Kees was voor mij van toepassing. erg mooi.
mvrgr.Piever
Bedankt voor je script. Ook ik heb dit vorige week ge-installeerd op mijn hs2.
Het werkt goed.
Ben wel ge-intresseerd naar je andere scrips die je gebruikt.
Dit om het geheel verder uit te bouwen.
Ook de tip van Kees was voor mij van toepassing. erg mooi.
mvrgr.Piever
Re: P1 poort uitlezen
Zijn er nog andere forumleden die het script van Peter hebben geprobeerd? ik gebruik onderstaande kabel uit de webshop, ik krijg geen data binnen.
Ik heb de scripts zoals aangegeven gekopieerd naar de aangegeven HS2 dir en de com poort gewijzigd naar de voor mij juiste poort, verder heb ik alle
virtuele devices aangemaakt zoals aangegeven virtulal.1
Op welke wijze kan ik checken of ik zo wie zo data uit de P1 poort van de slimme meter ontvang? ik weet niet of de fout in de communicatie zit of in de
verwerking van het script.
Moet je voor het uitlezen van de P1 poort nog een event aanmaken, zo ja op welke wijze?
Wie kan mij verder op weg helpen?
P1 Converter Cable v2P1 Converter Cable
Alvast bedankt
Greetz
Ik heb de scripts zoals aangegeven gekopieerd naar de aangegeven HS2 dir en de com poort gewijzigd naar de voor mij juiste poort, verder heb ik alle
virtuele devices aangemaakt zoals aangegeven virtulal.1
Op welke wijze kan ik checken of ik zo wie zo data uit de P1 poort van de slimme meter ontvang? ik weet niet of de fout in de communicatie zit of in de
verwerking van het script.
Moet je voor het uitlezen van de P1 poort nog een event aanmaken, zo ja op welke wijze?
Wie kan mij verder op weg helpen?
P1 Converter Cable v2P1 Converter Cable
Alvast bedankt
Greetz
Re: P1 poort uitlezen
Niemand? ik dacht dat er wel forumleden zouden zijn die via een script data uit de P1 poort van de slimme meter konden inlezen.
Ik krijg in dit topic geen enkele reactie
Greetz
Ik krijg in dit topic geen enkele reactie
Greetz
Re: P1 poort uitlezen
Begin eens met een serial terminal programma om te kijken of je überhaupt iets uit die port ontvangt? Google op "serial terminal Windows" dan vind je genoeg gratis programma's zoals termite, terraterm etc. Oudere Windows versies hadden HyperTerminal ingebouwd die kun je ook gebruiken.
Re: P1 poort uitlezen
Bedankt voor je reactie, ik ga e.e.a. proberen.
Re: P1 poort uitlezen
Op welke wijze moet ik het P1.txt script in een event verwerken?
Re: P1 poort uitlezen
Ik krijg onderstaande errors in HS2 log, logfile loopt helemaal vol
Ik heb onderstaand toegevoegd in startup.txt op de COM poort die voor mij van toepassing is (COM8)
In startup.txt van homeseer toegevoegd:
result = hs.OpenComPort(8,"9600,E,7,1",1,"P1.txt","P1_event")
if result <> "" then
hs.WriteLog "Error","Error opening COM port for scanner: "&result
else
hs.WriteLog "OK","COM 8 open"
end if
P1.txt in script dir van HS2 geplaatst, wat moet ik doen met P1_event?
28-2-2015 10:18:10 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 9 More info: Expected statement
28-2-2015 10:18:10 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 9 More info: Expected statement
28-2-2015 10:18:10 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 9 More info: Expected statement
Ik heb onderstaand toegevoegd in startup.txt op de COM poort die voor mij van toepassing is (COM8)
In startup.txt van homeseer toegevoegd:
result = hs.OpenComPort(8,"9600,E,7,1",1,"P1.txt","P1_event")
if result <> "" then
hs.WriteLog "Error","Error opening COM port for scanner: "&result
else
hs.WriteLog "OK","COM 8 open"
end if
P1.txt in script dir van HS2 geplaatst, wat moet ik doen met P1_event?
28-2-2015 10:18:10 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 9 More info: Expected statement
28-2-2015 10:18:10 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 9 More info: Expected statement
28-2-2015 10:18:10 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 9 More info: Expected statement
Re: P1 poort uitlezen
Als je hulp wilt, is het handig als je duidelijk(er) beschrijft wat je zelf al hebt gedaan, wat het resultaat is van aangeboden hulp etc etc. Je lijkt iedere keer weer een stapje verder te komen maar je vergeet ons mee te nemen in je verhaal...
Begrijp ik goed dat je nu dus wel data binnenkrijgt? En de logfile heeft het over een fout op regel 9 van P1.txt, maar je laat de inhoud van je P1.txt niet zien...
Begrijp ik goed dat je nu dus wel data binnenkrijgt? En de logfile heeft het over een fout op regel 9 van P1.txt, maar je laat de inhoud van je P1.txt niet zien...
Re: P1 poort uitlezen
Sorry, ik begrijp helemaal niets van SW/scripts, ik heb de handleiding van Peter gebruikt. Ondertussen ook de tool Termite gebruikt om Com-8 uit te lezen, hier komt
de data uit de p1 poort prima op binnen.
Ik heb het door Peter aangegeven deel toegevoegd in startup (com poort aangepast) en het p1 script in de map scripts gezet.
Ik stuur je de bestandjes even via PM
Alvast bedankt voor je reactie en hulp
Greetz
de data uit de p1 poort prima op binnen.
Ik heb het door Peter aangegeven deel toegevoegd in startup (com poort aangepast) en het p1 script in de map scripts gezet.
Ik stuur je de bestandjes even via PM
Alvast bedankt voor je reactie en hulp
Greetz
Re: P1 poort uitlezen
Hoi,
Ik ben zo vrij hier door te gaan ipv via PM, dan krijg je wellicht meer hulp en hebben anderen met soortgelijke problemen er ook nog wat aan. Ik heb alleen je meter identificatie even weggehaald, je weet maar nooit he?
Probleem is dat het P1.txt script zoals hierboven geen 25 regels heeft, terwijl je wel een fout krijgt op regel 25. Op zich niet heel raar, want HS voegt zelf ook een aantal regels toe waardoor de nummering vaak niet meer klopt.
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!
Ik ben zo vrij hier door te gaan ipv via PM, dan krijg je wellicht meer hulp en hebben anderen met soortgelijke problemen er ook nog wat aan. Ik heb alleen je meter identificatie even weggehaald, je weet maar nooit he?
Mooie complete info zo En je doet inderdaad de juiste dingen zo te zien.Onderstaand de bestanden dir ik nu gebruik.
1. Termite data com-8
2. Aangepast startup script (zoals door Peter in topic aangegeven)
3. p1 script van Peter (topic)
4. error log
1.
/ISk5\2ME382-1004
0-0:96.1.1(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
1-0:1.8.1(07028.706*kWh)
1-0:1.8.2(05806.461*kWh)
1-0:2.8.1(00000.447*kWh)
1-0:2.8.2(00000.000*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(0001.91*kW)
1-0:2.7.0(0000.00*kW)
0-0:17.0.0(0999.00*kW)
0-0:96.3.10(1)
0-0:96.13.1()
0-0:96.13.0()
2.
' This is the startup script
' It is run once when HomeSeer starts up
'
' You may also have Startup.vb and it will be run instead of this script.
'
Sub Main()
On Error Resume Next 'Just to make sure this completes.
hs.WriteLog "Startup", "Scripting is OK and is now running Startup.txt"
' If the speaker client is not running, start it
If Not hs.IsApplicationRunning("Speaker") Then
'hs.Launch hs.GetAppPath & "\Speaker.exe", "", "", 0
End If
' Speak - uncomment the next line if you want HomeSeer to speak
' at startup.
'hs.Speak "Welcome to Home-Seer", True
result = hs.OpenComPort(8,"9600,E,7,1",1,"P1.txt","P1_event")
if result <> "" then
hs.WriteLog "Error","Error opening COM port for scanner: "&result
else
hs.WriteLog "OK","COM 8 open"
end if
' You may add your own commands to this script.
' See the scripting section of the HomeSeer help system for more information.
' You may access help by going to your HomeSeer website and clicking the HELP button,
' or by pointing your browser to the /help page of your HomeSeer system
End Sub
4.
28-2-2015 15:09:45 OK COM 8 open
28-2-2015 15:09:45 Startup Start up complete.
28-2-2015 15:09:52 Error Running script, script run or compile error in file: P1.txt1024:Expected statement in line 25 More info: Expected statement
log loopt vol met zelfde foutmelding.
Probleem is dat het P1.txt script zoals hierboven geen 25 regels heeft, terwijl je wel een fout krijgt op regel 25. Op zich niet heel raar, want HS voegt zelf ook een aantal regels toe waardoor de nummering vaak niet meer klopt.
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!
Re: P1 poort uitlezen
Ga ik doen ik heb overigens de virtuele device exact aangemaakt zoals Peter heeft beschreven, allemaal Virtual.1 met exact dezelfde namen en V codes, ik krijg allemaal lamp devices in status kolom en in de control kolom kan ik ze on/off zetten............
Weet niet of dit goed is, zoals je wellicht geconstateerd heb begrijp ik vrijwel niets van scripts
Weet niet of dit goed is, zoals je wellicht geconstateerd heb begrijp ik vrijwel niets van scripts
Re: P1 poort uitlezen
Ik heb ' voor End Sub geplaatst en krijg nu doorlopend de volgende error
28-2-2015 16:12:53 - Error - Cannot run script P1.txt, entry point function not found: P1_event
28-2-2015 16:12:53 - Error - Cannot run script P1.txt, entry point function not found: P1_event