Ähnliche Vorhaben wurden von mir schon mehrmals realisiert, u.A. mit Can-Bus, per Funk und über Datenleitung (RS485-ähnlich).
Ein Master fragt zyklisch den Status aller Slaves ab (Eingangs-Zustände, Batterie-Ladung, etc.). Antwortet ein Slave innerhalb einer TimeOut-Zeit nicht, gibt es Alarm.
Das Datenprotokoll ist relativ einfach: StartByte, Slave-Adresse und Kommando (z.B. 1 = Status abfragen, 2 = Ausgänge mit folgendem Datenbyte setzen, 3 = ....)
Die Antwort ist ebenso einfach: Slave-Adresse, Status und / oder je nach Kommando noch Daten.
Ein bestimmter Slave kann dazu 'verdonnert' werden, wenn er innerhalb einer TimeOut-Zeit nicht abgefragt wird, den Job des Masters zu übernehmen. Dieser Slave-Master muß den Datenverkehr 'abhorchen' und registrieren, damit er im Einsatzfall Bescheid weis.