schön wenn es schon funktioniert.
ich hatte vor einiger Zeit mal so was ähnliches in einer Rule gebastelt,
da hab ich aber die Zeit noch von Hand auseinander genommen und nach meinem Wunsch zusammen gesetzt!
ich wollte aber bewusst nicht das Datum im Dateinamen, da waren mir zu viele Daten,
deshalb hab ich insgesamt nur 5 Bilder gespeichtert.
bei jeder Bewegung eins und vor dem speichern immer mit eine Shell Bash Script die Bilder verschoben.
Bild 4 zu Bild 5,
Bild 3 zu Bild 4,
Bild 2 zu Bild 3
Bild 2 zu Bild 2
und Bild zu Bild 1 !
und dann wurde Bild neu geschrieben.
die 5 Bilder und das passende Datum hab ich in Items gespeichert und kann sie im Habpanel ansehen.
Code: Alles auswählen
var Timer aussenlicht = null
rule "Bewegungsmelde und Zeitschalter aussen "
when
Item bwm_aussen2 changed to ON or
Item TestImageSwitch changed // nur zum testen !
then
executeCommandLine("/etc/openhab/scripts/kopieren.sh")
Thread::sleep(500)
var datetime = new DateTimeType()
var Jahr = datetime.toString.split('-').get(0)
var Monat = datetime.toString.split('-').get(1)
var Taghilfe = datetime.toString.split('-').get(2)
var Tag = Taghilfe.substring(0,2)
var Uhr = datetime.toString.split('T').get(1)
var Uhrzeit = Uhr.substring(0,8)
Uhrzeit = Uhrzeit.replace(':','-')
val url = "http://192.168.178.243/snapshot.jpg?user=xxxx&pwd=xxxxxxxx"
val aufnahmezeit = Monat+Tag+"_"+Uhrzeit
val outputfile = "/etc/openhab/html/bild1.jpg" // für Version 1 !
//val outputfile = "/etc/openhab/html/bild-"+aufnahmezeit+".jpg" // bei Version 2 !
Bild5.postUpdate(Bild4.state)
Bild4.postUpdate(Bild3.state)
Bild3.postUpdate(Bild2.state)
Bild2.postUpdate(Bild1.state)
Bild1.postUpdate(aufnahmezeit)
//Bild1.postUpdate("/static/bild-"+aufnahmezeit+".jpg") // Versuch, geht auch, muss dann aber im Habpanel angepasst werden !
executeCommandLine(Duration.ofMillis(5000), "wget", "-O", outputfile, url) // bei oH3
//logInfo("FILE", "Kamera Bild File = "+outputfile+cmd)
Thread::sleep(500)
// Bwm_Tuya_aussen (Bwegung aussen hilfsschalter) bekommt Impuls von Thing Bewegungsmelder aussen
if (bwm_aussen2.state==ON) {
var Uhrzeit = Uhr.substring(0,8)
var Zeit = Tag+"/"+Monat+"/"+Jahr+" @ "+Uhrzeit
// logInfo("Status = ","Uhrzei von bwm_aussen (letzte Bewegung), Daylight OFF = "+Uhrzeit)
BWMA_Zeit.postUpdate(Zeit)
http_FS20_1.sendCommand(ON)
sendHttpGetRequest("http://192.168.178.19/msh/Bewegungsmelder_aussen.php?bw=fs20_4_an", 15000)
//logInfo("FILE", "Setting to ON and creating timer")
aussenlicht = createTimer(now.plusMinutes(1), [|
http_FS20_1.sendCommand(OFF)
sendHttpGetRequest("http://192.168.178.19/msh/Bewegungsmelder_aussen.php?bw=fs20_4_aus", 15000)
aussenlicht = null
])
}
end
ist auch nicht alles auf meinem Mist gewachsen, hab ich mir fast alles im Internet zusammen gesucht!