You can not access a request's internal IP with PHP. Maybe you can configure the switch to pass the IP as a parameter in the action URL.
On Sun, Mar 20, 2022 at 6:03 PM Hans Åhlin <ahlin.hans@xxxxxxxxxxxxxx> wrote:
'SERVER_ADDR'The IP address of the server under which the current script is executing.MvH / Hans Åhlin
Den sön 20 mars 2022 23:00Hans Åhlin <ahlin.hans@xxxxxxxxxxxxxx> skrev:'SERVER_ADDR'The IP address of the server under which the current script is executing.Den sön 20 mars 2022 08:46Bo Berglund <bo.berglund@xxxxxxxxx> skrev:I have a script on my website, which is used to report (by email) state changes
in home automation power switches.
It is done by configuring the power switch with an "action URL" to be hit when a
switch changes state. This works well as far as the switch state reporting goes.
But I would like to also get the *internal LAN* IP address of the power switch
device in my report so I can find it on the network. The IP changes when I move
it between my locations...
After googling a bit I have found this code snippet:
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
But when I use it in my reporting I am always getting the external Internet IP
address of my router instead of the IP of the power switch.
How can I extract the original device's local LAN IP address from which the call
was sent?
--
Bo Berglund
Developer in Sweden