Sicherung aktueller Dateien

This commit is contained in:
Patrick Niebeling
2022-09-29 17:19:30 +02:00
parent f2a79a737b
commit 82ace78a3a
16 changed files with 119 additions and 40 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
icons/headphones.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,2 +0,0 @@
Switch REMCAM001Record "Aufzeichnung Starten" (gHistory) { http="<[http://10.112.30.31/control/control?read&section=recording&recording_activ{Authorization=Basic YWRtaW46cnQ4cWZmOHBwa21hODJienhxMnZjeTNtMw==}:60000:REGEX(recording_activ=(.*))] >[ON:GET:http://10.112.30.31/control/control?set&section=recording&recording_activ=enable{Authorization=Basic YWRtaW46cnQ4cWZmOHBwa21hODJienhxMnZjeTNtMw==}] >[OFF:GET:http://10.112.30.31/control/control?set&section=recording&recording_activ=disable{Authorization=Basic YWRtaW46cnQ4cWZmOHBwa21hODJienhxMnZjeTNtMw==}]" }
Switch REMCAM002Record "Aufzeichnung Starten" (gHistory) { http="<[http://10.112.30.32/control/control?read&section=recording&recording_activ{Authorization=Basic YWRtaW46cGRncWE2MnY0ZjRiZDl0cm12cDd6N3Q4OA==}:60000:REGEX(recording_activ=(.*))] >[ON:GET:http://10.112.30.32/control/control?set&section=recording&recording_activ=enable{Authorization=Basic YWRtaW46cGRncWE2MnY0ZjRiZDl0cm12cDd6N3Q4OA==}] >[OFF:GET:http://10.112.30.32/control/control?set&section=recording&recording_activ=disable{Authorization=Basic YWRtaW46cGRncWE2MnY0ZjRiZDl0cm12cDd6N3Q4OA==}]" }

View File

@ -5,7 +5,7 @@ when
Time cron "0 0 7 ? * SAT,SUN"
then
logInfo("HTTPGET", "Abfrage Erfolgt")
sendPushoverMessage(pushoverBuilder("Abfrage Erfolgt").withSound("siren").withUser("u8s32g4yym8xbk7yqn66cokjys13mf"))
NotificationPatrickPushover.sendCommand("Abfrage Erfolgt")
var String jsonString = sendHttpGetRequest("https://fms.ffhstm.de/dienste_lesen_json.php")
postUpdate(FFDienstZVD,transform("JSONPATH", "$.DIENSTE.C", jsonString))
postUpdate(FFDienstIUK2,transform("JSONPATH", "$.DIENSTE.D1", jsonString))

View File

