Bilder eurer erstellten Remotes/Oberflächen

Haussteuerung mittels mediola

Moderator: Co-Administratoren

Ritschi
Beiträge: 587
Registriert: 07.11.2012, 08:02
Wohnort: Schweiz, Graubünden
Hat sich bedankt: 25 Mal
Danksagung erhalten: 9 Mal

Re: Bilder eurer erstellten Remotes/Oberflächen

Beitrag von Ritschi » 06.09.2016, 19:47

prinzeisenherz1 hat geschrieben:Hier sind meine derzeitigen Views
Screenshot_20160803-195342.png
Gruß Johnny
Hallo 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
Raspberry-Matic auf Tinkerboard, Mediola Gateway V3, Mediola Gateway V2, iobroker, Homebridge-homematic auf Mac, Homeassistant

prinzeisenherz1
Beiträge: 194
Registriert: 22.01.2015, 19:44
Danksagung erhalten: 1 Mal

Re: Bilder eurer erstellten Remotes/Oberflächen

Beitrag von prinzeisenherz1 » 06.09.2016, 23:33

Hi Ritschi! Kann ich dir morgen gerne erklären!
Gruß Johnny

prinzeisenherz1
Beiträge: 194
Registriert: 22.01.2015, 19:44
Danksagung erhalten: 1 Mal

Re: Bilder eurer erstellten Remotes/Oberflächen

Beitrag von prinzeisenherz1 » 07.09.2016, 15:53

Hi Ritschi!
Willst Du die Daten auf der CCU oder auf ioBroker?
Wenn Du die Daten auf der CCU haben möchtest dann verwendest Du das folgende Skript!
Im Skript ist alles erklärt was de machen musst!

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
################################################################################################
Wenn de auf ioBroker die Infos haben möchtest dann kann ich Dir noch n anderes geben das Dir die Daten ohne Umweg
über die CCU an ioBroker sendet.

Gruß
Johnny

Simpixo
Beiträge: 31
Registriert: 30.03.2015, 23:34

Bilder eurer erstellten Remotes/Oberflächen

Beitrag von Simpixo » 07.09.2016, 16:23

Also an dem Script ohne Umweg über die CCU2 wäre ich auch interessiert [emoji6]


Gesendet von meinem iPhone mit Tapatalk

prinzeisenherz1
Beiträge: 194
Registriert: 22.01.2015, 19:44
Danksagung erhalten: 1 Mal

Re: Bilder eurer erstellten Remotes/Oberflächen

Beitrag von prinzeisenherz1 » 07.09.2016, 19:23

Ok,stelle ich später hier rein! Ist eben noch Kindergeburtstag hier!
Johnny

Ritschi
Beiträge: 587
Registriert: 07.11.2012, 08:02
Wohnort: Schweiz, Graubünden
Hat sich bedankt: 25 Mal
Danksagung erhalten: 9 Mal

Re: Bilder eurer erstellten Remotes/Oberflächen

Beitrag von Ritschi » 07.09.2016, 22:34

Hi Johnny

Super Skript, klappt fast perfekt, bis auf die Temperatur, die bei mir nicht in die Var. übernommen wird.
Kann es sein dass da noch ein Fehler im Skript ist?

Danke & Gruss
Ritschi
Raspberry-Matic auf Tinkerboard, Mediola Gateway V3, Mediola Gateway V2, iobroker, Homebridge-homematic auf Mac, Homeassistant

prinzeisenherz1
Beiträge: 194
Registriert: 22.01.2015, 19:44
Danksagung erhalten: 1 Mal

Re: Bilder eurer erstellten Remotes/Oberflächen

Beitrag von prinzeisenherz1 » 07.09.2016, 23:00

Hi Ritschi!
Freut mich das es auf Anhieb geklappt hat!
Im Skript selber ist kein Fehler, Es liegt daran das Du ne andere DS hast und da gibt es unterschiedliche Möglichkeiten die Temperaturen abzufragen! Bei manchen geht es vielleicht auch gar nicht!
Geh am besten auf der Konsole mal den Pfad nach wie er im Script ist, vielleicht findest Du ja unter /sys/bus/platform/devices/ einen vergleichbaren punkt wo Du die Temperatur mit cat auslesen kannst, oder eventuell über ACPI.

Gruß
Johnny

prinzeisenherz1
Beiträge: 194
Registriert: 22.01.2015, 19:44
Danksagung erhalten: 1 Mal

Re: Bilder eurer erstellten Remotes/Oberflächen

Beitrag von prinzeisenherz1 » 07.09.2016, 23:25

So, und hier das Skript ohne Umweg direkt auf ioBroker.
Zuerst musst du in iobroker die Datenpunkte anlegen die Du später mit dem zweiten Skript befüllst.
Dazu im Javascript-Adapter folgendes Skript anlegen:

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();
Einmal starten und dann wieder beenden.
Dann prüfen ob unter javascript.0. die Datenpunkte angelegt wurden

Dann muss in iobroker im web-Adapter der Haken bei "Eingebautes Simple API" gesetzt sein.
Dann muss auf der DS folgendes Skript angelegt werden:

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
################################################################################################
Wichtig: im Skript bei Angabe IP-Adresse iobroker den Port nicht vergessen.
Genaueres über das Skript hab ich im Skript selber nochmal reingeschreiben.

Viel Spass mit dem Skript

Johnny

Ritschi
Beiträge: 587
Registriert: 07.11.2012, 08:02
Wohnort: Schweiz, Graubünden
Hat sich bedankt: 25 Mal
Danksagung erhalten: 9 Mal

Re: Bilder eurer erstellten Remotes/Oberflächen

Beitrag von Ritschi » 08.09.2016, 21:36

Hi Johnny

Ich habe da mal in das Verzeichnis rein geschaut.
Da gibt es folgenden Eintrag der nach Temperatur aussieht.
lrwxrwxrwx 1 root root 0 Sep 8 20:58 coretemp.0 -> ../../../devices/platform/coretemp.0
Ich habe es nun folgendermassen versucht, leider ohne Erfolg:

Code: Alles auswählen

tmp1=$(cat /sys/bus/platform/devices/coretemp.0)
Ich bin mir da bei der Pfadangabe ziemlich unsicher...
Wäre das richtig so, oder hast du noch einen Tip für mich?

Gruss
Ritschi
Raspberry-Matic auf Tinkerboard, Mediola Gateway V3, Mediola Gateway V2, iobroker, Homebridge-homematic auf Mac, Homeassistant

prinzeisenherz1
Beiträge: 194
Registriert: 22.01.2015, 19:44
Danksagung erhalten: 1 Mal

Re: Bilder eurer erstellten Remotes/Oberflächen

Beitrag von prinzeisenherz1 » 08.09.2016, 21:44

Hi Ritschi!
Was hast Du alles in dem Verzeichnis coretemp.0 drin?
Ist da was wie temp oder temp_input oder ähnlich?
Dein Aufruf klappt so nicht denn du Wendest cat auf ein Verzeichnis (coretemp.0) an.

Antworten

Zurück zu „mediola“