Benutzer-Werkzeuge

Webseiten-Werkzeuge


ebus:ebusconnector

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
ebus:ebusconnector [2015/10/11 08:02]
bernhardh
ebus:ebusconnector [2015/10/28 13:36]
admin ↷ Links adapted because of a move operation
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:download:ebusconnector|DownloadEBusConnector]] <-
  
 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 87: Zeile 87:
  
 ^Parameter ^Beschreibung ^ ^Parameter ^Beschreibung ^
-|LogLevel |Legt fest, welche Informationen geloggt werden sollen.\\ Kombination folgender Werte ist möglich:\\ \\ LOG_ERROR 0x0001\\ LOG_UNDEFINED 0x0002\\ LOG_SQL 0x0004\\ LOG_INFO 0x0008\\ LOG_ALL_INPUT 0x0010 -> erstellt "eBusIn.dat" mit allen vom eBus gelesenen raw-Daten\\ LOG_CHECK 0x0020\\ LOG_READ 0x0040\\ LOG_UNSAVED 0x0080\\ LOG_READ_ERROR 0x0100\\ LOG_VALUES 0x0200 -> erstellt .cvs-Dateien mit gelesenen Daten lt. Definition |+|%%LogLevel%%  |Legt fest, welche Informationen geloggt werden sollen.\\ Kombination folgender Werte ist möglich:\\ \\ LOG_ERROR 0x0001\\ LOG_UNDEFINED 0x0002\\ LOG_SQL 0x0004\\ LOG_INFO 0x0008\\ LOG_ALL_INPUT 0x0010 -> erstellt "eBusIn.dat" mit allen vom eBus gelesenen raw-Daten\\ LOG_CHECK 0x0020\\ LOG_READ 0x0040\\ LOG_UNSAVED 0x0080\\ LOG_READ_ERROR 0x0100\\ LOG_VALUES 0x0200 -> erstellt .cvs-Dateien mit gelesenen Daten lt. Definition |
 |%%ServiceDef%% |Beschreibt in dieser Gruppe den Aufbau des Headers bis einschließlich Datenlänge | |%%ServiceDef%% |Beschreibt in dieser Gruppe den Aufbau des Headers bis einschließlich Datenlänge |
 |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 "Use" angeführten Befehl weiter. Es kann beliebig weiterverzweigt werden. | |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 "Use" angeführten Befehl weiter. Es kann beliebig weiterverzweigt werden. |
Zeile 100: Zeile 100:
 |%%MinInteral%% |Mindestzeit zwischen zwei Ausführungen Beispiele: (Werte ohne Anführungszeichen eintragen)\\ "80 s" -> 80 Sekunden\\ "1 h" -> eine Stunde\\ "2 d" -> 2 Tage\\ "1500" -> 1500 millisekunden ( 1,5 Sekunden)\\ "1 d 5 h 30 m" -> Kombination der Werte möglich | |%%MinInteral%% |Mindestzeit zwischen zwei Ausführungen Beispiele: (Werte ohne Anführungszeichen eintragen)\\ "80 s" -> 80 Sekunden\\ "1 h" -> eine Stunde\\ "2 d" -> 2 Tage\\ "1500" -> 1500 millisekunden ( 1,5 Sekunden)\\ "1 d 5 h 30 m" -> Kombination der Werte möglich |
 |%%CheckChanges%% |entweder "sql", wenn der komplette erzeugte SQL-Befehl unterschiedlich sein muss oder Felder, welche unterschiedlich sein müssen. z.B.: %From%!%To%. Damit wird erreicht, dass nur geänderte Daten gespeichert werden. | |%%CheckChanges%% |entweder "sql", wenn der komplette erzeugte SQL-Befehl unterschiedlich sein muss oder Felder, welche unterschiedlich sein müssen. z.B.: %From%!%To%. Damit wird erreicht, dass nur geänderte Daten gespeichert werden. |
