Benutzer-Werkzeuge

Webseiten-Werkzeuge


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

Easymeter Q3D

Hardware

Der Q3D hat die IR-Schnittstelle oben drauf. Man benötigt eine Adapterplatte um den 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

Der Q3D benötigt nur teilweise eine Aufforderung um seine Daten zu senden. Die Kommunikation erfolgt mit 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:

  1. Anschluss an die DSUB9 Buchse Pin 3 (Daten) und Pin 5 (GND) - Je nach Lesekopf ggf. noch eine 5V Speisung entnehmen
  2. 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.
  3. Es ist eine Anpassung der usart.h im core Verzeichnis des Ethersex auf 7E1 erforderlich (s.u.)
  4. anschließend sollte man überprüfen, ob nc <ip> 7970 die Werte brav im Sekundentakt ausgibt.
  5. 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.
  6. 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;\
}
hardware/channels/meters/power/edl-ehz/easymeter_q3d.txt · Zuletzt geändert: 2022/09/13 18:17 von flohoff