OC3 Wetterdaten CCU Historian Wetterarchiv auf WebSpace

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Antworten
Benutzeravatar
Je.Vi
Beiträge: 37
Registriert: 15.01.2016, 08:29
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

OC3 Wetterdaten CCU Historian Wetterarchiv auf WebSpace

Beitrag von Je.Vi » 16.01.2016, 10:14

Hier eine Anleitung zum Export der CCU Historian Graphen der OC3 Daten un deren Veröffentlichung auf einer Webseite.
Die Information wurden aus verschieden Quellen zusammengetragen und zu einer Funktionierenden Lösung zusammengestellt.


TEIL 1 CCU Historian

Installation auf einem Raspberry Pi mit Raspian Wheezy.

Code: Alles auswählen

java –version 
sollte eine Version größer als 1.7 ausgeben

cd /opt
sudo mkdir ccu-historian
cd ccu-historian

Aktuelle Version auf http://www.ccu-historian.de/ unter Installationspakete suchen
sudo wget http://www.ccu-historian.de/uploads/CCU ... .3-bin.zip

sudo unzip ccu-historian-0.7.3-bin.zip
sudo cp ccu-historian-sample.config ccu-historian.config


Die Konfiguration anpassen

sudo nano ccu-historian.config

Code: Alles auswählen

// CCU-Historian Konfiguration
//
// Hinweise:
// Kommentarzeilen starten mit zwei Schrägstrichen (//). Alle Zeichen nach den Schrägstrichen
// werden ignoriert. Zeichenketten als Optionswert müssen von einfachen Anführungszeichen (')
// umschlossen sein. Weitere Informationen sind auch im Abschnitt 3 im Handbuch zu finden.
//
// Liste der zur Verfügung stehen Konfigurationsoptionen mit ihren jeweiligen Standardwerten:
//
// logSystem.consoleLevel=Level.INFO
// logSystem.fileLevel=Level.OFF
logSystem.fileName='/opt/ccu-historian/ccu-historian-%g.log'
// logSystem.fileLimit=1000000
// logSystem.fileCount=5
// logSystem.binRpcLevel=Level.WARNING
database.dir='/opt/ccu-historian/data'
// database.name='history'
// database.user='sa'
// database.password='ccu-historian'
// database.backup=''
// database.webEnable=true
database.webPort=8092
database.webAllowOthers=true
// database.tcpEnable=false
// database.tcpPort=9092
// database.tcpAllowOthers=false
// database.pgEnable=false
// database.pgPort=5435
// database.pgAllowOthers=false
webServer.port=8090
webServer.dir='/opt/ccu-historian/webapp'
// webServer.logLevel=Level.WARNING
// webServer.historianAddress=''
// webServer.trendDesigns ... (s.a. Abschnitt 6.4.1 im Handbuch)
// webServer.apiKeys=[]
// historian.metaCycle=3600000 // 1 Stunde
// devices.historianRpcPort=2011
devices.historianAddress='192.168.1.20' // eigene IP-Adresse automatisch ermitteln
//
// Für jede Zentrale bzw. jedes Gerät müssen folgende zwei Optionen gesetzt werden
// (s.a. Abschnitt 3.2 im Handbuch):
// devices.device<Nr.>.type=<CCU1, CCU2 oder BINRPC>
// devices.device<Nr.>.address='<IP-Adresse>'
//
// Optional können noch folgende Optionen gesetzt werden:
// devices.device<Nr.>.plugin<Nr.>.type=<CUXD oder HMWLGW>
// devices.device<Nr.>.sysVarDataCycle=30000
// devices.device<Nr.>.reinitTimeout=300000
// devices.device<Nr.>.writeAccess=false
// devices.device<Nr.>.prefix=''
//
// Es muss im Folgenden mindestens eine Zentrale bzw. Gerät konfiguriert werden:
// Typ der Zentrale: CCU1 oder CCU2
devices.device1.type=CCU2
// IP-Adresse der Zentrale
devices.device1.address='192.168.1.19'

// Falls CUxD verwendet wird, die Kommentarzeichen (//) vor folgender Zeile entfernen:
devices.device1.plugin1.type=CUXD

// Falls das HomeMatic Wired LAN Gateway verwendet wird, die Kommentarzeichen (//) vor
// folgender Zeile entfernen:
// devices.device1.plugin1.type=HMWLGW

// Falls CUxD und das HMWLGW verwendet wird, die Kommentarzeichen (//) vor folgenden
// zwei Zeilen entfernen:
// devices.device1.plugin1.type=CUXD
// devices.device1.plugin2.type=HMWLGW

Dann das Programm erstellen
sudo java -jar /opt/ccu-historian/ccu-historian.jar Dauert min 1 Minute bis der Server bereit ist

