diff --git a/rules/Dienste.rules b/rules/Dienste.rules index 0cbf8e2..b49c500 100644 --- a/rules/Dienste.rules +++ b/rules/Dienste.rules @@ -1,13 +1,21 @@ -rule "DWD Warnungen" +rule "Abruf Dienste" when - //Time cron "0 */30 * ? * *" //every 30 Minutes - Time cron "0 * * ? * *" //every 1 Minute + // Time cron "0 * * ? * *" or + Time cron "0 0 19 ? * MON-FRI" or + Time cron "0 0 7 ? * SAT,SUN" then - logInfo("HTTPGET", "Abfragr Erfolgt") + logInfo("HTTPGET", "Abfrage Erfolgt") + sendPushoverMessage(pushoverBuilder("Abfrage Erfolgt").withSound("siren").withUser("u8s32g4yym8xbk7yqn66cokjys13mf")) var String jsonString = sendHttpGetRequest("https://fms.ffhstm.de/dienste_lesen_json.php") postUpdate(FFDienstZVD,transform("JSONPATH", "$.DIENSTE.C", jsonString)) postUpdate(FFDienstIUK2,transform("JSONPATH", "$.DIENSTE.D", jsonString)) - // postUpdate(FFDienstIUK3,transform("JSONPATH", "$.DIENSTE.F", jsonString)) postUpdate(FFDienstIUK3,transform("JSONPATH", "$.DIENSTE.E", jsonString)) + var String IUKN = transform("JSONPATH", "$.DIENSTE.F", jsonString) + if (!IUKN.contains("DIENSTE")) { + postUpdate(FFDienstIUKN,IUKN) + } else { + postUpdate(FFDienstIUKN,"") + } + postUpdate(FFSperrungen,transform("JSONPATH", "$.SPERRUNG", jsonString)) end diff --git a/rules/FFRAlarm.rules b/rules/FFRAlarm.rules index 46c5377..19f782f 100644 --- a/rules/FFRAlarm.rules +++ b/rules/FFRAlarm.rules @@ -2,7 +2,7 @@ import java.util.concurrent.locks.ReentrantLock var ReentrantLock lockState = new ReentrantLock() var Timer FFAlarmTimer = null -rule "FFAlarmRuleJSON" +rule "Auswertung Alarm JSON" when Item FFAlarmJSON changed then @@ -38,31 +38,59 @@ then postUpdate(FFAlarmTrigger,transform("JSONPATH","$.AlarmTrigger",FFAlarmJSON.state.toString)) end -rule "FFAlarmTrigger OF" +rule "FFR Alarm Logik" when Item FFAlarmTrigger changed to ON then - postUpdate(FHZPush,"ON") - postUpdate(REMCAM001Record,"ON") - postUpdate(REMCAM002Record,"ON") - FFAlarmTimer = createTimer(now.plusMinutes(60)) [| - postUpdate(FFAlarmTrigger,"OFF") - postUpdate(FHZPush,"OFF") - postUpdate(REMCAM001Record,"OFF") - postUpdate(REMCAM002Record,"OFF") - FFAlarmTimer.cancel() - FFAlarmTimer = null - ] + if (FFRAlarmTimer === null) { + postUpdate(FFAlarmView,"ON") + postUpdate(FHZPush,"ON") + postUpdate(REMCAM001Record,"ON") + postUpdate(REMCAM002Record,"ON") + FFAlarmTimer = createTimer(now.plusMinutes(60)) [| + postUpdate(FFAlarmTrigger,"OFF") + postUpdate(FHZPush,"OFF") + postUpdate(REMCAM001Record,"OFF") + postUpdate(REMCAM002Record,"OFF") + FFAlarmTimer.cancel() + FFAlarmTimer = null + ] + } end -rule "FFAlarmTrigger OF" +rule "FFAlarmTrigger OFF" when Item FFAlarmTrigger changed to OFF then postUpdate(FHZPush,"OFF") + postUpdate(FFAlarmView,"OFF") end -rule "Fahrzeug Status 3" +rule "Alarmschleifen Auswertung" +when + Item FFAlarmSchleife received update +then + logInfo("Alarmschleife", "Alarmschleife wurde aktualisiert") + switch(FFAlarmSchleife.state.toString) { + case "57459": { + logInfo("Alarmschleife", "Vollalarm Rembrücken und Heusenstamm") + postUpdate(FFAlarmTrigger,"ON") + sendPushoverMessage(pushoverBuilder("Vollalarm Rembrücken und Heusenstamm").withSound("siren").withPriority(1)) + } + case "57449": { + logInfo("Alarmschleife", "Einsatz für den ELW") + postUpdate(FFAlarmTrigger,"ON") + sendPushoverMessage(pushoverBuilder("Einsatz für den ELW").withSound("siren").withPriority(1)) + } + case "57455": { + logInfo("Alarmschleife", "Vollalarm Rembrücken") + postUpdate(FFAlarmTrigger,"ON") + sendPushoverMessage(pushoverBuilder("Vollalarm Rembrücken").withSound("siren").withPriority(1)) + } + } +end + +rule "Push Fahrzeugstatus" when Member of gFHZ changed then @@ -73,14 +101,18 @@ if (!lockState.isLocked) { logInfo("Testing","gNetwork received update") val member = gFHZ.members.filter[d | d.lastUpdate("jdbc") !== null].sortBy[lastUpdate("jdbc")].last val name = member.label.toString - if (FFAlarmTrigger.state == ON && FHZPush.state == ON && member.state.toString == "3") { + if (FFAlarmTrigger.state == ON && member.state.toString == "3") { logInfo("GroupTest", "Member "+ name +" to " + member.state ) - sendPushoverMessage(pushoverBuilder(name + " ist aus zur E-Stelle").withSound("siren").withUser("upgb55kps8rx2xotn7dvdg3w2yjpt6")) + if (FHZPush.state == ON && member.state.toString == "3") { + sendPushoverMessage(pushoverBuilder(name + " ist aus zur E-Stelle").withSound("siren").withUser("upgb55kps8rx2xotn7dvdg3w2yjpt6")) + } sendPushoverMessage(pushoverBuilder(name + " ist aus zur E-Stelle").withSound("siren").withUser("u8s32g4yym8xbk7yqn66cokjys13mf")) } - if (FFAlarmTrigger.state == ON && FHZPush.state == ON && member.state.toString == "4") { + if (FFAlarmTrigger.state == ON && member.state.toString == "4") { logInfo("GroupTest", "Member "+ name +" to " + member.state ) - sendPushoverMessage(pushoverBuilder(name + " an der E-Stelle angekommen").withSound("siren").withUser("upgb55kps8rx2xotn7dvdg3w2yjpt6")) + if (FHZPush.state == ON && member.state.toString == "4") { + sendPushoverMessage(pushoverBuilder(name + " an der E-Stelle angekommen").withSound("siren").withUser("upgb55kps8rx2xotn7dvdg3w2yjpt6")) + } sendPushoverMessage(pushoverBuilder(name + " an der E-Stelle angekommen").withSound("siren").withUser("u8s32g4yym8xbk7yqn66cokjys13mf")) } } finally { diff --git a/sitemaps/default.sitemap b/sitemaps/default.sitemap index bcf1851..7733696 100644 --- a/sitemaps/default.sitemap +++ b/sitemaps/default.sitemap @@ -1,24 +1,24 @@ sitemap default label="Feuerwehr Rembrücken" { Frame label="ALARM" { - Switch item=FFAlarmTrigger label="Alarminfos" mappings=[ON="Anzeigen", OFF="VERSTECKEN"] - Text label="Einsatzdaten" icon="alarm" visibility=[FFAlarmTrigger==ON] { - Text item=FFAlarmEinsatznummer icon="alarm" visibility=[FFAlarmEinsatznummer!=NULL] - Text item=FFAlarmAlarmierungszeit icon="alarm" visibility=[FFAlarmAlarmierungszeit!=NULL] - Text item=FFAlarmStichwort icon="alarm" visibility=[FFAlarmStichwort!=NULL] - Text item=FFAlarmStrasse icon="alarm" visibility=[FFAlarmStrasse!=NULL] - Text item=FFAlarmOrt icon="alarm" visibility=[FFAlarmOrt!=NULL] - Text item=FFAlarmOrtsteil icon="alarm" visibility=[FFAlarmOrtsteil!=NULL] - Text item=FFAlarmMeldebild icon="alarm" visibility=[FFAlarmMeldebild!=NULL] - Text item=FFAlarmBemerkung icon="alarm" visibility=[FFAlarmBemerkung!=NULL] - Text item=FFAlarmObjekt icon="alarm" visibility=[FFAlarmObjekt!=NULL] - Text item=FFAlarmEStelleZusatz icon="alarm" visibility=[FFAlarmEStelleZusatz!=NULL] - Text item=FFAlarmEStelleBem icon="alarm" visibility=[FFAlarmEStelleBem!=NULL] - Mapview item=FFAlarmKoordinate icon="alarm" visibility=[FFAlarmKoordinate!=NULL] - Text item=FFAlarmMeldender icon="alarm" visibility=[FFAlarmMeldender!=NULL] - Text item=FFAlarmEinsatzmittel icon="alarm" visibility=[FFAlarmEinsatzmittel!=NULL] + Switch item=FFAlarmView label="Alarminfos" mappings=[ON="Anzeigen", OFF="VERSTECKEN"] + Text label="Einsatzdaten" icon="alarm" visibility=[FFAlarmView==ON] { + Text item=FFAlarmEinsatznummer icon="alarm" visibility=[FFAlarmEinsatznummer!=" "] + Text item=FFAlarmAlarmierungszeit icon="alarm" visibility=[FFAlarmAlarmierungszeit!=" "] + Text item=FFAlarmStichwort icon="alarm" visibility=[FFAlarmStichwort!=" "] + Text item=FFAlarmStrasse icon="alarm" visibility=[FFAlarmStrasse!=" "] + Text item=FFAlarmOrt icon="alarm" visibility=[FFAlarmOrt!=" "] + Text item=FFAlarmOrtsteil icon="alarm" visibility=[FFAlarmOrtsteil!=" "] + Text item=FFAlarmMeldebild icon="alarm" visibility=[FFAlarmMeldebild!=" "] + Text item=FFAlarmBemerkung icon="alarm" visibility=[FFAlarmBemerkung!=" "] + Text item=FFAlarmObjekt icon="alarm" visibility=[FFAlarmObjekt!=" "] + Text item=FFAlarmEStelleZusatz icon="alarm" visibility=[FFAlarmEStelleZusatz!=" "] + Text item=FFAlarmEStelleBem icon="alarm" visibility=[FFAlarmEStelleBem!=" "] + Mapview item=FFAlarmKoordinate icon="alarm" visibility=[FFAlarmKoordinate!=" "] + Text item=FFAlarmMeldender icon="alarm" visibility=[FFAlarmMeldender!=" "] + Text item=FFAlarmEinsatzmittel icon="alarm" visibility=[FFAlarmEinsatzmittel!=" "] } // Close Text Einsatzdaten - Text label="Fahrzeuge Anfahrt" icon="fire_truck" visibility=[FFAlarmTrigger==ON] { + Text label="Fahrzeuge Anfahrt" icon="fire_truck" visibility=[FFAlarmView==ON] { Text item=FFStatus67641319 label="MTF 1 (3-19-1) [MAP(status.map):%s]" icon="" visibility=[FFStatus67641319==3] Text item=FFStatus67641317 label="MTF 2 (3-19-2) [MAP(status.map):%s]" icon="" visibility=[FFStatus67641317==3] Text item=FFStatus67641342 label="LF 8/6-1 (3-42-1) [MAP(status.map):%s]" icon="" visibility=[FFStatus67641342==3] @@ -33,7 +33,7 @@ sitemap default label="Feuerwehr Rembrücken" { Text item=FFStatus67641259 label="GW-U (2-59-1) [MAP(status.map):%s]" icon="" visibility=[FFStatus67641259==3] Text item=FFStatus67641272 label="GW-N (2-64-1) [MAP(status.map):%s]" icon="" visibility=[FFStatus67641272==3] } - Text label="Fahrzeuge E-Stelle" icon="fire_truck" visibility=[FFAlarmTrigger==ON] { + Text label="Fahrzeuge E-Stelle" icon="fire_truck" visibility=[FFAlarmView==ON] { Text item=FFStatus67641319 label="MTF 1 (3-19-1) [MAP(status.map):%s]" icon="" visibility=[FFStatus67641319==4] Text item=FFStatus67641317 label="MTF 2 (3-19-2) [MAP(status.map):%s]" icon="" visibility=[FFStatus67641317==4] Text item=FFStatus67641342 label="LF 8/6-1 (3-42-1) [MAP(status.map):%s]" icon="" visibility=[FFStatus67641342==4] @@ -48,7 +48,7 @@ sitemap default label="Feuerwehr Rembrücken" { Text item=FFStatus67641259 label="GW-U (2-59-1) [MAP(status.map):%s]" icon="" visibility=[FFStatus67641259==4] Text item=FFStatus67641272 label="GW-N (2-64-1) [MAP(status.map):%s]" icon="" visibility=[FFStatus67641272==4] } - Switch item=FHZPush label="Fahrzeug Push" visibility=[FFAlarmTrigger==ON] + Switch item=FHZPush label="Fahrzeug Push" visibility=[FFAlarmView==ON] } Frame label="Status Informationen" { Text label="StBI" icon="man_1" { @@ -84,6 +84,7 @@ sitemap default label="Feuerwehr Rembrücken" { Text item=FFDienstZVD Text item=FFDienstIUK2 Text item=FFDienstIUK3 + Text item=FFDienstIUKN visibility=[FFDienstIUKN!=""] } Text label="Straßensperrung" icon="road_closed" { Text item=FFSperrungen