Hallo,
ich hab seit neuesten eine NetIO4 Steckdosenleiste für meinen Serverschrank, die sich mittels CGI schalten lässt.
Ich verwende zum Ansprechen der Steckdosenleiste, das TCP Makro aus dem Forum (natürlich auf meine Situation adaptiert):
Leider bekomme ich immer einen ReturnCode 2 (== Error bei P02_connectionState) wenn der eibPC versucht, mit netIO4ID_connectionState = connecttcp(netIO4ID_connPort,netIO4ID_connIP) eine Verbindung aufzubauen.
Meine Variablenbelegung sieht folgendermaßen aus:
eibpc_variablen.png
Wenn ich im Firefox die URL http://192.168.1.11/event?pass=password&port=1111 aufrufe bekomme ich einen ReturnCode 200 OK zurück und die NetIO4 schaltet wie gewünscht:
netio4_firefox.png
Ich hab leider keine Idee, warum der eibPC sich nicht zur NetIO4 verbinden kann. Wie kann ich das am besten rausfinden bzw. lösen?
Danke im Voraus.
lg, Peter
ich hab seit neuesten eine NetIO4 Steckdosenleiste für meinen Serverschrank, die sich mittels CGI schalten lässt.
Ich verwende zum Ansprechen der Steckdosenleiste, das TCP Makro aus dem Forum (natürlich auf meine Situation adaptiert):
Code:
:begin connectKoukaamNetIO4(netIO4ID, netIOIP, netIOIPString) // Allgemeine Variablen definieren netIO4ID_initConnection = AUS netIO4ID_CRLF = $$ netIO4ID_GET_1 = $$ netIO4ID_GET_2 = $$ netIO4ID_GET_3 = $$ netIO4ID_GET_4 = $$ netIO4ID_GET_5 = $$ netIO4ID_GET_6 = $$ netIO4ID_connString = $$ netIO4ID_connIP = netIOIP netIO4ID_connIPString = netIOIPString netIO4ID_connPort = 80u16 netIO4ID_connectionCommand = $$ netIO4ID_connectionCommandType = $$ netIO4ID_isConnectionInitialized=AUS netIO4ID_connectionState = 6u08 netIO4ID_isConnected=AUS netIO4ID_isConnectionClosed=AUS netIO4ID_aboutToSend=AUS if after(systemstart(), 300u64) then { stringset(netIO4ID_CRLF, 0x0A0Du16, 0u16); netIO4ID_connectionCommand = $1000$; netIO4ID_connectionCommandType = $POST$; netIO4ID_isConnectionInitialized=AUS; netIO4ID_isConnected=AUS; netIO4ID_isConnectionClosed=AUS; } endif // TCP Message für Abfrage if change(netIO4ID_connectionCommand) then { netIO4ID_GET_1 = netIO4ID_connectionCommandType + $ /event?pass=password&port=$ + netIO4ID_connectionCommand + $ HTTP/1.0$ + netIO4ID_CRLF; netIO4ID_GET_2 = $User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0$ + netIO4ID_CRLF; netIO4ID_GET_3 = $Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8$ + netIO4ID_CRLF; netIO4ID_GET_4 = $Host: $ + netIO4ID_connIPString + netIO4ID_CRLF; netIO4ID_GET_5 = $Connection: keep-alive$ + netIO4ID_CRLF; netIO4ID_GET_6 = $Accept-Encoding: gzip, deflate$ + netIO4ID_CRLF + netIO4ID_CRLF; netIO4ID_connString = netIO4ID_GET_1 + netIO4ID_GET_2 + netIO4ID_GET_3 + netIO4ID_GET_4 + netIO4ID_GET_5 + netIO4ID_GET_6; netIO4ID_isConnectionInitialized=EIN; netIO4ID_aboutToSend=AUS; netIO4ID_isConnected=AUS; } endif if after(netIO4ID_isConnectionInitialized==EIN, 300u64) then { netIO4ID_isConnected=EIN; netIO4ID_isConnectionInitialized=AUS; netIO4ID_connectionState = connecttcp(netIO4ID_connPort,netIO4ID_connIP); } endif // TCP Nachricht senden if delay(netIO4ID_isConnected==EIN, 500u64) and netIO4ID_connectionState == 0u08 then { netIO4ID_aboutToSend=EIN; netIO4ID_isConnectionClosed=EIN; sendtcparray(netIO4ID_connPort, netIO4ID_connIP, netIO4ID_connString, size(netIO4ID_connString)); } endif if netIO4ID_isConnectionClosed == EIN then { netIO4ID_isConnectionInitialized = AUS; netIO4ID_isConnected = AUS; netIO4ID_connectionState = 1u08; netIO4ID_isConnectionClosed = AUS; closetcp(netIO4ID_connPort,netIO4ID_connIP); } endif :end
Meine Variablenbelegung sieht folgendermaßen aus:
eibpc_variablen.png
Wenn ich im Firefox die URL http://192.168.1.11/event?pass=password&port=1111 aufrufe bekomme ich einen ReturnCode 200 OK zurück und die NetIO4 schaltet wie gewünscht:
netio4_firefox.png
Ich hab leider keine Idee, warum der eibPC sich nicht zur NetIO4 verbinden kann. Wie kann ich das am besten rausfinden bzw. lösen?
Danke im Voraus.
lg, Peter
Kommentar