Aufruf CCU Historian im Browser

http://raspi01:8090

Nun den Autostart beim Booten des Raspis Aktivieren

cd /etc/init.d

sudo nano ccu-historian erstellen mit Folgendem Inhalt

Code: Alles auswählen

#!/bin/bash
### BEGIN INIT INFO
# Provides:          ccu-historian
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop::    $network $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts ccu-historian
# Description:       starts ccu-historian
### END INIT INFO
(( EUID )) && echo .You need to have root priviliges.. && exit 1
PIDF=/opt/ccu-historian/ccu-historian.pid
CONFF=/opt/ccu-historian/ccu-historian.config
JAVACMD=/usr/bin/java
CCUCMD=/opt/ccu-historian/ccu-historian.jar
RETVAL=0

start() {
            echo -n "Starting ccu-historian"
            start-stop-daemon --start --pidfile $PIDF --make-pidfile --background  --exec $JAVACMD -- -jar $CCUCMD -config $CONFF
            RETVAL=$?
}

stop() {
            echo -n "Stopping ccu-historian"
            start-stop-daemon --quiet --stop --pidfile $PIDF
            RETVAL=$?
}
case "$1" in
    start)
      start
  ;;
    stop)
      stop
  ;;
    restart)
      stop
      start
  ;;
    *)
      echo "Usage: ccu-historian {start|stop|restart}"
      exit 1
  ;;
esac
exit $RETVAL

sudo chmod 755 /etc/init.d/ccu-historian

sudo update-rc.d ccu-historian defaults

cd /etc/init.d

sudo ./ccu-historian start Nach 30 min sollte er wieder erreichbar sein

sudo ./ccu-historian stop

sudo reboot

Die Installation des CCU Historian ist nun abgeschlossen.

_____________________________________________________________________________________________________________

TEIL 2 CCU-Historian Werte zu Homepage

Datei in opt/ccu-hostorian erstellen
nano CCU-cache

Code: Alles auswählen

#!/bin/sh
performcache(){
local url=$2
local name=$1
local now="$(date --rfc-3339=ns)"
echo $now - $name Starting
local start_time=`date +%s`
sudo wget -q -O "/opt/ccu-historian/webapp/cache/temp.png" "$url"
sudo mv /opt/ccu-historian/webapp/cache/temp.png /opt/ccu-historian/webapp/cache/${name}.png
local end_time=`date +%s` now="$(date --rfc-3339=ns)"
echo $now - $name End with `expr $end_time - $start_time` sec
echo "\"${now}\";\"${name}\";\"`expr $end_time - $start_time`\"" >> /opt/ccu-historian/webapp/cache/protokol.csv
}
echo Start caching CCU-historian images
performcache temp_day "http://localhost:8090/query/trend.gy?i=69&d=1D"
performcache temp_week "http://localhost:8090/query/trend.gy?i=69&d=1W"
performcache temp_month "http://localhost:8090/query/trend.gy?i=69&d=1M"
performcache temp_year "http://localhost:8090/query/trend.gy?i=69&d=1Y"
performcache humi_day "http://localhost:8090/query/trend.gy?i=70&d=1D"
performcache humi_week "http://localhost:8090/query/trend.gy?i=70&d=1W"
performcache humi_month "http://localhost:8090/query/trend.gy?i=70&d=1M"
performcache humi_year "http://localhost:8090/query/trend.gy?i=70&d=1Y"
performcache sun_day "http://localhost:8090/query/trend.gy?i=76&d=1D"
performcache sun_week "http://localhost:8090/query/trend.gy?i=76&d=1W"
performcache sun_month "http://localhost:8090/query/trend.gy?i=76&d=1M"
performcache sun_year "http://localhost:8090/query/trend.gy?i=76&d=1Y"
performcache bright_day "http://localhost:8090/query/trend.gy?i=77&d=1D"
performcache bright_week "http://localhost:8090/query/trend.gy?i=77&d=1W"
performcache bright_month "http://localhost:8090/query/trend.gy?i=77&d=1M"
performcache bright_year "http://localhost:8090/query/trend.gy?i=77&d=1Y"
performcache bright_day "http://localhost:8090/query/trend.gy?i=77&d=1D"
performcache bright_week "http://localhost:8090/query/trend.gy?i=77&d=1W"
performcache bright_month "http://localhost:8090/query/trend.gy?i=77&d=1M"
performcache bright_year "http://localhost:8090/query/trend.gy?i=77&d=1Y"
performcache wind_day "http://localhost:8090/query/trend.gy?i=73&d=1D"
performcache wind_week "http://localhost:8090/query/trend.gy?i=73&d=1W"
performcache wind_month "http://localhost:8090/query/trend.gy?i=73&d=1M"
performcache wind_year "http://localhost:8090/query/trend.gy?i=73&d=1Y"
exit

