Hente data fra DEVICE via websocket
Hejsa.Jeg håber på lidt hjælp til udtræk af data fra en wifi-dims. Normalt klarer jeg det med CURL(), men i det pågældende setup skal adgangen ske via "websocket".
Godkendelse sker via JSON-data - det samme med hentning af data.
Jeg har fået nogle informationer:
websocket: wss://658608ab.in.larnitech.com:8443/api
Godkendelse: {"request": "authorize", "key": "999999999999"}
Og så jeg eksempler på forskellige forespørgsler, fx
Hent liste af devices: {"request":"getDevices"}
Dermed skal jeg både have sendt godkendelsen afsted, men også den ønskede forespørgsel.
Jeg har kigget lidt på nettet og kommet frem til nedenstående kode, men mangler at få medtaget min forespørgsel. Og så synes jeg, der er gentagelser i headeren, men sikkert også noget, der ikke passer.
Jeg kan ikke rigtigt komme videre.
$host = 'wss://658608ab.in.larnitech.com:8443/api';
$port = -1; //Benyttes hvis portnr. ikke anvendes
$local = 'https://mitdomaene.dk';
$login = [
'request' => 'authorize',
'key' => $key
];
$login=json_encode($login);
$data = [
'request' => 'getDevices'
];
$data=json_encode($data);
$head = "GET / HTTP/1.1"."\r\n".
"Upgrade: WebSocket"."\r\n".
"Connection: Upgrade"."\r\n".
"Origin: $local"."\r\n".
"Host: $host"."\r\n".
"Sec-WebSocket-Version: 13"."\r\n".
"Sec-WebSocket-Key: $key"."\r\n".
"Content-Length: ".strlen($login)."\r\n"."\r\n";
$sock = fsockopen($host, $port, $errno, $errstr, 30);