import art.library.model.devices.Device; import art.library.model.devices.DeviceStatus; import art.library.model.devices.meteo.status.MeteoStatusSensor; import com.kitfox.svg.SVGDiagram; public class DeviceGraphicsRuntime_Meteo_18 extends DeviceGraphicsRuntime { public DeviceGraphicsRuntime_Meteo_18(art.library.model.devices.Device device, SVGDiagram diagram) { super(device, diagram); } public void timer() { } public void status() { try { art.library.model.devices.Device device = getDevice(); String color1 = "#000000"; String color2 = "#000000"; art.library.model.devices.meteo.MeteoStatus status = (art.library.model.devices.meteo.MeteoStatus) device.getDeviceStatus(); art.library.model.devices.meteo.MeteoAlarms alarms = (art.library.model.devices.meteo.MeteoAlarms) device.getDeviceAlarms(); switch (device.getDeviceStatus().status) { case art.library.model.devices.DeviceStatus.STATUS_ONLINE: color1 = "#00FF00"; color2 = "#007C00"; break; case art.library.model.devices.DeviceStatus.STATUS_WARNING: color1 = "#FFFF00"; color2 = "#7C7C00"; break; case art.library.model.devices.DeviceStatus.STATUS_ALARM: if (alarms.hasAlarmNoWeather() == true) { color1 = "#FF0000"; color2 = "#7C0000"; } else { color1 = "#00FF00"; color2 = "#007C00"; } break; case art.library.model.devices.DeviceStatus.STATUS_INVALID: color1 = "#B97A57"; color2 = "#5A3B2A"; break; case art.library.model.devices.DeviceStatus.STATUS_DISABLE: color1 = "#7C7C7C"; color2 = "#3E3E3E"; break; case art.library.model.devices.DeviceStatus.STATUS_SIMULATION: color1 = "#0000FF"; color2 = "#00007C"; break; case art.library.model.devices.DeviceStatus.STATUS_OFFLINE: color1 = "#FF00FF"; color2 = "#7C007C"; break; case art.library.model.devices.DeviceStatus.STATUS_UNKNOWN: color1 = "#FF00FF"; color2 = "#7C007C"; break; } setAttribute("Present weather clear", "display", "none"); setAttribute("Present weather wind", "display", "none"); setAttribute("Present weather fog", "display", "none"); setAttribute("Present weather rain", "display", "none"); setAttribute("Present weather snow", "display", "none"); setAttribute("Present weather snow and rain", "display", "none"); setAttribute("Present weather unknown", "display", "none"); if (alarms.hasAlarmWeather() == true) { setAttribute("Aura", "display", "inline"); setAttribute("Aura", "fill", "#FF0000"); } else { setAttribute("Aura", "display", "none"); } setAttribute("Background", "fill", color1); setAttribute("Border", "stroke", color2); setText("Information text", String.format("%1$04d", device.getDeviceInformation().number)); switch (status.getPresentWeather()) { case art.library.model.devices.meteo.status.MeteoStatusSensor.VALUE_PRESENT_WEATHER_CLEAR: setAttribute("Present weather clear", "display", "inline"); setAttribute("Present weather clear", "fill", color2); break; case art.library.model.devices.meteo.status.MeteoStatusSensor.VALUE_PRESENT_WEATHER_WIND: setAttribute("Present weather wind", "display", "inline"); setAttribute("Present weather wind", "fill", color2); break; case art.library.model.devices.meteo.status.MeteoStatusSensor.VALUE_PRESENT_WEATHER_FOG: setAttribute("Present weather fog", "display", "inline"); setAttribute("Present weather fog", "fill", color2); break; case art.library.model.devices.meteo.status.MeteoStatusSensor.VALUE_PRESENT_WEATHER_RAIN: setAttribute("Present weather rain", "display", "inline"); setAttribute("Present weather rain", "fill", color2, 1); break; case art.library.model.devices.meteo.status.MeteoStatusSensor.VALUE_PRESENT_WEATHER_SNOW_RAIN: setAttribute("Present weather snow and rain", "display", "inline"); setAttribute("Present weather snow and rain", "fill", color2); break; case art.library.model.devices.meteo.status.MeteoStatusSensor.VALUE_PRESENT_WEATHER_SNOW: setAttribute("Present weather snow", "display", "inline"); setAttribute("Present weather snow", "fill", color2); break; } setText("Information temperature", ""); setText("Information humidity", ""); setText("Information wind", ""); setText("Information visibility", ""); setText("Information rain", ""); setText("Information temperature", status.getSensorAverageValueText(art.library.model.devices.meteo.status.MeteoStatusSensor.TYPE_AIR_TEMPERATURE)); setText("Information humidity", status.getSensorAverageValueText(art.library.model.devices.meteo.status.MeteoStatusSensor.TYPE_AIR_HUMIDITY)); setText("Information wind", status.getSensorAverageValueText(art.library.model.devices.meteo.status.MeteoStatusSensor.TYPE_WIND_SPEED)); setText("Information visibility", status.getSensorAverageValueText(art.library.model.devices.meteo.status.MeteoStatusSensor.TYPE_VISIBILITY)); setText("Information rain", status.getSensorAverageValueText(art.library.model.devices.meteo.status.MeteoStatusSensor.TYPE_RAIN_INTENSITY)); } catch (Exception exception) { exception.printStackTrace(); } } }