Definition: publish("topic", arg1 [, arg2 ...]) — Allowed: string literal topic and string/numeric args; Not allowed: non-literal topic.
Sends data to the firmware’s publish hook. With one argument it sends a single value; with multiple arguments it auto-builds JSON: alternating string/value pairs become object fields, and unlabeled values become an array.
Special string markers in publish payloads are resolved at send-time: "$NAME", "$MACADDR", "$IPADDR".
// Single value
publish("plc/temp", temp());
// Key/value JSON
publish("status", "pressure", ain(1), "battery", ain(2));
// Device identity markers (quoted strings)
publish("status", "name", "$NAME", "mac", "$MACADDR", "ip", "$IPADDR");
// Array payload
publish("vals", ain(1), ain(2), ain(3));