====== Easymeter Q3D ====== ===== Hardware ===== Der Q3D hat die IR-Schnittstelle oben drauf. Man benötigt eine [[hardware:controllers:ir-schreib-lesekopf_easymeter-adapter|Adapterplatte]] um den [[hardware:controllers:ir-schreib-lesekopf-usb-ausgang|IR-Schreib-Lesekopf]] zu befestigen.\\ Der IR-Kopf wird mit der Zuleitung nach vorne montiert.\\ Alternativ gleich ein 3D gedrucktes Gehäuse für die Montage einer NodeMCU auf dem Easymeter. [[https://github.com/flohoff/easymeterq3d-topcase|https://github.com/flohoff/easymeterq3d-topcase]] 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:\\ ===== Beispielkonfiguration ===== Eine exemplarische vzlogger.conf: { "retry": 0, "verbosity": 15, "log": "/var/log/vzlogger/vzlogger.log", "local": { "enabled": false, "port": 8081, "index": false, "timeout": 0, "buffer": 0 }, "meters": [ { "enabled": true, "allowskip": false, "interval": -1, "aggtime": -1, "aggfixedinterval": false, "channels": [ { "api": "volkszaehler", "uuid": "hier deine, beim Erstellen des Kanals im Frontend erhaltene UUID, eintragen", "identifier": "1-0:1.8.0", "middleware": "http://localhost/middleware.php", "aggmode": "none", "duplicates": 0 } ], "protocol": "d0", "device": "/dev/ttyUSB0", "baudrate": 9600, "parity": "7e1" } ] } ===== 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 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 /* 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;\ }