Benutzer-Werkzeuge

Webseiten-Werkzeuge


ebus:ebusconnector

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
ebus:ebusconnector [2015/10/10 21:40]
127.0.0.1 Externe Bearbeitung
ebus:ebusconnector [2015/10/28 13:36]
admin ↷ Links adapted because of a move operation
Zeile 1: Zeile 1:
--- Main.BernhardH - 2010-01-07 
 ====== Was ist der eBus-Connector? ====== ====== Was ist der eBus-Connector? ======
  
 Die Software dient zum Auslesen und Speichern der Daten, welche über den eBus übertragen werden. Dabei können die Services in der Konfigurationsdatei frei festgelegt werden wodurch eine Anpassung an jegliche im Standard definierten oder herstellerspezifischen Datendefinitionen möglich ist. Die Festlegung der Datenspeicherung geschieht ebenfalls über die Konfigurationsdatei. Dort werden die SQL-Befehle festgelegt wodurch eine Anpassung an jegliche SQL-fähige Datenbank möglich ist. Die Software dient zum Auslesen und Speichern der Daten, welche über den eBus übertragen werden. Dabei können die Services in der Konfigurationsdatei frei festgelegt werden wodurch eine Anpassung an jegliche im Standard definierten oder herstellerspezifischen Datendefinitionen möglich ist. Die Festlegung der Datenspeicherung geschieht ebenfalls über die Konfigurationsdatei. Dort werden die SQL-Befehle festgelegt wodurch eine Anpassung an jegliche SQL-fähige Datenbank möglich ist.
 +
 ====== Welche Voraussetzungen sind zum Betrieb des eBus-Connectors notwendig? ====== ====== Welche Voraussetzungen sind zum Betrieb des eBus-Connectors notwendig? ======
-<blockquote>+
 ===== Hardware ===== ===== Hardware =====
 +
 Da der eBus zwar auf dem RS232-Protokoll basiert aber mit unterschiedlichen Pegeln arbeitet, ist ein Konverter notwendig. Dafür gibt es Schaltpläne für den Elektronik-Bastler (siehe unter EBusKonverter). Da der eBus zwar auf dem RS232-Protokoll basiert aber mit unterschiedlichen Pegeln arbeitet, ist ein Konverter notwendig. Dafür gibt es Schaltpläne für den Elektronik-Bastler (siehe unter EBusKonverter).
  
 Natürlich ist dann noch ein PC zur Ausführung der Software notwendig :) Natürlich ist dann noch ein PC zur Ausführung der Software notwendig :)
 +
 ===== Software ===== ===== Software =====
  
 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.
  