@ -47,15 +47,11 @@ then
postUpdate(FHZPush,"ON")
REMWEBIO001_Ausgang5.sendCommand(ON)
REMWEBIO001_Ausgang6.sendCommand(ON)
// postUpdate(REMCAM001Record,"ON")
// postUpdate(REMCAM002Record,"ON")
sendHttpGetRequest("http://admin:rt8qff8ppkma82bzxq2vcy3m3@10.112.30.31/control/rcontrol?action=sound&soundfile=q96_feuer2&speakerlevel=30")
sendHttpGetRequest("http://admin:pdgqa62v4f4bd9trmvp7z7t88@10.112.30.32/control/rcontrol?action=sound&soundfile=q96_feuer2&speakerlevel=30")
FFAlarmTimer = createTimer(now.plusMinutes(60)) [|
postUpdate(FFAlarmTrigger,"OFF")
postUpdate(FHZPush,"OFF")
// postUpdate(REMCAM001Record,"OFF")
// postUpdate(REMCAM002Record,"OFF")
FFAlarmTimer.cancel()
FFAlarmTimer = null
]
@ -68,8 +64,6 @@ when
then
postUpdate(FHZPush,"OFF")
postUpdate(FFAlarmView,"OFF")
// postUpdate(REMCAM001Record,"OFF")
// postUpdate(REMCAM002Record,"OFF")
end
rule "Alarmschleifen Auswertung"
@ -83,27 +77,27 @@ then
case "57459": {
logInfo("Alarmschleife", "Vollalarm Rembrücken und Heusenstamm")
postUpdate(FFAlarmTrigger,"ON")
sendPushoverMessage(pushoverBuilder("Vollalarm Rembrücken und Heusenstamm").withSound("siren").withPriority(1).withUser("upgb55kps8rx2xotn7dvdg3w2yjpt6"))
NotificationIPAD3Pushover.sendCommand("Vollalarm Rembrücken und Heusenstamm")
// telegramActionProd.sendTelegram("Alarmschleife hat ausgelöst: Vollalarm Rembrücken und Heusenstamm")
// telegramActionDEV.sendTelegram("Alarmschleife hat ausgelöst: Vollalarm Rembrücken und Heusenstamm")
}
case "57449": {
logInfo("Alarmschleife", "Einsatz für den ELW")
postUpdate(FFAlarmTrigger,"ON")
sendPushoverMessage(pushoverBuilder("Einsatz für den ELW").withSound("siren").withPriority(1).withUser("upgb55kps8rx2xotn7dvdg3w2yjpt6"))
NotificationIPAD3Pushover.sendCommand("Einsatz für den ELW")
// telegramActionProd.sendTelegram("Alarmschleife hat ausgelöst: Einsatz für den ELW")
// telegramActionDEV.sendTelegram("Alarmschleife hat ausgelöst: Einsatz für den ELW")
}
case "57455": {
logInfo("Alarmschleife", "Vollalarm Rembrücken")
postUpdate(FFAlarmTrigger,"ON")
sendPushoverMessage(pushoverBuilder("Vollalarm Rembrücken").withSound("siren").withPriority(1).withUser("upgb55kps8rx2xotn7dvdg3w2yjpt6"))
NotificationIPAD3Pushover.sendCommand("Vollalarm Rembrücken")
// telegramActionProd.sendTelegram("Alarmschleife hat ausgelöst: Vollalarm Rembrücken")
// telegramActionDEV.sendTelegram("Alarmschleife hat ausgelöst: Vollalarm Rembrücken")
}
case "57451": {
logInfo("Alarmschleife", "Vollalarm Heusenstamm")
sendPushoverMessage(pushoverBuilder("Vollalarm Heusenstamm").withSound("siren").withPriority(0).withUser("upgb55kps8rx2xotn7dvdg3w2yjpt6"))
NotificationIPAD3Pushover.sendCommand("Vollalarm Heusenstamm")
}
}
end
@ -122,16 +116,16 @@ if (!lockState.isLocked) {
if (FFAlarmTrigger.state == ON && member.state.toString == "3") {
logInfo("GroupTest", "Member "+ name +" to " + member.state )
if (FHZPush.state == ON && member.state.toString == "3") {
sendPushoverMessage(pushoverBuilder(name + " ist aus zur E-Stelle").withSound("siren").withUser("upgb55kps8rx2xotn7dvdg3w2yjpt6"))
NotificationIPAD3Pushover.sendCommand(name + " ist aus zur E-Stelle")
}
sendPushoverMessage(pushoverBuilder(name + " ist aus zur E-Stelle").withSound("siren").withUser("u8s32g4yym8xbk7yqn66cokjys13mf"))
NotificationPatrickPushover.sendCommand(name + " ist aus zur E-Stelle")
}
if (FFAlarmTrigger.state == ON && member.state.toString == "4") {
logInfo("GroupTest", "Member "+ name +" to " + member.state )
if (FHZPush.state == ON && member.state.toString == "4") {
sendPushoverMessage(pushoverBuilder(name + " an der E-Stelle angekommen").withSound("siren").withUser("upgb55kps8rx2xotn7dvdg3w2yjpt6"))
NotificationIPAD3Pushover.sendCommand(name + " an der E-Stelle angekommen")
}
sendPushoverMessage(pushoverBuilder(name + " an der E-Stelle angekommen").withSound("siren").withUser("u8s32g4yym8xbk7yqn66cokjys13mf"))
NotificationPatrickPushover.sendCommand(name + " an der E-Stelle angekommen")
}
} finally {
lockState.unlock()

View File

@ -8,9 +8,13 @@ end
rule "MTF 1 (3-19-1) - Status 2"
when
Item FFStatus67641319 changed to 2
Item FFStatus67641319 received update
then
if( StartupSwitch.state == ON && FunctioncheckSwitch.state!=ON ) {
logInfo("REMWEBIO001.rules", "Rule MTF 1 (3-19-1) - Status 2 triggered")
logInfo("REMWEBIO001.rules", "StartupSwitch: " + StartupSwitch.state.toString)
logInfo("REMWEBIO001.rules", "FunctioncheckSwitch: " + FunctioncheckSwitch.state.toString)
if( StartupSwitch.state == ON && FFStatus67641319.state == 2) {
logInfo("REMWEBIO001.rules", "Tor 1 öffnen")
REMWEBIO001_Ausgang0.sendCommand(ON)
}
end
@ -25,16 +29,20 @@ end
rule "LF 8/6-1 (3-42-1) - Status 2"
when
Item FFStatus67641342 changed to 2
Item FFStatus67641342 received update
then
if( StartupSwitch.state == ON && FunctioncheckSwitch.state!=ON ) {
logInfo("REMWEBIO001.rules", "Rule LF 8/6-1 (3-42-1) - Status 2 triggered")
logInfo("REMWEBIO001.rules", "StartupSwitch: " + StartupSwitch.state.toString)
logInfo("REMWEBIO001.rules", "FunctioncheckSwitch: " + FunctioncheckSwitch.state.toString)
if( StartupSwitch.state == ON && FFStatus67641342.state == 2) {
logInfo("REMWEBIO001.rules", "Tor 2 öffnen")
REMWEBIO001_Ausgang1.sendCommand(ON)
}
end
rule "Steuerung Tor 3"
when
Item REMWEBIO002_Ausgang2 changed to ON
Item REMWEBIO001_Ausgang2 changed to ON
then
Thread::sleep(1000)
REMWEBIO001_Ausgang2.sendCommand(OFF)
@ -42,9 +50,13 @@ end
rule "LF 8/6-2 (3-42-2) - Status 2"
when
Item FFStatus67641349 changed to 2
Item FFStatus67641349 received update
then
if( StartupSwitch.state == ON && FunctioncheckSwitch.state!=ON ) {
logInfo("REMWEBIO001.rules", "Rule LF 8/6-2 (3-42-2) - Status 2 triggered")
logInfo("REMWEBIO001.rules", "StartupSwitch: " + StartupSwitch.state.toString)
logInfo("REMWEBIO001.rules", "FunctioncheckSwitch: " + FunctioncheckSwitch.state.toString)
if( StartupSwitch.state == ON && FFStatus67641349.state == 2) {
logInfo("REMWEBIO001.rules", "Tor 3 öffnen")
REMWEBIO001_Ausgang2.sendCommand(ON)
}
end
@ -59,10 +71,14 @@ end
rule "MTF 2 (3-19-2) - Status 2"
when
Item FFStatus67641317 changed to 2
Item FFStatus67641317 received update
then
if( StartupSwitch.state == ON && FunctioncheckSwitch.state!=ON ) {
REMWEBIO001_Ausgang4.sendCommand(ON)
logInfo("REMWEBIO001.rules", "Rule MTF 2 (3-19-2) - Status 2 triggered")
logInfo("REMWEBIO001.rules", "StartupSwitch: " + StartupSwitch.state.toString)
logInfo("REMWEBIO001.rules", "FunctioncheckSwitch: " + FunctioncheckSwitch.state.toString)
if( StartupSwitch.state == ON && FFStatus67641317.state == 2 ) {
logInfo("REMWEBIO001.rules", "Tor 4 öffnen")
REMWEBIO001_Ausgang3.sendCommand(ON)
}
end
@ -76,10 +92,14 @@ end
rule "RW1 (3-51-1) - Status 2"
when
Item FFStatus67641351 changed to 2
Item FFStatus67641351 received update
then
if( StartupSwitch.state == ON && FunctioncheckSwitch.state!=ON ) {
REMWEBIO001_Ausgang5.sendCommand(ON)
logInfo("REMWEBIO001.rules", "Rule RW1 (3-51-1) - Status 2 triggered")
logInfo("REMWEBIO001.rules", "StartupSwitch: " + StartupSwitch.state.toString)
logInfo("REMWEBIO001.rules", "FunctioncheckSwitch: " + FunctioncheckSwitch.state.toString)
if( StartupSwitch.state == ON && FFStatus67641351.state == 2) {
logInfo("REMWEBIO001.rules", "Tor 5 öffnen")
REMWEBIO001_Ausgang4.sendCommand(ON)
}
end

View File

@ -6,6 +6,7 @@ when
then
logInfo("SystemStart.rules", "Create timer for Systemstartup & Restore")
StartupTimer = createTimer(now.plusSeconds(30), [|
logInfo("SystemStart.rules", "Set StartupSwitch to ON")
StartupSwitch.postUpdate(ON)
])
end

View File

@ -7,12 +7,13 @@ then
var String newString = transform("JS", "Wetter_DWD_getWarningsJSON.js", jsonString)
if (newString !="NULL") {
var String newStart = transform("JSONPATH", "$.start", newString)
var DateTime timestart = new DateTime(Long::parseLong(newStart))
DWD_Warnung_start.postUpdate(new DateTimeType(timestart.toString))
var DateTimeType timestart = DateTimeType.valueOf(newStart)
DWD_Warnung_start.postUpdate(timestart)
var String newEnd = transform("JSONPATH", "$.end", newString)
if (newEnd !==null) {
var DateTime timeend = new DateTime(Long::parseLong(newEnd))
DWD_Warnung_end.postUpdate(new DateTimeType(timeend.toString))
// var DateTime timeend = new DateTime(Long::parseLong(newEnd))
var DateTimeType timeend = DateTimeType.valueOf(newEnd)
DWD_Warnung_end.postUpdate(timeend)
}
DWD_Warnung_level.postUpdate(transform("JSONPATH","$.level",newString))

View File

@ -18,7 +18,7 @@
# url=jdbc:h2:./testH2
# url=jdbc:hsqldb:./testHsqlDb
# url=jdbc:mariadb://192.168.0.1:3306/testMariadb
url=jdbc:mysql://10.112.30.17:3306/openhab_ffr
url=jdbc:mysql://10.112.30.17:3306/openhab_ffr?serverTimezone=Europe/Berlin
# url=jdbc:postgresql://192.168.0.1:5432/testPostgresql
# url=jdbc:sqlite:./testSqlite.db
# url=
@ -78,4 +78,4 @@ tableUseRealItemNames=true
# T I M E K E E P I N G
# (optional, default: false)
enableLogTime=true
enableLogTime=true

19
services/mysql.cfg Normal file
View File

@ -0,0 +1,19 @@
# the database url like 'jdbc:mysql://<host>:<port>/<database>' (without quotes)
#url=
# the database user
#user=
# the database password
#password=
# the reconnection counter
#reconnectCnt=
# the connection timeout (in seconds)
#waitTimeout=
# Use MySQL Server time to store item values (=false) or use openHAB Server time (=true).
# For new installations, its recommend to set "localtime=true".
# (optional, defaults to false)
#localtime=true

14
services/telegram.cfg Normal file
View File

@ -0,0 +1,14 @@
#
# Read https://www.openhab.org/addons/actions/telegram/#telegram-actions
# to see how to set up bots and find your chat ids
#
# bots=bot1,bot2
# bot1.chatId=22334455
# bot1.token=xxxxxx
# Optional: Either 'Markdown' or 'HTML' see https://core.telegram.org/bots/api#markdown-style
# bot1.parseMode=Markdown
# bot2.chatId=654321
# bot2.token=yyyyyyyyyyy

View File

@ -97,16 +97,22 @@ sitemap default label="Feuerwehr Rembrücken" {
Text label="Straßensperrung" icon="road_closed" {
Text item=FFSperrungen
}
Text item=availability icon=parents_1_1 {
Text item=Available_Gesamt
Text item=Available_Zugfuhrer valuecolor=[<1="red", >=1="green"]
Text item=Available_Gruppenfuhrer valuecolor=[<2="red", >=2="green"]
Text item=Available_Maschinisten valuecolor=[<1="red", >=1="green"]
Text item=Available_PATrager valuecolor=[<4="red", >=4="green"]
Text item=Available_CSATrager valuecolor=[<2="red", >=2="green"]
}
}
Frame label="Sonstiges" {
Text label="Webcams" icon="camera" {
Frame label="Anzeige" {
Switch item=CamSelection label="Auswahl" mappings=[0="Vorne", 1="Hinten"]
Video url="http://admin:rt8qff8ppkma82bzxq2vcy3m3@10.112.30.31/record/current.jpg" encoding="mjpeg" visibility=[CamSelection==0, CamSelection=="Uninitialized"]
Switch item=REMCAM001Record label="Aufzeichung" mappings=[ON="Aktiv", OFF="Inaktiv"] visibility=[CamSelection==0, CamSelection=="Uninitialized"]
Video url="http://admin:pdgqa62v4f4bd9trmvp7z7t88@10.112.30.32/record/current.jpg" encoding="mjpeg" visibility=[CamSelection==1]
Switch item=REMCAM002Record label="Aufzeichung" mappings=[ON="Aktiv", OFF="Inaktiv"] visibility=[CamSelection==1]
}
Frame label="Sound" {
Switch item=CamSoundLocSelection label="Auswahl" mappings=[0="Vorne", 1="Hinten", 2="Beide"]

View File

@ -1,7 +1,13 @@
1=Einsatzbereit über Funk
2=Einsatzbereit auf Wache
1.0=Einsatzbereit über Funk
2=Verfügbar
2.0=Verfügbar
3=Auf Anfahrt zur E-Stelle
3.0=Auf Anfahrt zur E-Stelle
4=An E-Stelle eingetroffen
4.0=An E-Stelle eingetroffen
5=Sprechwunsch
6=nicht einsatzbereit
5.0=Sprechwunsch
6=Nicht verfügbar
6.0=Nicht verfügbar
NULL=Unbekannt

View File

@ -0,0 +1,7 @@
1=Einsatzbereit über Funk
2=Verfügbar
3=Auf Anfahrt zur E-Stelle
4=An E-Stelle eingetroffen
5=Sprechwunsch
6=Nicht verfügbar
NULL=Unbekannt

View File

@ -0,0 +1,13 @@
1=Einsatzbereit über Funk
1.0=Einsatzbereit über Funk
2=Zentrale nicht besetzt
2.0=Zentrale nicht besetzt
3=Auf Anfahrt zur E-Stelle
3.0=Auf Anfahrt zur E-Stelle
4=Zentrale besetzt
4.0=Zentrale besetzt
5=Sprechwunsch
5.0=Sprechwunsch
6=nicht einsatzbereit
6.0=nicht einsatzbereit
NULL=Unbekannt