MySQL Client für CCU

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
Heizungsjunky
Beiträge: 21
Registriert: 14.12.2009, 23:01

MySQL Client für CCU

Beitrag von Heizungsjunky » 01.04.2010, 21:45

ich bin gerade in der Konzeptionsphase um das datenlogging von Dirch auf der CCU in eine Datenbank auf einem externen Server auszulagern. Habe mich für MySQL auf einem externen Server entschieden. Weiss jemand ob es einen mysql client gibt. der auf der CCU installiert werden kann ?
Damit könnte das TCL Skript die Daten im Normalfall direkt in die MySQL Datenbank schreiben und nur wenn der Datenbankserver nicht verfügbar ist in eine lokale (USB-Stick) Datei schreiben.
Auf dem externen Server soll dann och ein Grafikpaket die Standardgrafiken als z.B. JPEG Dateien ablegen, die dann über einen Webserver angezeigt werden.

Dank für Eure Hilfe

ColdFireIce
Beiträge: 407
Registriert: 06.03.2009, 15:38
Wohnort: Karlsruhe
Danksagung erhalten: 1 Mal

Re: MySQL Client für CCU

Beitrag von ColdFireIce » 02.04.2010, 00:07

Hallo,

keine Ahnung ob es einen direkten Client gibt, bzw ne möglichkeit dass mit TCL oder so zu machen, aber du kannst sicherlich einfach den HP Server und dass darin enthaltene php script nutzen. Ich hab hier mal nen post gefunden wie man ein PHP Script aus einem HM Script starten kann. Musst mal suchen.

Daniel

Heizungsjunky
Beiträge: 21
Registriert: 14.12.2009, 23:01

Re: MySQL Client für CCU

Beitrag von Heizungsjunky » 05.04.2010, 01:00

Hallo Daniel,

habe Deine Idee mit PHP statt MySQL Client aufgegriffen und meinen Plan geändert.
Auf dem externen Server läuft ein WebServer mit PHP. Der schreibt beim Aufruf von http://"hostname"/logging.php?logingstring="Wertestring" alle per TCL Skript auf der CCU eingesammelten Werte in die MySQL Datenbank die auf dem gleichen exteren Server sitzt.

Ich glaube auch irgendwo im Forum gesehen zu haben, dass man aus einem TCL Skript eine http Seite aufrufen kann. Nur bruache ich einen Rückgabewert von der HTTP Seite, um im TCL Skript auf der CCU auswerten zu können, ob die Daten auch in der Datenbank gelandet sind (z.B. wenn der externe Server down ist).

Falls die Daten aus irgend einem Grund nicht auf dem externen Server gespeichert werden konnten, soll das TCL Skript die Daten auf der CCU in einer Datei puffern.

Hat irgend jemand ein Stück code dass eine http Seite in TCL aufruft und einen Rückgabewert auswertet ?

Vielen Dank

OhOme
Beiträge: 88
Registriert: 13.01.2009, 22:21
Danksagung erhalten: 4 Mal

Re: MySQL Client für CCU

Beitrag von OhOme » 13.04.2010, 22:26

Hallo,

ich benutze für mein HomeMatic "Projekt" auch eine Mysql-Datenbank. Um die Daten möglichst zeitnah, d.h. sofort, in die Datenbank zu schieben und
wenig per http auf die CCU zuzugreifen, benutze ich Syslog.
Auf der CCU habe ich dafür den Mysql-DB Server (Linux) als Ziel des Syslogs eingetragen (CCU Einstellungen->Zentralen-Wartung->Fehler-Protokoll).
Für BidCoS-RF ist "Alles Loggen" eingeschaltet.
Auf der Linux-Kiste habe ich den "syslog-ng" laufen. Der Eintrag in der config-Datei:
.....
destination homematic {
file("/var/www/homematic/log/homematic.log" owner("root") group("adm") perm(0640)
template("[$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC] $PRIORITY $FACILITY $MESSAGE\n"));
};
......
homematic ist der "IP-name" meiner CCU.

Das Logfile sieht dann so aus:
[2010-04-13 22:16:28] debug user rfd: RX: Info #96 DUTY_CYCLE 45
[2010-04-13 22:16:29] debug user rfd: RX for FEQ0080991: @4174437662 RSSI=-22dB 0x116537 -> 0x000000 WEATHER [EEQ0017786]: CNT=35,RPTEN=1,RPTED=0,BIDI=0,BURST=0,WAKEUP=0,WAKEMEUP=1,BCAST=1,TYPE=0x70 LOWBAT = 0 TEMP = 32551 HUMIDITY = 100 RAINING = 0 RAINCNT = 0 WINDSPEED = 0 WINDDIR = 0 WINDDIR_RANGE = 0 BRIGHTNESS = 0
[2010-04-13 22:16:29] debug user rfd: Event: FEQ0080991:1.TEMPERATURE=-21.700000
[2010-04-13 22:16:40] debug user rfd: RX: Info #98 DUTY_CYCLE 45
[2010-04-13 22:16:42] debug user rfd: RX for FEQ0033755: @4174450639 RSSI=-72dB 0x1134B3 -> 0x11172B HEATING [EEQ0017786]: CNT=81,RPTEN=1,RPTED=0,BIDI=1,BURST=0,WAKEUP=0,WAKEMEUP=1,BCAST=0,TYPE=0x58
[2010-04-13 22:16:42] debug user rfd: Event: FEQ0033755:2.ADJUSTING_COMMAND=0
[2010-04-13 22:16:42] debug user rfd: Event: FEQ0033755:2.ADJUSTING_DATA=0
[2010-04-13 22:16:43] debug user rfd: RX for FEQ0033060: @4174450770 RSSI=-49dB 0x11172B -> 0x1134B3 ACK_STATUS [EEQ0017786]: CNT=81,RPTEN=1,RPTED=0,BIDI=0,BURST=0,WAKEUP=0,WAKEMEUP=1,BCAST=0,TYPE=0x02 CHANNEL = 1 STATUS = 0 STATE = 0 CLOCK = 0 LOWBAT = 0 DUTY_CYCLE = 0 RSSI = 46
[2010-04-13 22:16:43] debug user rfd: Event: FEQ0033060:1.VALVE_STATE=0
[2010-04-13 22:16:43] debug user rfd: Event: FEQ0033060:1.ERROR=0
[2010-04-13 22:16:52] debug user rfd: RX: Info #101 DUTY_CYCLE 45


Ein kleines perl-Skript überwacht nun das Logfile und schreibt die Daten in die DB.
Es soll sogar direkt über den Syslog-ng möglich sein, in die Mysql zu schreiben - hab ich aber nicht ausprobiert.

Das ganze ist vielleicht nicht die beste Lösung, tut aber zuverlässig.

Gruß
OhOme

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“