Ok j'ai trouvé la solution !! Le wake on lan est désormais fonctionnel ! (testé avec le bouton wol et avec l'affectation de masses, postes arrêtés)
En fait en regardant avec wireshark, le serveur ocs envoyait vers 255.255.255.255 au lieu de l'adresse ip du poste.
Il suffisait de modifier la ligne suivante dans le fichier function_wol.php
socket_sendto($s, $this->pacquet($mac), strlen($this->pacquet($mac)), 0, "255.255.255.255", $v);
est devenu
socket_sendto($s, $this->pacquet($mac), strlen($this->pacquet($mac)), 0, $ip, $v);
Attention il faut bien que la variable soit déclarée : public function wake($mac,$ip)
J'ai proposé la modif sur le github d'ocs.