Hallo Johnnyprinzeisenherz1 hat geschrieben:Hier sind meine derzeitigen Views
Gruß Johnny
Kannst du mir sagen, wie du die Daten der DS213 darstellen kannst?
Ich habe auch eine solche und würde das gerne ebenfalls einbinden.
Gruss
Ritschi
Moderator: Co-Administratoren
Hallo Johnnyprinzeisenherz1 hat geschrieben:Hier sind meine derzeitigen Views
Gruß Johnny
Code: Alles auswählen
#!/bin/sh
### Scriptname: sysinfo.sh
### Kurzbeschreibung: Ermitteln von Systemwerten der Sysnology DS214 und übertragen an eine Homematic CCU2
### Ersteller: Prinzeisenherz1 (Schneider Johnny) am 07032016
###
### Anleitung:
###
### Auf der CCU2 als erstes folgende Systemvariablen anlegen:
### Synology CPUTemp Typ: Zahl °C
### Synology SpaceHDD Typ: Zahl GByte
### Synology FreeSpaceHDD Typ: Zahl GByte
### Synology UsedSpaceHDD Typ: Zahl GByte
### Synology FreeSpaceHDDpercent Typ: Zahl %
### Synology UsedSpaceHDDpercent Typ: Zahl %
### Synology UpTime Typ: Zahl Tag(e)
###
### use_id der angelegten Variablen ermitteln (http://IP-CCU/config/xmlapi/sysvarlist.cgi) und im Script im Bereich USER-Eingabe anpassen
###
### Script in ein Verzeichnis auf der Synology ablegen. z.B. /volume1/backup/scripte
###
### Script ausfürbar machen: chmod +x /volume1/backup/scripte/sysinfo.sh
###
### Im Aufgabenplaner eine Benutzerdefinierte Aufgabe anlegen
### Dort ausführen als root
### Scriptaufruf: /volume1/backup/scripte/sysinfo.sh
### Timer: täglich alle 15 Minuten
###
#########################################################
################## USER-Eingabe ########################
CCUIP="USER-Eingabe"
#########################################################
ID_CPUTemp="USER-Eingabe"
ID_SpaceHDD="USER-Eingabe"
ID_FreeSpaceHDD="USER-Eingabe"
ID_UsedSpaceHDD="USER-Eingabe"
ID_FreeSpaceHDDpercent="USER-Eingabe"
ID_UsedSpaceHDDpersent="USER-Eingabe"
ID_UpTime="USER-Eingabe"
################## ENDE-USER-Eingabe ####################
### CPU Temperatur ermitteln und an die Homematic CCU übertragen
tmp1=$(cat /sys/bus/platform/devices/axp-temp.0/temp1_input)
### Gesamtspeicherplatz volume1 in Gigabyte ermitteln und an die Homematic CCU übertragen
tmp2=$(df|awk '/volume1$/{printf($2/1024/1024)}')
### Freier Speicherplatz volume1 in Gigabyte ermitteln und an die Homematic CCU übertragen
tmp3=$(df|awk '/volume1$/{printf($4/1024/1024)}')
### Belegter Speicherplatz volume1 in Gigabyte ermitteln und an die Homematic CCU übertragen
tmp4=$(df|awk '/volume1$/{printf($3/1024/1024)}')
### Freier Speicherplatz volume1 in Prozent ermitteln und an die Homematic CCU übertragen
tmp5=$(df|awk '/volume1$/{printf($4/$2*100)}')
### Belegter Speicherplatz volume1 in Prozent ermitteln und an die Homematic CCU übertragen
tmp6=$(df|awk '/volume1$/{printf($3/$2*100)}')
### UpTime in Tage ermitteln und an die Homematic CCU übertragen
tmp7=$(uptime | awk '{printf($3)}')
####### Sende CPU-Temperatur an Homematic CCU2
url_tmp1="http://"$CCUIP"/config/xmlapi/statechange.cgi?ise_id="$ID_CPUTemp"&new_value="${tmp1}""
echo "$url_tmp1"
curl -s $url_tmp1 > /dev/null 2>&1
################################################################################################
####### Sende Gesamtspeicherplatz in Gigabyte an Homematic CCU2
url_tmp2="http://"$CCUIP"/config/xmlapi/statechange.cgi?ise_id="$ID_SpaceHDD"&new_value="${tmp2}""
echo "$url_tmp2"
curl -s $url_tmp2 > /dev/null 2>&1
################################################################################################
####### Sende freien Speicherplatz in Gigabyte an Homematic CCU2
url_tmp3="http://"$CCUIP"/config/xmlapi/statechange.cgi?ise_id="$ID_FreeSpaceHDD"&new_value="${tmp3}""
echo "$url_tmp3"
curl -s $url_tmp3 > /dev/null 2>&1
################################################################################################
####### Sende belegter Speicherplatz in Gigabyte an Homematic CCU2
url_tmp4="http://"$CCUIP"/config/xmlapi/statechange.cgi?ise_id="$ID_UsedSpaceHDD"&new_value="${tmp4}""
echo "$url_tmp4"
curl -s $url_tmp4 > /dev/null 2>&1
################################################################################################
####### Sende freien Speicherplatz in Prozent an Homematic CCU2
url_tmp5="http://"$CCUIP"/config/xmlapi/statechange.cgi?ise_id="$ID_FreeSpaceHDDpercent"&new_value="${tmp5}""
echo "$url_tmp5"
curl -s $url_tmp5 > /dev/null 2>&1
################################################################################################
####### Sende belegter Speicherplatz in Prozent an Homematic CCU2
url_tmp6="http://"$CCUIP"/config/xmlapi/statechange.cgi?ise_id="$ID_UsedSpaceHDDpersent"&new_value="${tmp6}""
echo "$url_tmp6"
curl -s $url_tmp6 > /dev/null 2>&1
################################################################################################
####### Sende UpTime an Homematic CCU2
url_tmp7="http://"$CCUIP"/config/xmlapi/statechange.cgi?ise_id="$ID_UpTime"&new_value="${tmp7}""
echo "$url_tmp7"
curl -s $url_tmp7 > /dev/null 2>&1
################################################################################################
Code: Alles auswählen
function CreateAllStates(){
createState("javascript.0.Synology.Temp");
createState("javascript.0.Synology.MemTotal");
createState("javascript.0.Synology.MemFree");
createState("javascript.0.Synology.MemUsed");
createState("javascript.0.Synology.MemFreePercent");
createState("javascript.0.Synology.MemUsedPercent");
createState("javascript.0.Synology.UptimeDay");
createState("javascript.0.Synology.UptimeHour");
}
CreateAllStates();
Code: Alles auswählen
#!/bin/sh
### Scriptname: sysinfo.sh
### Kurzbeschreibung: Ermitteln von Systemwerten der Sysnology DS214 und übertragen an ioBroker
### Ersteller: Prinzeisenherz1 (Schneider Johnny) am 07032016
###
### Anleitung:
###
### Im Javascript-Adapter von ioBroker folgendes Skript anlegen:
###
###
### function CreateAllStates(){
###
### createState("javascript.0.Synology.Temp");
### createState("javascript.0.Synology.MemTotal");
### createState("javascript.0.Synology.MemFree");
### createState("javascript.0.Synology.MemUsed");
### createState("javascript.0.Synology.MemFreePercent");
### createState("javascript.0.Synology.MemUsedPercent");
### createState("javascript.0.Synology.UptimeDay");
### createState("javascript.0.Synology.UptimeHour");
### }
###
###
### Skript einmal ausführen und dann wieder Stoppen. Prüfen ob Datenpunkte angelegt wurden
### Im web-Adapter von ioBroker folgenden Haken setzen -> Eingebautes Simple API
### Dieses Script in ein Verzeichnis auf der Synology ablegen. z.B. /volume1/backup/scripte
### Script ausfürbar machen: chmod +x /volume1/backup/scripte/sysinfo.sh
###
### Im Aufgabenplaner eine Benutzerdefinierte Aufgabe anlegen
### Dort ausführen als root
### Scriptaufruf: /volume1/backup/scripte/sysinfo.sh
### Timer: täglich alle 15 Minuten
###
#########################################################
################# USER-Eingabe ##########################
### WICHTIG: Portangabe 8082 nicht vergessen #####
ioBrokerIP="XXX.XXX.XXX.XXX:8082"
############## Ende-USER-Eingabe ########################
echo "ip "$ioBrokerIP
URL_set_Temp="http://"$ioBrokerIP"/set/javascript.0.Synology.Temp?value="
URL_set_MemTotal="http://"$ioBrokerIP"/set/javascript.0.Synology.MemTotal?value="
URL_set_MemFree="http://"$ioBrokerIP"/set/javascript.0.Synology.MemFree?value="
URL_set_MemUsed="http://"$ioBrokerIP"/set/javascript.0.Synology.MemUsed?value="
URL_set_MemFreePercent="http://"$ioBrokerIP"/set/javascript.0.Synology.MemFreePercent?value="
URL_set_MemUsedPercent="http://"$ioBrokerIP"/set/javascript.0.Synology.MemUsedPercent?value="
URL_set_Uptime_day="http://"$ioBrokerIP"/set/javascript.0.Synology.UptimeDay?value="
URL_set_Uptime_hour="http://"$ioBrokerIP"/set/javascript.0.Synology.UptimeHour?value="
### CPU Temperatur ermitteln und an ioBroker übertragen
tmp1=$(cat /sys/bus/platform/devices/axp-temp.0/temp1_input)
### Gesamtspeicherplatz volume1 in Gigabyte ermitteln und an ioBroker übertragen
tmp2=$(df|awk '/volume1$/{printf($2/1024/1024)}')
### Freier Speicherplatz volume1 in Gigabyte ermitteln und an ioBroker übertragen
tmp3=$(df|awk '/volume1$/{printf($4/1024/1024)}')
### Belegter Speicherplatz volume1 in Gigabyte ermitteln und an ioBroker übertragen
tmp4=$(df|awk '/volume1$/{printf($3/1024/1024)}')
### Freier Speicherplatz volume1 in Prozent ermitteln und an ioBroker übertragen
tmp5=$(df|awk '/volume1$/{printf($4/$2*100)}')
### Belegter Speicherplatz volume1 in Prozent ermitteln und an ioBroker übertragen
tmp6=$(df|awk '/volume1$/{printf($3/$2*100)}')
### UpTime in Tage ermitteln und an ioBroker übertragen
tmp7=$(cat /proc/uptime | awk '{printf"%.0f\n", $1}')
##############################################################################################
days=$(($tmp7 / 86400 ))
hours=$((($tmp7 / 3600) - (days * 24)))
##############################################################################################
####### Sende CPU-Temperatur an ioBroker
url_tmp1=$URL_set_Temp$tmp1
echo "$url_tmp1"
curl -s $url_tmp1 > /dev/null 2>&1
################################################################################################
####### Sende Gesamtspeicherplatz in Gigabyte an ioBroker
url_tmp2=$URL_set_MemTotal$tmp2
echo "$url_tmp2"
curl -s $url_tmp2 > /dev/null 2>&1
################################################################################################
####### Sende freien Speicherplatz in Gigabyte an ioBroker
url_tmp3=$URL_set_MemFree$tmp3
echo "$url_tmp3"
curl -s $url_tmp3 > /dev/null 2>&1
################################################################################################
####### Sende belegter Speicherplatz in Gigabyte an ioBroker
url_tmp4=$URL_set_MemUsed$tmp4
echo "$url_tmp4"
curl -s $url_tmp4 > /dev/null 2>&1
################################################################################################
####### Sende freien Speicherplatz in Prozent an ioBroker
url_tmp5=$URL_set_MemFreePercent$tmp5
echo "$url_tmp5"
curl -s $url_tmp5 > /dev/null 2>&1
################################################################################################
####### Sende belegter Speicherplatz in Prozent an ioBroker
url_tmp6=$URL_set_MemUsedPercent$tmp6
echo "$url_tmp6"
curl -s $url_tmp6 > /dev/null 2>&1
################################################################################################
####### Sende UpTime an ioBroker
url_days=$URL_set_Uptime_day$days
echo "$url_days"
curl -s $url_days > /dev/null 2>&1
################################################################################################
url_hours=$URL_set_Uptime_hour$hours
echo "$url_hours"
curl -s $url_hours > /dev/null 2>&1
################################################################################################
Code: Alles auswählen
tmp1=$(cat /sys/bus/platform/devices/coretemp.0)