find Ergebnis in Variable

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Benutzeravatar
stan23
Beiträge: 2039
Registriert: 13.12.2016, 21:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Altmühltal
Hat sich bedankt: 585 Mal
Danksagung erhalten: 336 Mal
Kontaktdaten:

Re: find Ergebnis in Variable

Beitrag von stan23 » 01.10.2021, 19:52

Klar ist das im Pfad verfügbar, aber "/bash" ist ja trotzdem falsch.
Ich vermute das muss trotzdem mit dem kompletten absoluten Pfad angegeben werden.
Viele Grüße
Marco

RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)

Benutzeravatar
Bernd-Joras
Beiträge: 732
Registriert: 26.03.2016, 09:33
Hat sich bedankt: 34 Mal
Danksagung erhalten: 40 Mal

Re: find Ergebnis in Variable

Beitrag von Bernd-Joras » 01.10.2021, 22:18

Hi ... DANKE ... hat schon mal geholfen ...

Jetzt steht im Script nur nachfolgendes ... und ich habe es ausführbar gemacht ...

Code: Alles auswählen

umount -f /mnt/
mount -t cifs -o username=Ich,password=Passwort,noserverino,vers=3.0 //192.168.5.1/js-fb1-nas/Samsung-PortableSSDT3-01/CAM-RECORDS /mnt

if [ $(($(date +%s)-$(stat -c "%Y" /mnt/IN-6014HD-TH/*))) -lt 10800 ] ; 
	then curl -k -s "http://192.168.5.110:8181/hm.exe?value=dom.GetObject(ID_SYSTEM_VARIABLES).Get('SV-Videos').State('Kamera-OK')" > /dev/null ; 
	else curl -k -s "http://192.168.5.110:8181/hm.exe?value=dom.GetObject(ID_SYSTEM_VARIABLES).Get('SV-Videos').State('Kamera-Fehler!')" > /dev/null ;
fi
umount -f /mnt/

Jetzt kann ich mich die nächsten Wochen um den Scriptfehler kümmern ...

Code: Alles auswählen

root@homematic-raspi:/# usr/local/checkVideo.sh
usr/local/checkVideo.sh: line 4: arithmetic syntax error
Melde mich dann sicherlich wieder ... bis denne ... Bernd
2 Standorte mit je RPi3B+ RaspberryMatic 3.75.7.20240420 / RPI-RF-MOD | Externe USB-Platinen Antenne | 2x LAN_RF_GW | 1x LAN_RS485_GW | ca. 170 Geräte davon 35x IP | ca. 250 Programme |>600 Kanäle | Addons: CUX-Daemon, XML-API, hm_pdetect, E-Mail, CCU-Historian

Benutzeravatar
Bernd-Joras
Beiträge: 732
Registriert: 26.03.2016, 09:33
Hat sich bedankt: 34 Mal
Danksagung erhalten: 40 Mal

Re: find Ergebnis in Variable

Beitrag von Bernd-Joras » 18.11.2021, 08:02

Hallöle....

Wenn ich auch Wochen oder besser gesagt mehr als 100 Stunden dafür gebraucht habe, zudem auch nicht wirklich verstehe was ich da zusammengebastelt habe, hiermit also mein erstes kleines Script … Vielleicht Hilft es ja dem Einen oder Anderen ….

Aufgabe war, zu kontrollieren ob meine Kameras funktionieren (ping) und entsprechende Aufnahmen auf meiner Fritzbox abgelegt sind.
Die Empfehlung war, ein kleines Skript aufzurufen welches unter /usr/local abgelegt ist.
Das Ganze habe ich dann für 5 unterschiedliche Kameras im Skript integriert.

Mittels kleinem HM Programm prüfe ich das 2x am Tag …

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:4.CMD_EXEC").State ("/usr/local/CAM-check.sh");

Das Sript ...(CAM-check.sh)

Code: Alles auswählen

#  Variablen vom TYP „Zeichenkette angelegt … (FEHLER oder OK)
#  ein unmount und ein sauberes mount zur FritzBox

umount -f /mnt/ > /dev/null 
sleep 1
mount -t cifs -o username=meinUsername,password=meinpasswort,noserverino,vers=3.0 //192.168.x.x/js-fb1-nas/Samsung-PortableSSDT3-01/CAM-RECORDS /mnt
sleep 1

#  Kamera IN-6014HD-TH prüfen mittels PING und prüfen ob Video Files abgelegt sind jünger als ...

MYVAR=`find /mnt/IN-6014HD-TH -name "*.avi" -mmin "-180"`

if [ -z "$MYVAR" ]

	then
# echo "AVI-Datei SV-IN-6014HD-TH nicht vorhanden"
	curl -k -s "http://192.168.x.x:8181/hm.exe?value=dom.GetObject(ID_SYSTEM_VARIABLES).Get('SV-IN-6014HD-TH').State('FEHLER')" > /dev/null 

elif ! ping -c 1 192.168.x.x > /dev/null 

	then 
# echo "Ping SV-IN-6014HD-TH nicht erreichbar"
	curl -k -s "http://192.168.x.x:8181/hm.exe?value=dom.GetObject(ID_SYSTEM_VARIABLES).Get('SV-IN-6014HD-TH').State('FEHLER')" > /dev/null 

else 
	curl -k -s "http://192.168.x.x:8181/hm.exe?value=dom.GetObject(ID_SYSTEM_VARIABLES).Get('SV-IN-6014HD-TH').State('OK')" > /dev/null 
# echo "Kamera SV-IN-6014HD-TH funktioniert !"

fi

sleep 1
# ENDE => IN-6014HD-TH

Auch wenn es funktioniert und ich bisher auch keine Probleme habe ... bin weiterhin offen und dankbar für Verbesserungen.

BG, Bernd
2 Standorte mit je RPi3B+ RaspberryMatic 3.75.7.20240420 / RPI-RF-MOD | Externe USB-Platinen Antenne | 2x LAN_RF_GW | 1x LAN_RS485_GW | ca. 170 Geräte davon 35x IP | ca. 250 Programme |>600 Kanäle | Addons: CUX-Daemon, XML-API, hm_pdetect, E-Mail, CCU-Historian

Antworten

Zurück zu „HomeMatic allgemein“