-|%%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 MinInterva l erreicht oder CheckChanges zutrifft. | +|%%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 %%CheckChanges%% zutrifft. | 
-|SUBSERVICEDEFINITION: |Wird ein Feld als "SubService" definiert, dann legt der Feldinhalt das zu verwendende SubService fest. Es muss wieder mit Use= festgelegt werden, welche Subservices bearbeitet werden sollen. Der Gruppenname für die Definition wird entsprechend erweitert (siehe Service [0503] ; In jedem SubService kann auf die Variablen der darüberliegenden Definitionen zugegriffen werden. Das gilt auch für die globalen Variablen des Headers, welche in der Gruppe [eBusConnector] definiert werden. |+|SUBSERVICEDEFINITION: |Wird ein Feld als "%%SubService%%" definiert, dann legt der Feldinhalt das zu verwendende %%SubService%% fest. Es muss wieder mit Use= festgelegt werden, welche Subservices bearbeitet werden sollen. Der Gruppenname für die Definition wird entsprechend erweitert (siehe Service [0503] ; In jedem %%SubService%% kann auf die Variablen der darüberliegenden Definitionen zugegriffen werden. Das gilt auch für die globalen Variablen des Headers, welche in der Gruppe [eBusConnector] definiert werden. |
  
  
Zeile 128: Zeile 128:
  
  
-<code><file>[eBusConnector]+<file>[eBusConnector]
 Use''0700 Use''0700
  
Zeile 137: Zeile 137:
 MinInterval''1 m MinInterval''1 m
 </file> </file>
-</code>+
  
 Im obigen Beispiel werden keine Daten gespeichert, sondern nur angezeigt. Sollen diese Daten gespeichert werden, dann muss zuerst in der Datenbank ein entsprechendes Datenfeld dafür vorhanden sein. Ist das nicht der Fall, dann zuerst ein entsprechendes Datenfeld in der Datenbank anlegen. Im obigen Beispiel werden keine Daten gespeichert, sondern nur angezeigt. Sollen diese Daten gespeichert werden, dann muss zuerst in der Datenbank ein entsprechendes Datenfeld dafür vorhanden sein. Ist das nicht der Fall, dann zuerst ein entsprechendes Datenfeld in der Datenbank anlegen.
Zeile 147: Zeile 147:
 Dazu sind die zu analysierenden Services mit dem Typ "analyze" zu definieren und der %%LogLevel%% auf LOG_VALUES gestellt werden. Dazu sind die zu analysierenden Services mit dem Typ "analyze" zu definieren und der %%LogLevel%% auf LOG_VALUES gestellt werden.
  
-<code><file>[eBusConnector]+<file>[eBusConnector]
 LogLevel''0x0347 LogLevel''0x0347
  
Zeile 155: Zeile 155:
 ServiceDef''analyze(9) ServiceDef''analyze(9)
 </file> </file>
-</code>+
  
 Nun wird eine Datei mit dem Namen "0700.cvs" erstellt welche alle möglichen Werte der verschiedenen Datentypen aller gelesenen Servicedaten enthält. Da können schon große Datenmengen zustande kommen! Nun wird eine Datei mit dem Namen "0700.cvs" erstellt welche alle möglichen Werte der verschiedenen Datentypen aller gelesenen Servicedaten enthält. Da können schon große Datenmengen zustande kommen!
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.
  
-<code><file>[eBusConnector]+<file>[eBusConnector]
 LogLevel''0x0347 LogLevel''0x0347
  
Zeile 171: Zeile 171:
  
 </file> </file>
-</code>+
  
 --- ---
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.
  
-<code><file>; Datenbankanbindung+<file> 
 +; 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)
Zeile 356: Zeile 357:
 CheckChanges''sql CheckChanges''sql
 NextWrite''C4C92455DE9EE34000000000 NextWrite''C4C92455DE9EE34000000000
-LastCmd''INSERT INTO SolarErtrag( Leistung, Tagesertrag, SummeErtrag, Timst ) VALUES ( 0.00, 2** 1000 + 139, 1** 1000000 + 452** 1000 + 833, NOW() )</p></file+LastCmd''INSERT INTO SolarErtrag( Leistung, Tagesertrag, SummeErtrag, Timst ) VALUES ( 0.00, 2** 1000 + 139, 1** 1000000 + 452** 1000 + 833, NOW() ) 
-</code>+</file>
  
  
ebus/ebusconnector.txt · Zuletzt geändert: 2016/01/11 15:16 von bernhardh