HEX waarde sturen naar TCPIP device

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

Post Reply
User avatar
esschenk
Member
Member
Posts: 426
Joined: Sun Feb 17, 2008 10:34 pm
Location: Netherlands
Contact:

HEX waarde sturen naar TCPIP device

Post by esschenk »

Hallo,

Heeft iemand ervaring en of een script waarmee ik een Hex waarde naar een tcp-ip poort kan sturen
Module staat op 192.168.1.50 poort 5000
En wil daar een een hex waarde naar toe sturen vanuit Homeseer

Groet Ed
AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: HEX WAARDE STUREN NAAR TCPIP DEVICE

Post by AshaiRey »

Via welk protocol moet dat gebeuren?
Is het een Telnet poort of een webserver die hierop luister?
Bram
User avatar
esschenk
Member
Member
Posts: 426
Joined: Sun Feb 17, 2008 10:34 pm
Location: Netherlands
Contact:

Re: HEX WAARDE STUREN NAAR TCPIP DEVICE

Post by esschenk »

Hallo Bam,

Het gaat om deze serial to ethernet unit

http://www.wiznet.co.kr/sub_modules/en/ ... 40&cType=2

Ik heb wat problemen met de virtuele comport software vandaar dat ik wil proberen om hem via tcp/ip aan te sturen
ik heb dit getest met het programma Hercules en dat werk perfect .
Maar heb geen idee hoe dit toe te passen via Homeseer.

Alvast bedankt

Ed
AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: HEX WAARDE STUREN NAAR TCPIP DEVICE

Post by AshaiRey »

Hoi Ed,

Als ik het dus goed begruipt is dit een serieel naar ethernet converter die je via een com poort benaderd.
Ik heb thuis een werkend scriptje dat als voorbeeld kan dienen om de com.poort aan te sturen. Daar zal je dus nog even op moeten wachten.

Tijdens het wachten kan je misschien eens een kijkje nemen naar de HS online helpfiles (http://www.homeseer.com/support/homesee ... meseer.htm)
Zoek dan onder Index naar SendToComPort

Een decimaal naar hex omzetten in vbscript doe je met Hex(decimaal getal)
Van Hex naar decimaal kan je als volgt doen CLng("&h" & hex_value)
Bram
Menno
Member
Member
Posts: 179
Joined: Thu May 22, 2008 10:46 pm
Location: Netherlands

Re: HEX WAARDE STUREN NAAR TCPIP DEVICE

Post by Menno »

Hoi Ed,

Zie hier een simpel script wat een voorbeeldwaarde als text verstuurd naar een IP-adres volgens het TCP protocol. De waarde die verstuurd wordt is : <1234567> je kunt dit vervangen door je eigen hexwaarde bijvoorbeeld: &h0F o.i.d. De Wiznet moet je zo instellen dat hij verbinding maakt met het IP-adres van Homeseer waar je dit script runt.

Public Sub main(ByVal parm As Object)

' Must listen on correct port- must be same as port client wants to connect on.
Const portNumber As Integer = 2345
Dim tcpListener As New System.Net.Sockets.TcpListener(portNumber)
tcpListener.Start()
hs.writelog("TCPListen", "Waiting for connection...")
Try
'Accept the pending client connection and return 'a TcpClient initialized for communication.
Dim tcpClient As System.Net.Sockets.TcpClient = tcpListener.AcceptTcpClient()
hs.writelog("TCPListen", "Connection accepted.")
' Get the stream
Dim networkStream As System.Net.Sockets.NetworkStream = tcpClient.GetStream()
If networkStream.CanWrite And networkStream.CanRead Then
' Do a simple write.
Dim sendBytes As [Byte]() = system.text.Encoding.ASCII.GetBytes("<1234567>")
networkStream.Write(sendBytes, 0, sendBytes.Length)

Else
If Not networkStream.CanRead Then
hs.writelog("TCPListener", "cannot not write data to this stream")
tcpClient.Close()
End If
End If


tcpClient.Close()
tcpListener.Stop()
hs.writelog("TCPListen", "exit")

Catch e As Exception

End Try
End Sub
AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: HEX WAARDE STUREN NAAR TCPIP DEVICE

Post by AshaiRey »

Dit zou moeten werken.

Code: Select all

' com port script to send data to a COM port
' this script registers a callback script named com_event.txt
' when data is received on the COM port the com_event.txt script is called and the
' data can be processed there
' this script only needs to be called once as the com port will stay open
sub main()
	dim e

	e=hs.OpenComPort(1,"9600,n,8,1",1,"com_event.txt","main")
	if e <> "" then
		hs.writelog "Error opening com port",e
	end if
	
	' if you need to send data to the com port when the port is open, it can be done here
	hs.SendToComPort 1,"&HAF" + vbcrlf

	hs.WaitSecs 1	
                hs.CloseComPort 1
        hs.writelog "COM SCRIPT","Script Complete"
end sub
Bram
labium
Advanced Member
Advanced Member
Posts: 512
Joined: Sat Feb 06, 2010 10:56 am
Location: netherlands

HEX waarde sturen naar TCPIP device

Post by labium »

Code: Select all

Sub Main()
hs.OpenComPort 7,"4800,O,8,1",1,"",""
'hs.SendToComPort 7, rolluik zolder rechts dicht
hs.SendToComport 7, chr(&H7F) &chr(&HF2) &chr(&HFA) &chr(&H01) &chr(&H00) &chr(&H00) &chr(&HA4) &chr(&H78) &chr(&HFA) &chr(&HF4) &chr(&HFD) &chr(&H06) &chr(&H73)       
hs.CloseComPort 7   
End Sub


User avatar
esschenk
Member
Member
Posts: 426
Joined: Sun Feb 17, 2008 10:34 pm
Location: Netherlands
Contact:

Re: HEX waarde sturen naar TCPIP device

Post by esschenk »

Hallo,

Dank voor de reactie's

Het probleem is dat de com poort elke keer stopt dus het sturen naar een compoort werkt niet lekker.
De oplossing van menno is wat ik zoek.
Menno kun je uitleggen hoe ik de wiznet aan Homeseer moet koppelen
(De Wiznet moet je zo instellen dat hij verbinding maakt met het IP-adres van Homeseer waar je dit script runt.)

Alvast bedankt

Ed
Menno
Member
Member
Posts: 179
Joined: Thu May 22, 2008 10:46 pm
Location: Netherlands

Re: HEX waarde sturen naar TCPIP device

Post by Menno »

Hoi Ed,

In de handleiding van de Wiznet staat dat je deze op Client, Server of Mixed mode kunt instellen. Ik neem aan dat je hem dan op Server moet configureren en daarbij het IP adres van de computer waar Homeseer met het script draait. Het script is een TCP client, dus volgens mij moet het dan zo werken.

mvg,
Menno
Post Reply

Return to “Homeseer Scripts Forum”