Skip to end of metadata
Go to start of metadata

$response = msudp_send_mem($msno, $udpport, $prefix, (string) $sendString);

$response = msudp_send_mem($msno, $udpport, $prefix, (array) $keysAndValues);


Sends one or multiple values to the specified Loxone Miniserver via UDP. The function automatically saves the last state and only sends values that have changed.

LoxBerry Compatibility

This feature first is available with LoxBerry 1.2.5. Set your LB_MINIMUM version in your plugin.cfg accordingly.

Please see the documentation of msudp_send for parameters. Parameters and return values are fully compatible to this function.

The difference to the msudp_send function is that it remembers recently sent values, and does not re-send non-changed values.

That memory is kept on RAM disk - therefore the memory works not only during a single runtime, but also over several calls that init new processes every time (e.g. calls from the webinterface, or calls from a cronjob).

The function uses different mechanisms to check, if it should exceptionally send all values, not only the diff:

  • After a LoxBerry reboot, the memory file on the RAM disk is empty → Every new incoming parameter and value is sent
  • loxberry_io.php defines a global variable $mem_sendall_sec that defaults to 3600 seconds (1 hour). A call after 1 hour will clear the cache and all values will be re-sent.
  • loxberry_io.php checks the Miniserver after at least 5 minutes if it possibly was rebooted. If so, the cache is cleared too and every value is sent again.

Special parameters

These parameters are shared for mshttp_send_mem and msudp_send_mem.

// Set this variable directly before the function call to override the cache and exceptionally submit ALL values.
// After every function call, the function resets this value to 0.
$mem_sendall = 1;

// Change the setting after what time (seconds) the cache should be cleared and all values should be sent.
// Default value is 3600.
$mem_sendall_sec = 7200;

// IMPORTANT: If you try to set this variable inside of a function, you need to define the variables as global in that function.
  • No labels