Gut. Dann bietet sich ein anderer Ansatz an:
switch case ist quasi ein if mit beliebig vielen Ausgängen.
Code:
rule "usv Meldung1" when Item SNMP_Status_APC changed or Time cron "0 * * * * ?" then if (SNMP_Status_APC.state instanceof Number) { switch (SNMP_Status_APC.state as Number) { case 1 : local_USV_Status.sendCommand("Unbekannt") case 2 : local_USV_Status.sendCommand("On Line") case 3 : local_USV_Status.sendCommand("Batterie Betrieb") case 4 : local_USV_Status.sendCommand("on Smart Boost") case 5 : local_USV_Status.sendCommand("Timed Sleeping") case 6 : local_USV_Status.sendCommand("Software Bypass") case 7 : local_USV_Status.sendCommand("Aus") case 8 : local_USV_Status.sendCommand("Neustart") case 9 : local_USV_Status.sendCommand("Switched Bypass") case 10 : local_USV_Status.sendCommand("Hardware Failure Bypass") case 11 : local_USV_Status.sendCommand("Sleeping Until Power Returns") case 12 : local_USV_Status.sendCommand("On Smart Trim") default : logInfo ("usv1","unbekannter Status: {}",SNMP_Status_APC.state) } } else logInfo ("usv1","Status nicht initialisiert!") end
Kommentar