Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:obis

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:obis [2015/06/10 17:29] – [Easymeter Q3D] homersoftware:obis [2021/05/02 11:11] (aktuell) – [Easymeter Q3D] Auflösung falsch jau
Zeile 1: Zeile 1:
 ====== OBIS ====== ====== OBIS ======
 +{{:software:obis.jpg |}}
 OBIS ("**Ob**ject **I**dentification **S**ystem") Kennzahlen (ehemals EDIS) werden zur eindeutigen Identifikation von Messwerten (Energiemengen, Zählerstände) und auch abstrakter Daten beim elektronischen Datenaustausch zwischen den beteiligten Kommunikationspartnern in verschiedenen Nachrichtentypen (MSCONS, UTILMD) verwendet. OBIS ("**Ob**ject **I**dentification **S**ystem") Kennzahlen (ehemals EDIS) werden zur eindeutigen Identifikation von Messwerten (Energiemengen, Zählerstände) und auch abstrakter Daten beim elektronischen Datenaustausch zwischen den beteiligten Kommunikationspartnern in verschiedenen Nachrichtentypen (MSCONS, UTILMD) verwendet.
  
-===== Beispiele ===== +Der Dreierblock vor dem Stern (z.B. 1.8.0*) nennt uns Messgröße.Messart.Tarif*.
-Diese Smartmeter benutzen wie auch SML die OBIS Kennzahlen nur um verschieden Messgrößen zu kennzeichnen. +
-Die Übertragenen Daten sind selbst **kein** OBIS, sondern ein zeilenbasiertes Protokoll, das in [[development:standards|DIN EN 62056-21]] beschrieben ist.+
  
