Minha abordagem usual para a escrita de regras do udev é encontrar algo semelhante ao que eu preciso em /lib/udev
e complementá-lo com uma pesquisa no google ou uma rápida olhada nas páginas do manual.
Para o seu caso, a maior parte do mojo pode ser encontrada em /lib/udev/rules.d/60-persistent-storage.rules
. Eu criei esta regra:
ACTION=="add", SUBSYSTEM=="block", ENV{ID_SERIAL}=="XXXXXXXX", PROGRAM="/opt/bin/myscript $env{ID_SERIAL}"
Você precisaria de uma regra para cada unidade e seu script recebe a serial do inversor como um parâmetro.
Estou usando apenas a serial da unidade aqui, isso deve ser suficiente, mas você pode reconstruir toda a ID como visto em /dev/disk/by-id
com essa string:
$env{ID_BUS}-$env{ID_SERIAL}
Para verificar o número de série da unidade, você pode usar:
udevadm info -n /dev/disk/by-id/XXXXXXXX | grep -i SERIAL