Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
ebus:ebusconnector [2015/10/27 20:30] admin alte Version wiederhergestellt (2015/10/11 08:02) |
ebus:ebusconnector [2016/01/11 15:16] bernhardh |
||
---|---|---|---|
Zeile 15: | Zeile 15: | ||
Der eBus-Connector ist ab**Windows** XP lauffähig, wobei ich Windows 7 noch nicht getestet habe, sollte aber kein Problem sein (Tester gesucht). Zum Speichern der Daten ist ein ODBC- oder OLEDB-Treiber für Windows notwendig. Dieser ist für MS-Access im Betriebssystem bereits inkludiert. | Der eBus-Connector ist ab**Windows** XP lauffähig, wobei ich Windows 7 noch nicht getestet habe, sollte aber kein Problem sein (Tester gesucht). Zum Speichern der Daten ist ein ODBC- oder OLEDB-Treiber für Windows notwendig. Dieser ist für MS-Access im Betriebssystem bereits inkludiert. | ||
- | -> DownloadEBusConnector <- | + | -> [[ebus: |
Für **Linux** gibt es den LinuxKonnektor von Main.FrankWeis als Perl-Script zum download. | Für **Linux** gibt es den LinuxKonnektor von Main.FrankWeis als Perl-Script zum download. | ||
Zeile 36: | Zeile 36: | ||
< | < | ||
- | Connection'' | + | Connection=Provider=Microsoft.Jet.OLEDB.4.0; |
- | User'' | + | User= |
- | Pwd'' | + | Pwd=? |
- | Provider'' | + | Provider=MSDASQL |
</ | </ | ||
Beispiel für %%MySQL:%% | Beispiel für %%MySQL:%% | ||
- | < | + | < |
- | User'' | + | User=ebus |
- | Pwd'' | + | Pwd=? |
- | Provider'' | + | Provider=MSDASQL</ |
===== Schnittstellenparameter (Gruppe [eBusCom]) ===== | ===== Schnittstellenparameter (Gruppe [eBusCom]) ===== | ||
Zeile 52: | Zeile 52: | ||
Hier wird die zu verwendende serielle Schnittstelle festgelegt. In diesem Beispiel Com3. Die restlichen Parameter sind auf den eBus-Standard abgestimmt und sollten keine Änderung benötigen. | Hier wird die zu verwendende serielle Schnittstelle festgelegt. In diesem Beispiel Com3. Die restlichen Parameter sind auf den eBus-Standard abgestimmt und sollten keine Änderung benötigen. | ||
< | < | ||
- | ComNum'' | + | ComNum=3 |
- | Baudrate'' | + | Baudrate=2400 |
- | FlowCtrl'' | + | FlowCtrl=0 |
- | LineCondFlags'' | + | LineCondFlags=0 |
- | RxCharWait'' | + | RxCharWait=3000 |
</ | </ | ||
Zeile 128: | Zeile 128: | ||
- | < | + | < |
- | Use'' | + | Use=0700 |
[0700] | [0700] | ||
- | ServiceDef'' | + | ServiceDef=AussenTemp=data2b | Sekunden=bcd | Minuten=bcd | Stunden=bcd | Tag=bcd | Monat=bcd | Wochentag=bcd | Jahr=bcd |
; Anzeige der Daten | ; Anzeige der Daten | ||
- | Sql'' | + | Sql=Select ' |
- | MinInterval'' | + | MinInterval=1 m |
</ | </ | ||
- | </ | + | |
Im obigen Beispiel werden keine Daten gespeichert, | Im obigen Beispiel werden keine Daten gespeichert, | ||
Zeile 147: | Zeile 147: | ||
Dazu sind die zu analysierenden Services mit dem Typ " | Dazu sind die zu analysierenden Services mit dem Typ " | ||
- | < | + | < |
- | LogLevel'' | + | LogLevel=0x0347 |
- | Use'' | + | Use=0700 |
[0700] | [0700] | ||
- | ServiceDef'' | + | ServiceDef=analyze(9) |
</ | </ | ||
- | </ | + | |
Nun wird eine Datei mit dem Namen " | Nun wird eine Datei mit dem Namen " | ||
Zeile 161: | Zeile 161: | ||
Habe ich nun durch die Analyse der cvs-Datei herausgefunden (das geht sehr gut mit der grafischen Darstellung der Daten in Excel und die Verwendung der Filterfunktion) welche Daten an bestimmten Stellen enthalten sind, dann kann die Servicedefinition erweitert werden. Dadurch entstehen weniger Analysedaten. | Habe ich nun durch die Analyse der cvs-Datei herausgefunden (das geht sehr gut mit der grafischen Darstellung der Daten in Excel und die Verwendung der Filterfunktion) welche Daten an bestimmten Stellen enthalten sind, dann kann die Servicedefinition erweitert werden. Dadurch entstehen weniger Analysedaten. | ||
- | < | + | < |
- | LogLevel'' | + | LogLevel=0x0347 |
- | Use'' | + | Use=0700 |
[0700] | [0700] | ||
- | ServiceDef'' | + | ServiceDef=AussenTemp=data2b | analyze(7) |
</ | </ | ||
- | </ | + | |
--- | --- | ||
Zeile 181: | Zeile 181: | ||
Mit dieser Datei logge ich die Daten meiner Wolf Solaranlage (SM1) und Wolf Regler (KM1) und speichere alle 20 Minuten einen Datensatz für spätere Auswertungen und grafische Darstellung. | Mit dieser Datei logge ich die Daten meiner Wolf Solaranlage (SM1) und Wolf Regler (KM1) und speichere alle 20 Minuten einen Datensatz für spätere Auswertungen und grafische Darstellung. | ||
- | < | + | < |
+ | ; Datenbankanbindung | ||
; Sollte keine Access-MDB verwendet werden, dann hier den Connectionstring eintragen | ; Sollte keine Access-MDB verwendet werden, dann hier den Connectionstring eintragen | ||
; (siehe www.connectionstrings.com) | ; (siehe www.connectionstrings.com) | ||
[Db] | [Db] | ||
- | Connection'' | + | Connection=Provider=Microsoft.Jet.OLEDB.4.0; |
- | User'' | + | User= |
- | Pwd'' | + | Pwd=? |
- | Provider'' | + | Provider=MSDASQL |
; | ; | ||
Zeile 196: | Zeile 197: | ||
; die anderen Einstellungen sollten für eBus passen und sollten nicht geändert werden. | ; die anderen Einstellungen sollten für eBus passen und sollten nicht geändert werden. | ||
[eBusCom] | [eBusCom] | ||
- | ComNum'' | + | ComNum=3 |
- | Baudrate'' | + | Baudrate=2400 |
- | FlowCtrl'' | + | FlowCtrl=0 |
- | LineCondFlags'' | + | LineCondFlags=0 |
- | RxCharWait'' | + | RxCharWait=3000 |
; | ; | ||
Zeile 207: | Zeile 208: | ||
; wenn Timestamps als Keyfelder verwendet werden. Bei 0 werden die Daten ohne Verzögerung gelesen. | ; wenn Timestamps als Keyfelder verwendet werden. Bei 0 werden die Daten ohne Verzögerung gelesen. | ||
[eBusFile] | [eBusFile] | ||
- | InputFile'' | + | InputFile=eBusIn.dat |
- | CharDelay'' | + | CharDelay=1 |
; | ; | ||
Zeile 216: | Zeile 217: | ||
; Servicedefinition: | ; Servicedefinition: | ||
; Parameter: | ; Parameter: | ||
- | ; ServiceDef'' | + | ; ServiceDef= Definition der Datenstruktur in der Form Feldname=Datentype | Feldname2=Datentype2 [|...] |
- | ; Check'' | + | ; Check= SQL-Statement, |
; Es wird nichts bearbeitet, wenn Recordset mit 0 Datensätzen oder 1.Feld des 1.Datensatzes den Wert 0 enthält. | ; Es wird nichts bearbeitet, wenn Recordset mit 0 Datensätzen oder 1.Feld des 1.Datensatzes den Wert 0 enthält. | ||
; Damit sind Prüfungen möglich in der Form von Berechnungen oder in Abhängigkeit von anderen Werten in der Db. | ; Damit sind Prüfungen möglich in der Form von Berechnungen oder in Abhängigkeit von anderen Werten in der Db. | ||
- | ; MinInteral'' | + | ; MinInteral= Mindestzeit zwischen zwei Ausführungen |
; Beispiele: (Werte ohne Anführungszeichen eintragen) | ; Beispiele: (Werte ohne Anführungszeichen eintragen) | ||
; "80 s" -> 80 Sekunden | ; "80 s" -> 80 Sekunden | ||
Zeile 231: | Zeile 232: | ||
; welche unterschiedlich sein müssen. z.B.: %From%%To%. Damit wird erreicht, dass nur geänderte Daten | ; welche unterschiedlich sein müssen. z.B.: %From%%To%. Damit wird erreicht, dass nur geänderte Daten | ||
; gespeichert werden. | ; gespeichert werden. | ||
- | ; CheckMode'' | + | ; CheckMode= Kann den Wert AND oder OR haben. Defaultwert AND bedeutet, dass MinInterval und CheckChanges zutreffen müssen |
; um eine Aktion durchzuführen. Bei OR wird der Satz bearbeitet, wenn entweder MinInterval erreicht oder | ; um eine Aktion durchzuführen. Bei OR wird der Satz bearbeitet, wenn entweder MinInterval erreicht oder | ||
; CheckChanges zutrifft. | ; CheckChanges zutrifft. | ||
; | ; | ||
- | ; Use'' | + | ; Use= Gibt an, welche Befehle definiert und für die Weiterbearbeitung verwendet werden sollen. |
; Die Definition beginnt bei der Gruppe [eBusConnector] und geht bei jedem mit " | ; Die Definition beginnt bei der Gruppe [eBusConnector] und geht bei jedem mit " | ||
; weiter. Es kann beliebig weiterverzweigt werden. | ; weiter. Es kann beliebig weiterverzweigt werden. | ||
Zeile 260: | Zeile 261: | ||
; SUBSERVICEDEFINITION: | ; SUBSERVICEDEFINITION: | ||
; Wird ein Feld als " | ; Wird ein Feld als " | ||
- | ; Es muss wieder mit Use'' | + | ; Es muss wieder mit Use= festgelegt werden, welche Subservices bearbeitet werden sollen. Der Gruppenname für die |
; definition wird entsprechend erweitert (siehe Service [0503] | ; definition wird entsprechend erweitert (siehe Service [0503] | ||
; In jedem SubService kann auf die Variablen der darüberliegenden definitionen zugegriffen werden. | ; In jedem SubService kann auf die Variablen der darüberliegenden definitionen zugegriffen werden. | ||
Zeile 266: | Zeile 267: | ||
; | ; | ||
[eBusConnector] | [eBusConnector] | ||
- | CommType'' | + | CommType=$COMMTYPE$ |
; Loglevel: Kombination folgender Werte (Beginn mit 0x... für Hex-Wert, 0... für Octal) | ; Loglevel: Kombination folgender Werte (Beginn mit 0x... für Hex-Wert, 0... für Octal) | ||
Zeile 279: | Zeile 280: | ||
; LOG_READ_ERROR | ; LOG_READ_ERROR | ||
; LOG_VALUES | ; LOG_VALUES | ||
- | LogLevel'' | + | LogLevel=0x0107 |
; Header: QQ ZZ PB SB NN | ; Header: QQ ZZ PB SB NN | ||
- | ServiceDef'' | + | ServiceDef=From=char | To=char | Service=char | SubService=char | DataLen=char |
; Standard | ; Standard | ||
- | Use'' | + | Use=0700 |
- | Use'' | + | Use=0800 |
- | Use'' | + | Use=0503 |
- | Use'' | + | Use=0507 |
; Kromschröder / Wolf | ; Kromschröder / Wolf | ||
- | Use'' | + | Use=5017 |
- | Use'' | + | Use=5018 |
[0700] | [0700] | ||
- | ServiceDef'' | + | ServiceDef=AussenTemp=data2b | Sekunden=bcd | Minuten=bcd | Stunden=bcd | Tag=bcd | Monat=bcd | Wochentag=bcd | Jahr=bcd |
; Anzeige der Daten | ; Anzeige der Daten | ||
- | Sql'' | + | Sql=Select ' |
- | MinInterval'' | + | MinInterval=1 m |
- | NextWrite'' | + | NextWrite=B9FD4106DE9EE34000000000 |
[0503] | [0503] | ||
- | ServiceDef'' | + | ServiceDef=Blocknummer=SubService |
- | Use'' | + | Use=01 |
- | Use'' | + | Use=02 |
[0503:01] | [0503:01] | ||
- | ServiceDef | + | ServiceDef |
- | Sql'' | + | Sql=UPDATE eBusCurrent SET SammlerTemp=%Kesseltemp%, |
- | Check'' | + | Check=SELECT %From%=241 AND %To%=254 |
- | CheckChanges'' | + | CheckChanges=%KesselTemp%|%BoilerTemp% |
- | MinInterval'' | + | MinInterval=30 s |
- | LastCmd'' | + | LastCmd=43.0|35 |
- | NextWrite'' | + | NextWrite=3D159805DE9EE34000000000 |
- | 0503:02] | + | [0503:02] |
- | ServiceDef | + | ServiceDef |
- | Sql'' | + | Sql=SELECT %Blocknummer% AS Blocknummer, |
[0507] | [0507] | ||
- | ServiceDef | + | ServiceDef |
- | MinInterval'' | + | MinInterval=20 m |
- | NextWrite'' | + | NextWrite=A4703D8AB697E34000000000 |
[0800] | [0800] | ||
- | ServiceDef | + | ServiceDef |
- | Sql'' | + | Sql=UPDATE eBusCurrent SET KesselSollTemp=%Kesselsolltemp%, |
- | ;Sql'' | + | ;Sql=INSERT INTO Kessel ( KesselSollTemp, |
- | Check'' | + | Check=SELECT %From%=241 AND %To%=16 |
- | MinInterval'' | + | MinInterval=5 m |
- | NextWrite'' | + | NextWrite=1598C51DDE9EE34000000000 |
[5017] | [5017] | ||
- | ServiceDef | + | ServiceDef |
- | Sql'' | + | Sql=[5017: |
[5017: | [5017: | ||
- | Sql'' | + | Sql=UPDATE eBusCurrent Set S1Pumpe=%SolarPumpe%, |
- | MinInterval'' | + | MinInterval=20 s |
- | CheckMode'' | + | CheckMode=OR |
- | CheckChanges'' | + | CheckChanges=%KollektorTemp% |
- | NextWrite'' | + | NextWrite=44444404DE9EE34000000000 |
- | LastCmd'' | + | LastCmd=-11.31 |
[5017: | [5017: | ||
- | Sql'' | + | Sql=INSERT INTO eBusHistory SELECT** From eBusCurrent |
- | MinInterval'' | + | MinInterval=20 m |
- | NextWrite'' | + | NextWrite=CCD78D6EDE9EE34000000000 |
[5018] | [5018] | ||
- | ServiceDef | + | ServiceDef |
- | Sql'' | + | Sql=INSERT INTO SolarErtrag( Leistung, Tagesertrag, |
- | MinInterval'' | + | MinInterval=1 h |
- | CheckChanges'' | + | CheckChanges=sql |
- | NextWrite'' | + | NextWrite=C4C92455DE9EE34000000000 |
- | LastCmd'' | + | LastCmd=INSERT INTO SolarErtrag( Leistung, Tagesertrag, |
- | </code> | + | </ |