---&gt; EBus.DownloadEBusConnector &lt;--+-> [[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.
-</blockquote>+
  
 ====== Wie wird eBus-Connector konfiguriert? ====== ====== Wie wird eBus-Connector konfiguriert? ======
  
-Die Konfiguration erfolgt ausschließlich über die Datei &bdquo;eBusConnector.ini&ldquo;. Dabei handelt es sich um eine Textdatei im Windows-INI Format und kann mit einem jedem beliebigem Texteditor editiert werden. (Mein Favorit ist [[http://notepad-plus.sourceforge.net/de/site.htm|Notepad++]])+Die Konfiguration erfolgt ausschließlich über die Datei //eBusConnector.ini//. Dabei handelt es sich um eine Textdatei im Windows-INI Format und kann mit einem jedem beliebigem Texteditor editiert werden. (Mein Favorit ist [[http://notepad-plus.sourceforge.net/de/site.htm|Notepad++]]) 
 ===== Fertige Konfigurationen ===== ===== Fertige Konfigurationen =====
  
 Derzeit gibt es Konfigurationsdateien für Wolf Solarregler SM1 und Kaskadenmodul KM und Speicherung in einer Access-Datei. Diese Konfiguration inklusive grafischer Auswertung ist im Downloadpaket bereits enthalten. Derzeit gibt es Konfigurationsdateien für Wolf Solarregler SM1 und Kaskadenmodul KM und Speicherung in einer Access-Datei. Diese Konfiguration inklusive grafischer Auswertung ist im Downloadpaket bereits enthalten.
  
-Für<strong> Vaillant</strong> sind Konfiguration und Datenbank im Unterverzeichnis "Vaillant" enthalten. Diese beiden Dateien müssen ein Verzeichnis tiefer kopiert werden.+Für **Vaillant** sind Konfiguration und Datenbank im Unterverzeichnis "Vaillant" enthalten. Diese beiden Dateien müssen ein Verzeichnis tiefer kopiert werden. 
 ===== Datenbankverbindung (Gruppe [Db]) ===== ===== Datenbankverbindung (Gruppe [Db]) =====
  
-Hier wird der Datenbanktreiber angegeben. Beispiele dazu siehe <a target''"_blank" href''"http://www.connectionstrings.com" title''"ConnectionsStrings.com">www.connectionstrings.com</a>.<br />Beispiel für MS-Access:+Hier wird der Datenbanktreiber angegeben. Beispiele dazu siehe www.connectionstrings.com
  
-<code><file>+Beispiel für MS-Access: 
 + 
 +<code>
 Connection''Provider''Microsoft.Jet.OLEDB.4.0;Data Source''eBus.mdb Connection''Provider''Microsoft.Jet.OLEDB.4.0;Data Source''eBus.mdb
 User'' User''
 Pwd''? Pwd''?
-Provider''MSDASQL</file>+Provider''MSDASQL
 </code> </code>
  
-Beispiel für !MySQL: +Beispiel für %%MySQL:%% 
-<file>Connection''Driver''{MySQL ODBC 3.51 Driver};Server''localhost;Database''ebus;Option''3+<code>Connection''Driver''{MySQL ODBC 3.51 Driver};Server''localhost;Database''ebus;Option''3
 User''ebus User''ebus
 Pwd''? Pwd''?
-Provider''MSDASQL</file>+Provider''MSDASQL</code>
  
 ===== Schnittstellenparameter (Gruppe [eBusCom]) ===== ===== Schnittstellenparameter (Gruppe [eBusCom]) =====
  
 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.
-<code><file>+<code>
 ComNum''3 ComNum''3
 Baudrate''2400 Baudrate''2400
 FlowCtrl''0 FlowCtrl''0
 LineCondFlags''0 LineCondFlags''0
-RxCharWait''3000</file>+RxCharWait''3000
 </code> </code>
  
Zeile 57: Zeile 62:
  
 ==== Datentypen ==== ==== Datentypen ====
-<table cellspacing''"1" cellpadding''"0" rules''"all" border''"1"> <thead> <tr> <td>**Type** </td> <td>**Bereich** </td> <td>**Defaultwert** </td> </tr> </thead> <tbody> <tr> <td colspan''"3">einfach:</td> </tr> <tr> <td>char</td> <td></td> <td>FF</td> </tr> <tr> <td>signed char</td> <td></td> <td>80</td> </tr> <tr> <td>signed int</td> <td></td> <td>8000</td> </tr> <tr> <td>word</td> <td></td> <td>FFFF</td> </tr> <tr> <td colspan''"3">komplex:</td> </tr> <tr> <td>bcd</td> <td>0-99</td> <td>FF</td> </tr> <tr> <td>data1b</td> <td>-127-127</td> <td>80</td> </tr> <tr> <td>data1c</td> <td>0-100 0,5</td> <td>FF</td> </tr> <tr> <td>data2b</td> <td>-127,99-127,99 1/256</td> <td>8000</td> </tr> <tr> <td>data2c</td> <td>-2047,9-2047,9 1/16</td> <td>8000</td> </tr> <tr> <td>data2d<br /></td> <td>-3276,6-3276,6 1/10<br /></td> <td>8000</td> </tr> <tr> <td colspan''"3">spezial:</td> </tr> <tr> <td>Flags</td> <td colspan''"2">Daten werden als Binärstring ausgegeben</td> </tr> <tr> <td>Text( Anzahl )</td> <td colspan''"2">Daten werden als Text umgewandelt</td> </tr> <tr> <td>hex( Anzahl )</td> <td colspan''"2"> <table cellspacing''"1" cellpadding''"0" rules''"all" border''"1"> <tbody> <tr> </tr> <tr> <td colspan''"2">erzeugt einen Hexstring der angegebenen Anzahl Bytes als String ( z.B. "01 02 03")</td> </tr> </tbody> </table> </td> </tr> <tr> <td>text( Anzahl )</td> <td colspan''"2">Wandelt Daten in Text um. Wird z.B. in Service FE01 (Fehlernachricht) verwendet.</td> </tr> <tr> <td>SubService</td> <td colspan''"2">Gibt an, dass der Inhalt dieses Feldes ein Subservice definiert</td> </tr> <tr> <td>Analyze( Anzahl )</td> <td colspan''"2">Dient zur Analyse von unbekannten Befehlen. Es wird der Datenblock in definierter Länge mit allen einfachen und komplexen Datentypen angezeigt. So können gültige Werte einfacher aufgespürt werden.</td> </tr> </tbody> </table>+ 
 +^Type  ^Bereich  ^Defaultwert 
 +einfach: ||| 
 +|char  | |FF 
 +|signed char  | |80 
 +|signed int  | |8000 
 +|word  | |FFFF 
 +komplex: ||| 
 +|bcd  |0-99  |FF 
 +|data1b |-127-127 |80 
 +|data1c |0-100 0,5|FF 
 +|data2b |-127,99-127,99 1/256 |8000 
 +|data2c |-2047,9-2047,9 1/16 |8000 
 +|data2d |-3276,6-3276,6 1/10 |8000 
 +spezial: ||| 
 +|Flags  |Daten werden als Binärstring ausgegeben || 
 +|Text( Anzahl ) |Daten werden als Text umgewandelt || 
 +|hex( Anzahl )  |erzeugt einen Hexstring der angegebenen Anzahl Bytes als String ( z.B. "01 02 03"|| 
 +|text( Anzahl ) |Wandelt Daten in Text um. Wird z.B. in Service FE01 (Fehlernachricht) verwendet. || 
 +|%%SubService%% |Gibt an, dass der Inhalt dieses Feldes ein Subservice definiert || 
 +|Analyze( Anzahl ) |Dient zur Analyse von unbekannten Befehlen. Es wird der Datenblock in definierter Länge mit allen einfachen und komplexen Datentypen angezeigt. So können gültige Werte einfacher aufgespürt werden. ||
  
 ==== Grundparameter (Gruppe [eBusConnector]) ==== ==== Grundparameter (Gruppe [eBusConnector]) ====
-<table cellspacing''"1" cellpadding''"0" rules''"all" border''"1"> <tbody> <tr> <td>**Parameter** </td> <td>**Beschreibung** </td> </tr> <tr> <td>LogLevel</td> <td> 
  
-Legt fest, welche Informationen geloggt werden sollen.<br />Kombination folgender Werte ist möglich:<br /><br />LOG_ERROR 0x0001<br />LOG_UNDEFINED 0x0002<br />LOG_SQL 0x0004<br />LOG_INFO 0x0008<br />LOG_ALL_INPUT 0x0010 -&gt; erstellt "eBusIn.dat" mit allen vom eBus gelesenen raw-Daten<br />LOG_CHECK 0x0020<br />LOG_READ 0x0040<br />LOG_UNSAVED 0x0080<br />LOG_READ_ERROR 0x0100<br />LOG_VALUES 0x0200 -&gt; erstellt .cvs-Dateien mit gelesenen Daten lt. Definition +^Parameter ^Beschreibung ^ 
-</td> </tr> <tr> <td>ServiceDef</td> <td>Beschreibt in dieser Gruppe den Aufbau des Headers bis einschließlich Datenlänge</td> </tr> <tr> <td>Use</td> <td>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.</td> </tr> </tbody> </table>+|%%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 
 +|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. |
  
 ==== Servicedefinition (Gruppen [nnnn] oder [nnnn:ss]) ==== ==== Servicedefinition (Gruppen [nnnn] oder [nnnn:ss]) ====
  
-Dabei gibt _nnnn//die Hex-Representation des Primär- und Sekundärbefehls an und _ss//das Subservice (welches beliebig wiederholt werden kann, da jedes Subservice wiederum Subservices enthalten kann) +Dabei gibt //nnnn// die Hex-Representation des Primär- und Sekundärbefehls an und //ss// das Subservice (welches beliebig wiederholt werden kann, da jedes Subservice wiederum Subservices enthalten kann) 
-<table cellspacing''"1" cellpadding''"0" rules''"all" border''"1"> <tbody> <tr> <td>**Parameter** </td> <td>**Beschreibung** </td> </tr> <tr> <td>ServiceDef</td> <td>Definition der Datenstruktur ab hier in der Form Feldname''Datentype %VBAR% Feldname2''Datentype2 [%VBAR%...]</td> </tr> <tr> <td>Check</td> <td>SQL-Statement, welches prüft, ob die Daten verarbeitet werden müssen. 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.</td</tr<tr<td>MinInteral</td> <td>+ 
 +^Parameter  ^Beschreibung 
 +|%%ServiceDef%% |Definition der Datenstruktur ab hier in der Form %%Feldname=Datentype Feldname2=Datentype2 [|...]%% | 
 +|Check  |SQL-Statement, welches prüft, ob die Daten verarbeitet werden müssen. 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. 
 +|%%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. | 
 +|%%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. |
  
-Mindestzeit zwischen zwei Ausführungen Beispiele: (Werte ohne Anführungszeichen eintragen)<br />"80 s" -&gt; 80 Sekunden<br />"1 h" -&gt; eine Stunde<br />"2 d" -&gt; 2 Tage<br />"1500" -&gt; 1500 millisekunden ( 1,5 Sekunden)<br />"1 d 5 h 30 m" -&gt; Kombination der Werte möglich 
-</td> </tr> <tr> <td>CheckChanges</td> <td>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.</td> </tr> <tr> <td>CheckMode</td> <td>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.</td> </tr> <tr> <td>SUBSERVICEDEFINITION:</td> <td>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.</td> </tr> </tbody> </table> 
  
 ====== Wie beginnen... ====== ====== Wie beginnen... ======
  
-Um einfach alle Daten anzuzeigen welche am eBus transportiert werden, können einfach die Use-Einträge in der Gruppe [eBusConnector] auskommentiert werden und der Eintrag !LogLevel auf 0x0241 setzen.+Um einfach alle Daten anzuzeigen welche am eBus transportiert werden, können einfach die Use-Einträge in der Gruppe [eBusConnector] auskommentiert werden und der Eintrag %%LogLevel%% auf 0x0241 setzen. 
 <file>Unknown Service 0700 read: 30 FE 07 00 09 00 80 10 43 21 FF FF 03 FF FB</file> <file>Unknown Service 0700 read: 30 FE 07 00 09 00 80 10 43 21 FF FF 03 FF FB</file>
  
 Dann können die benötigten Servicedaten mit Use eingehängt und noch nicht definierte Services auf Grund der Dokumentation definiert werden (siehe Servicedefiniton). In obigem Beispiel ergibt sich folgende Definiton: Dann können die benötigten Servicedaten mit Use eingehängt und noch nicht definierte Services auf Grund der Dokumentation definiert werden (siehe Servicedefiniton). In obigem Beispiel ergibt sich folgende Definiton:
-<table cellspacing''"1" cellpadding''"0" rules''"all" border''"1"> <tbody> <tr> <td>QQ</td> <td>30</td> <td></td> </tr> <tr> <td>ZZ</td> <td>FE</td> <td>Broadcast</td> </tr> <tr> <td>PB</td> <td>07</td> <td>Primärbefehl</td> </tr> <tr> <td>SB</td> <td>00</td> <td>Sekundärbefehl</td> </tr> <tr> <td>LL</td> <td>09</td> <td>Datenlänge</td> </tr> <tr> <td>00 80</td> <td>Außentemperatur (data2b, 1/256)</td> </tr> <tr> <td>10</td> <td>Sekunden (BCD)</td> </tr> <tr> <td>43</td> <td>Minuten (BCD)</td> </tr> <tr> <td>21</td> <td>Stunden (BCD)</td> </tr> <tr> <td>FF</td> <td>Tag (BCD)</td> </tr> <tr> <td>FF</td> <td>Monat (BCD)</td> </tr> <tr> <td>03</td> <td>Wochentag (BCD)</td> </tr> <tr> <td>FF</td> <td>Jahr (BCD)</td> </tr> <tr> <td>FB</td> <td>Prüfziffer</td> </tr> </tbody> </table> 
  
-<code><file>[eBusConnector]+|QQ |30 || 
 +|ZZ |FE |Broadcast | 
 +|PB |07 |Primärbefehl | 
 +|SB |00 |Sekundärbefehl | 
 +|LL |09 |Datenlänge | 
 +|00 80 |Außentemperatur (data2b, 1/256) || 
 +|10 |Sekunden (BCD) || 
 +|43 |Minuten (BCD) || 
 +|21 |Stunden (BCD) || 
 +|FF |Tag (BCD) || 
 +|FF |Monat (BCD) || 
 +|03 |Wochentag (BCD) || 
 +|FF |Jahr (BCD) || 
 +|FB |Prüfziffer || 
 + 
 + 
 +<file>[eBusConnector]
 Use''0700 Use''0700
  
Zeile 90: 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 98: Zeile 145:
 eine weitere Möglichkeit ist die Verwendung der Analysefunktion: eine weitere Möglichkeit ist die Verwendung der Analysefunktion:
  
-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 107: 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!
  
 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 122: Zeile 171:
  
 </file> </file>
-</code>+
  
 --- ---
Zeile 131: Zeile 180:
  
 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 306: 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>
- +
-<div style''"position: absolute; left: -10000px; top: 1740px; width: 1px; height: 1px; overflow: hidden;" id''"_mcePaste"> <table cellspacing''"1" cellpadding''"0" rules''"all" border''"1"> <tbody> <tr> <td>hex( Anzahl )</td> <td colspan''"2">erzeugt einen Hexstring der angegebenen Anzahl Bytes als String ( z.B. "01 02 03")</td> </tr> </tbody> </table> </div>+
  
  
ebus/ebusconnector.txt · Zuletzt geändert: 2016/01/11 15:16 von bernhardh