-gonium hat etwas C-Code bereitgestellt um diese Daten via RS232 auszulesen: [[https://github.com/gonium/libehz|libehz]].+===== Auslesen der Zähler ===== 
 +Der [[software:controller:vzlogger|vzlogger]] zeigt bei höchster Detailstufe (''"verbosity":15,'') im Logfile alle verfügbaren Daten eines [[software:sml|SML]] sprechenden Zählers an.\\ 
 +Mit Hilfe des [[https://github.com/volkszaehler/libsml|libsml]] beiliegenden ''sml_server'' kann man die OBIS aus einem SML-Telegramm extrahieren: ''cat /dev/stromzaehler0 | ./sml_server -''\\ 
 +gonium hat etwas C-Code bereitgestellt um die Daten via RS232 auszulesen: [[https://github.com/gonium/libehz|libehz]].\\ 
 +Für node.js existiert auch ein kleines Tool: [[https://github.com/sunny5/nodeehz|nodeehz]]
  
-Für node.js existiert auch ein kleines Tool: [[https://github.com/sunny5/nodeehz|nodeehz]] +Es ist nicht ungewöhnlich das ein Zähler OBIS Codes ausgibt die gar nicht in Gebrauch sind. Die meisten Zähler listen z.B. zwei Tarife (x.x.1 und x.x.2), gezählt wird aber nur einer. Für Volkszähler ist der Gesamtwert (x.x.0) am ehesten zu gebrauchen.
  
 +===== Beispiele =====
 +Diese Smartmeter benutzen die OBIS Kennzahlen nur um verschieden Messgrößen zu kennzeichnen.
 +Die Übertragenen Daten sind selbst **kein** OBIS sondern [[software:sml|SML]], ein zeilenbasiertes Protokoll das in [[development:standards|DIN EN 62056-21]] beschrieben ist.
  
-==== Easymeter Q3D ====+==== Iskraemeco MT175 ====
  
-  /ESY5Q3DA1002 V3.021+^ OBIS-Kennzahl ^ Bezeichung ^ Kanaltyp ^ Auflösung ^ Hinweis ^ 
-  0:0.0.0*255(54920) +| ''1-0:0.0.1*255'' | Seriennummer | 
-  1-0:1.8.0*255(00003984.9338242*kWh+| ''1-0:0.0.9*255'' | "Geräteeinzelidentifikation" | 
-  1-0:21.7.255*255(000176.85*W+| ''1-0:1.8.0*255'' | Zählerstand Bezug | El. Energie (Zählerstände) | 1000 | Summe aus 1.8.1 und 1.8.2 | 
-  1-0:41.7.255*255(001025.66*W+| ''1-0:1.8.1*255'' | Zählerstand Bezug Tarif 1 | El. Energie (Zählerstände| 1000 | 
-  1-0:61.7.255*255(002529.68*W+| ''1-0:1.8.2*255'' | Zählerstand Bezug Tarif 2 | El. Energie (Zählerstände) | 1000 | 
-  1-0:1.7.255*255(003732.19*W+| ''1-0:2.8.0*255'' | Zählerstand Lieferung | El. Energie (Zählerstände| 1000 | Summe aus 2.8.1 und 2.8.2 | 
-  1-0:96.5.5*255(82+| ''1-0:2.8.1*255'' | Zählerstand Lieferung Tarif 1 | El. Energie (Zählerstände) | 1000 | 
-  0-0:96.1.255*255(1ESY0943000XXX)!+| ''1-0:2.8.2*255'' | Zählerstand LieferungTarif 2 | El. Energie (Zählerstände| 1000 | 
 +| ''1-0:16.7.0*255'' | Leistung (Momentan)| ElEnergie (Leistungswerte| | Summe aus 36.7.0, 56.7.0 und 76.7.0 | 
 +| ''1-0:36.7.0*255'' | Leistung L1 (Momentan)| ElEnergie (Leistungswerte| | 
 +| ''1-0:56.7.0*255'' | Leistung L2 (Momentan)| El. Energie (Leistungswerte) | | 
 +| ''1-0:76.7.0*255'' | Leistung L3 (Momentan)| El. Energie (Leistungswerte) | | 
 +| ''129-129:199.130.3*255'' | Herstelleridentifikation | | | Immer 3 Zeichen, z.B. "ISK"
 +| ''129-129:199.130.5*255'' | Public Key | | | Zum Prüfen der Signatur der übermittelten Daten |
  
-einige Tipps von Homer, wie er den Easymeter am NetIO von Pollin in den Volkszähler bekommen hat: +==== Easymeter Q3D ====
-  - 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....+
  
 +^ OBIS-Kennzahl ^ Bezeichung ^ Kanaltyp ^ Auflösung ^ Hinweis ^
 +| ''0:0.0.0*255(54920)'' | Eigentumsnr. |
 +| ''1-0:1.8.0*255(00003984.9338242*kWh)'' | Zählerstand Bezug | El. Energie (Zählerstände) | 1 |  |
 +| ''1-0:21.7.255*255(000176.85*W)'' | Wirkleistung L1 Bezug (Momentan) |
 +| ''1-0:41.7.255*255(001025.66*W)'' | Wirkleistung L2 Bezug (Momentan) |
 +| ''1-0:61.7.255*255(002529.68*W)'' | Wirkleistung L3 Bezug (Momentan) |
 +| ''1-0:1.7.255*255(003732.19*W)'' | Leistung (Momentan) | El. Energie (Leistungswerte) |
 +| ''1-0:96.5.5*255(82)'' | Status | | | hexadezimal |
 +| ''0-0:96.1.255*255(1ESY0943000XXX)!'' |
  
-Auszug aus der usart.h +==== Easymeter Q3M ==== 
- +^ OBIS-Kennzahl ^ Bezeichung ^ Kanaltyp ^ Auflösung ^ Hinweis ^ 
-/init the usart module */ +| ''1-0:1.8.0*255'' | Zählerstand Bezug | El. Energie (Zählerstände| 1000 |  | 
-#define generate_usart_init() \ +| ''1-0:1.8.1*255'' | Zählerstand Bezug | El. Energie (Zählerstände| 1000 | Tarif 1 | 
-static void \ +| ''1-0:1.8.2*255'' | Zählerstand Bezug | El. Energie (Zählerstände| 1000 | Tarif 2 | 
-usart_init(void+| ''1-0:2.8.0*255'' | Zählerstand Lieferung | El. Energie (Zählerstände| 1000 |  | 
-{\ +| ''1-0:16.7.0*255'' | Leistung (Momentan| El. Energie (Leistungswerte) | | Summe aus P_L1P_L2, P_L3 
-    /* The ATmega644 datasheet suggests to clear the global\ +| ''1-0:36.7.0*255'' | Leistung an L1 (Momentan) | El. Energie (Leistungswerte) | | | 
-       interrupt flags on initialization ... */\ +| ''1-0:56.7.0*255'' | Leistung an L2 (Momentan) | El. Energie (Leistungswerte| | | 
-    uint8_t sreg = SREG; cli(); \ +| ''1-0:76.7.0*255'' | Leistung an L3 (Momentan| El. Energie (Leistungswerte) | | |
-    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;\ +
-}+
  
 ==== EMH eHZ FW8E2A500AK1 ==== ==== EMH eHZ FW8E2A500AK1 ====
  
-  /EMH5----eHZ-E0028E +^ OBIS-Kennzahl ^ Bezeichung ^ Kanaltyp ^ Auflösung ^ Hinweis ^ 
-   +| ''1-0:0.0.0*255(123456-1234567)''Eigentumsnr. | 
-  1-0:0.0.0*255(123456-1234567)   <- Eigentumsnr. +| ''1-0:1.8.1*255(068673.6968)''Zählerstand Bezug Tarif 1 | El. Energie (Zählerstände) | 1000 | 
-  1-0:1.8.1*255(068673.6968)      <Zählerstand Bezug +| ''1-0:96.5.5*255(82)''Status | | | hexadezimal | 
-  1-0:96.5.5*255(82)              <Statushexadezimal +| ''0-0:96.1.255*255(0005555555)''Fabriknummer |
-  0-0:96.1.255*255(0005555555)    <Fabriknummer +
-  !+
  
 ==== Hager eHZ ===== ==== Hager eHZ =====
  
-  /HAG5eHZ010C_EHZ1vA02 +^ OBIS-Kennzahl ^ Bezeichung ^ Kanaltyp ^ Auflösung ^ Hinweis ^ 
-  +| ''1-0:0.0.0*255(1234567890123456)''Eigentumsnr. | 
-  1-0:0.0.0*255(1234567890123456) <- Eigentumsnr. +| ''1-0:1.8.0*255(000001.2963)'' | Zählerstand Bezug | El. Energie (Zählerstände) | 1000 | 
-  1-0:1.8.0*255(000001.2963) +| ''1-0:96.5.5*255(82)'' | Status | | | hexadezimal | 
-  1-0:96.5.5*255(82) +| ''0-0:96.1.255*255(0000067865)'' | 
-  0-0:96.1.255*255(0000067865) +| ''1-0:52.7.0*255(228.38*V)'' | Spannung L2 (Momentan) | 
-  1-0:52.7.0*255(228.38*V) +| ''1-0:51.7.0*255(000.16*A)'' | Strom L2 (Momentan) | 
-  1-0:51.7.0*255(000.16*A) +| ''1-0:41.7.0*255(+00026*W)'' | Wirkleistung L2 Bezug (Momentan) | 
-  1-0:41.7.0*255(+00026*W) +| ''1-0:96.50.0*0(45)'' | 
-  1-0:96.50.0*0(45) +| ''1-0:96.50.0*1(07D0)'' | | | | Netzfrequenz? | 
-  1-0:96.50.0*1(07D0) +| ''1-0:96.50.0*2(16)'' | | | | Zählertemperatur? | 
-  1-0:96.50.0*2(16) +| ''1-0:96.50.0*3(11)'' | 
-  1-0:96.50.0*3(11) +| ''1-0:96.50.0*4(1F)'' | 
-  1-0:96.50.0*4(1F) +| ''1-0:96.50.0*5(18)'' | 
-  1-0:96.50.0*5(18) +| ''1-0:96.50.0*6(003D381B070AF6B0CF05140900009F80)'' | 
-  1-0:96.50.0*6(003D381B070AF6B0CF05140900009F80) +| ''1-0:96.50.0*7(00)'' |
-  1-0:96.50.0*7(00) +
-  !+
  
-===== Weblinks ===== +===== Quellen =====
-  * [[http://www.edi-energy.de/files2/Obis-Kennzahlen_2_0_20090202..pdf|OBIS-Kennzahlen-System 2.0]] (Stand: 2. Februar 2009) +
-  * [[http://www.edi-energy.de/files2%5COBIS-Kennzahlen-System%202.2a_20130401.pdf|OBIS-Kennzahlen-System 2.2a]] (Stand 01.04.2013) +
-  * [[http://www.mscons.net/obis_kennzahlen.pdf|OBIS-Kennzahlen-System]] (Stand: Okt 2010) +
- +
-===== Quelle =====+
   * http://de.wikipedia.org/wiki/OBIS-Kennzahlen   * http://de.wikipedia.org/wiki/OBIS-Kennzahlen
 +  * https://www.promotic.eu/en/pmdoc/Subsystems/Comm/PmDrivers/IEC62056_OBIS.htm
  
  
software/obis.1433950162.txt.gz · Zuletzt geändert: 2015/06/10 17:29 von homer