Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:channels:meters:power:edl-ehz:easymeter_q3d

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
hardware:channels:meters:power:edl-ehz:easymeter_q3d [2016/10/16 17:09] – Frameformat-Link intern jauhardware:channels:meters:power:edl-ehz:easymeter_q3d [2018/03/19 20:05] – [Beispielkonfiguration] udo1
Zeile 5: Zeile 5:
 Der IR-Kopf wird mit der Zuleitung nach vorne montiert.\\ Der IR-Kopf wird mit der Zuleitung nach vorne montiert.\\
  
-Der Q3D benötigt teilweise eine Aufforderung um seine Daten zu senden. Die Kommunikation erfolgt mit [[hardware/controllers/ir-schreib-lesekopf#grundlagen|9600bd, 7E1]].\\+Der Q3D benötigt nur teilweise eine Aufforderung um seine Daten zu senden. Die Kommunikation erfolgt mit [[hardware:controllers:ir-schreib-lesekopf#grundlagen|9600bd, 7E1]].\\
 Eine vzlogger.conf zur Ermittlung der Daten, die der Zähler sendet:\\ Eine vzlogger.conf zur Ermittlung der Daten, die der Zähler sendet:\\
  
 ===== Beispielkonfiguration ===== ===== Beispielkonfiguration =====
 Eine exemplarische vzlogger.conf: Eine exemplarische vzlogger.conf:
-<code base|vzlogger-Test>+<code>
 { {
 "retry" : 0, /* how long to sleep between failed requests, in seconds */ "retry" : 0, /* how long to sleep between failed requests, in seconds */
 "daemon": true,          /* run periodically */ "daemon": true,          /* run periodically */
 "verbosity" : 15,          /* between 0 and 15 */ "verbosity" : 15,          /* between 0 and 15 */
-"log" : "/tmp/vzlogger.log",/* path to logfile, optional */+"log" : "/var/log/vzlogger.log",/* path to logfile, optional */
  
 "local" : { "local" : {
-// "enabled" : false, /* should we start the local HTTPd for serving live readings? */+        "enabled" : false, /* should we start the local HTTPd for serving live readings? */
  "port" : 8080, /* the TCP port for the local HTTPd */  "port" : 8080, /* the TCP port for the local HTTPd */
  "index" : true, /* should we provide a index listing of available channels if no UUID was requested? */  "index" : true, /* should we provide a index listing of available channels if no UUID was requested? */
Zeile 24: Zeile 24:
  "buffer" : 600 /* how long to buffer readings for the local interface, in seconds */  "buffer" : 600 /* how long to buffer readings for the local interface, in seconds */
 }, },
- +"meters": [ 
-"meters" : [+        { 
 +          "enabled": true, 
 +          "allowskip": false, 
 +          "interval": -1, 
 +          "aggtime": -1, 
 +          "aggfixedinterval": false, 
 +          "channels":
 +            { 
 +              "uuid": "hier deine, beim Erstellen des Kanals im Frontend erhaltene UUID, eintragen", 
 +              "identifier": "1.8.0", 
 +              "api": "volkszaehler", 
 +              "middleware": "http://localhost/middleware.php", 
 +              "aggmode": "none", 
 +              "duplicates":
 +            } 
 +          ],
  {  {
- "enabled" : true , 
  "protocol" : "d0",   "protocol" : "d0", 
  "baudrate" : 9600,  "baudrate" : 9600,
Zeile 33: Zeile 47:
  "parity" : "7E1",  "parity" : "7E1",
  "pullseq" : "2f3f210d0a", // nur wenn Aufforderung notwendig, sonst auskommentieren.  "pullseq" : "2f3f210d0a", // nur wenn Aufforderung notwendig, sonst auskommentieren.
- "interval" : 30, // Wartezeit bis zum nächsten Pull+ "interval" : 30, // Wartezeit bis zum nächsten Pull, NUR wenn Aufforderung notwendig. Sonst auskommentieren.
  }  }
-        ]+     ] 
 +
 +</code> 
 + 
 +===== Auslesen per NetIO ===== 
 +Wie man den Easymeter am NetIO von Pollin in den Volkszähler bekommen hat: 
 +  - Anschluss an die DSUB9 Buchse Pin 3 (Daten) und Pin 5 (GND) - Je nach Lesekopf ggf. noch eine 5V Speisung entnehmen 
 +  - Im Ethersex YPORT Node aktivieren, den Buffer unbedingt vergrößern. Bei mir ging ein Wert von 200 - zu große und zu kleine Werte führen zu Verschluckern, da der Buffer nicht richtig ausgelesen wird. 
 +  - Es ist eine Anpassung der usart.h im core Verzeichnis des Ethersex auf 7E1 erforderlich (s.u.) 
 +  - anschließend sollte man überprüfen, ob nc <ip> 7970 die Werte brav im Sekundentakt ausgibt. 
 +  - Nun gehts an vzlogger.... Besorge dir mind. vzlogger 0.3.3, erst dort ist das D0 Protokoll vorhanden, das für die Q3D Auswertung benötigt wird. 
 +  - In der /etc/vzlogger.conf stellt man nun nur noch die IP des Ethersex Moduls ein sowie seine uuid-Kanäle, dann sollte es klappen.... 
 + 
 +Auszug aus der usart.h 
 +<code> 
 +/* init the usart module */ 
 +#define generate_usart_init() \ 
 +static void \ 
 +usart_init(void) \ 
 +{\ 
 +    /* The ATmega644 datasheet suggests to clear the global\ 
 +       interrupt flags on initialization ... */\ 
 +    uint8_t sreg = SREG; cli(); \ 
 +    usart(UBRR,H) = UBRRH_VALUE;
 +    usart(UBRR,L) = UBRRL_VALUE;
 +    /* set mode: 7 bits, 1 stop, even parity, asynchronous usart 7e1 Q3D*/ \ 
 +    /*   and set URSEL, if present, */ \ 
 +    usart(UCSR,C) = _BV(usart(UCSZ,1)) | _BV(usart(UPM,1)) | _BV_URSEL; \ 
 +    /* Enable the RX interrupt and receiver and transmitter */ \ 
 +    usart(UCSR,B) |= _BV(usart(TXEN)) | _BV(usart(RXEN)) | _BV(usart(RXCIE));
 +    /* Set or not set the 2x mode */ \ 
 +    USART_2X(); \ 
 +    /* Go! */ \ 
 +    SREG = sreg;\
 } }
 </code> </code>
hardware/channels/meters/power/edl-ehz/easymeter_q3d.txt · Zuletzt geändert: 2022/09/13 18:17 von flohoff