Die trend.gy? Werte müsst Ihr je nach ID der Datenpunkte angepasst werden.
DP.PNG
Datenpunkte

Datei Ausführbar machen sudo chmod +x CCU-cache
Funktion Testen ./CCU-cache

Verzeichnis /opt/ccu-historian/cache erstellen mkdir /opt/ccu-historian/cache

Crontab eintragen damit das alle 15 Minuten erstellt wird

Crontab -e

*/15 * * * * /opt/ccu-historian/CCU-cache.sh



UPLOAD nach Webspace

Verzeichnis wetter auf remote FTP Server für WWW Umgebung erstellen


Steuerdatei erstellen /opt/ccu-historian/webapp/cache# nano ftpupload

Code: Alles auswählen

#!/bin/sh

curl -T /opt/ccu-historian/webapp/cache/bright_day.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/bright_week.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/bright_month.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/bright_year.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/humi_day.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/humi_week.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/humi_month.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/humi_year.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/sun_day.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/sun_week.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/sun_month.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/sun_year.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/temp_day.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/temp_week.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/temp_month.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/temp_year.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/wind_day.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/wind_week.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/wind_month.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/wind_year.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
Ausführbar machen chmod+x ftpupload

Testen ./ftpupload



Crontab einrichten

Crontab -e

*/17 * * * * /opt/ccu-historian/webapp/cache/ftpupload.sh >>/var/log/ftpupload.log 2>&1


Sichtbares Ergebnis auf der Webseite z.B.
archive.png
Ansicht


Teil meiner HTML Datei zur Anzeige der Graphen.

Code: Alles auswählen

<header>
<h2>Wetter Archive</h2>
</header>
<img src="temperatur.png" border=0 width="120" height="120"><br>
<img src="temp_day.png" border=0 title="Temperatur 24 Std">
<img src="temp_week.png" border=0 title="Temperatur Woche"><br>
<img src="temp_month.png" border=0 title="Temperatur Monat">
<img src="temp_year.png" border=0 title="Temperatur Jahr">
<br><br>
<img src="luftfeuchte.png" border=0 width="120" height="120"><br>
<img src="humi_day.png" border=0 width="640" height="260" title="Luftfeuchte 24 Std">
<img src="humi_week.png" border=0 width="640" height="260" title="Luftfeuchte Woche"><br>
<img src="humi_month.png" border=0 width="640" height="260" title="Luftfeuchte Monat">
<img src="humi_year.png" border=0 width="640" height="260" title="Luftfeuchte Jahr">
<br><br>
<img src="sonnenstunden.png" border=0 width="120" height="120"><br>
<img src="sun_day.png" border=0 width="640" height="260" title="Sonnenstunden 24 Std">
<img src="sun_week.png" border=0 width="640" height="260" title="Sonnenstunden Woche"><br>
<img src="sun_month.png" border=0 width="640" height="260" title="Sonnenstunden Monat">
<img src="sun_year.png" border=0 width="640" height="260" title="Sonnenstunden Jahr">
<br><br>
<img src="helligkeit.png" border=0 width="120" height="120"><br>
<img src="bright_day.png" border=0 width="640" height="260" title="Helligkeit 24 Std">
<img src="bright_week.png" border=0 width="640" height="260" title="Helligkeit Woche"><br>
<img src="bright_month.png" border=0 width="640" height="260" title="Helligkeit Monat">
<img src="bright_year.png" border=0 width="640" height="260" title="Helligkeit Jahr">
<br><br>
<img src="windstaerke.png" border=0 width="120" height="120"><br>
<img src="wind_day.png" border=0 width="640" height="260" title="Windstaerke 24 Std">
<img src="wind_week.png" border=0 width="640" height="260" title="Windstaerke Woche"><br>
<img src="wind_month.png" border=0 width="640" height="260" title="Windstaerke Monat">
<img src="wind_year.png" border=0 width="640" height="260" title="Windstaerke Jahr">
HomeMatic Seit 2014 - RaspBerrymatic auf Proxmox VE , ioBroker und Home Assistant, 90 Geräte, X Virtuelle Geräte, CUx-D, Email, Push, XML-API, 12 Zoll Display mit Dashboard, OC3 mit Livewetter, Raumklimasteuerung, Feinstaubmessung, Sprachausgabe und Steuerung mit Amazon Echo Geräten. Auswertung der Klima bzw. Wetterdaten erfolgt mit iobrokerFlot, Grafana und Puppeteer. HM BBQ Thermometer mit VIS und Alert per Push und Sprachausgabe ... uvm.

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“