[vz-users] OBIS_Code Ignored reading

Andreas Götz cpuidle at gmail.com
Tue Feb 17 22:05:48 CET 2015


...und danach muss Reto von Hand kompilieren oder ein neues Image nehmen...

Viele Grüße, Andreas




> Am 17.02.2015 um 21:55 schrieb Matthias Behr <mbehr at mcbehr.de>:
> 
> Danke für die Infos. Nehme ich in die Unit Tests mit auf.
> 
> Ich stelle den als PR (PullRequest) bereit. Den kannst du dann schon testen. (per git clone …).
> 
> Dann dauert es typisch ein paar Tage, bis er im Master Branch enthalten ist. Abhängig von Testerg., Review Results,…
> 
> PR dauert aber bis morgen Abend.
> 
>> Am 17.02.2015 um 21:50 schrieb Reto <reto.roelli at gmx.ch>:
>> 
>> Dies hier sind alle Codes die gem. Landis und Gyr von diesem Zählertyp ausgegeben werden:
>> 
>> F.F       00
>> 0.0
>> C.1.0
>> C.1.1
>> 1.8.1     003400.447 kWh
>> 1.8.2     005230.688 kWh
>> 2.8.1     000000.000 kWh
>> 2.8.2     000000.842 kWh
>> 1.8.0     008631.135 kWh
>> 2.8.0     000000.842 kWh
>> 15.8.0    008631.122 kWh
>> 16.7
>> C.7.0     0118
>> 32.7      248 V
>> 52.7      248 V
>> 72.7      009 V
>> 31.7      000.03 A
>> 51.7      000.04 A
>> 71.7      000.05 A
>> 82.8.1    0001
>> 82.8.2    0000
>> 0.2.0     M23
>> C.5.0     0433
>> 
>> Wie komme ich dann am besten an den neuen Parser ran?
>> 
>> Vielen Dank für eure super Hilfe hier.
>> 
>> Gruss Reto
>> 
>>> Am 17.02.2015 um 21:42 schrieb Matthias Behr:
>>> ok die sind gültig. DIe anderen Logger geben aber statt „31.7“ ein „1.31.7“ aus.
>>> 
>>> Ich passe den Parser an.
>>> 
>>> 
>>>> Am 17.02.2015 um 21:30 schrieb Matthias Behr <mbehr at mcbehr.de>:
>>>> 
>>>> Hmm. Das Problem ist, dass der Obis-Code „32.7“ nicht akzeptiert wird. Der muss (lt. akt. Implementierung) mit 0,1,2 oder C,F anfangen.
>>>> 
>>>> Ist das ein gültiger Code?
>>>> 
>>>> 
>>>> 
>>>>                switch (obis_code[0]) { // let's check sanity of first char. we can't use isValid() as here we get incomplete obis_codes as well (e.g. 1.8.0 -> 255-255:1.8.0)
>>>>                case '0': // nobreak;
>>>>                case '1': // nobreak;
>>>>                case '2': // nobreak;
>>>>                case 'C': // nobreak;
>>>>                case 'F':
>>>>                    print(log_debug, "Parsed reading (OBIS code=%s, value=%s, unit=%s)",
>>>>                                    name().c_str(), obis_code, value, unit);
>>>>                    rds[number_of_tuples].value(strtod(value, NULL));
>>>> 
>>>>                    try {
>>>>                        Obis obis(obis_code);
>>>>                        ReadingIdentifier *rid(new ObisIdentifier(obis));
>>>>                        rds[number_of_tuples].identifier(rid);
>>>>                        rds[number_of_tuples].time();
>>>>                        number_of_tuples++;
>>>>                    } catch (vz::VZException &e) {
>>>>                        print(log_error, "Failed to parse obis code (%s)", name().c_str(), obis_code);
>>>>                    }
>>>>                break;
>>>>                default:
>>>>                    print(log_debug, "Ignored reading (OBIS code=%s, value=%s, unit=%s)",
>>>>                                    name().c_str(), obis_code, value, unit);
>>>> 
>>>> 
>>>>> Am 17.02.2015 um 16:35 schrieb Reto <reto.roelli at gmx.ch>:
>>>>> 
>>>>> Hallo,
>>>>> 
>>>>> Ich verwende ein aktuelles Raspi-Image für den volkszähler.
>>>>> 
>>>>> Am Raspi ist der USB-Lesekopf von UDO mont.
>>>>> 
>>>>> Ausgelesen wird ein E350 von Landis+Gyr per d0.
>>>>> 
>>>>> Das Ganze funktioniert soweit, nur leider werden bei gewissen OBIS Codes im vzlogger.log "Ignored reading" angezeigt.
>>>>> Somit kann ich dann die Werte auch nicht für die weitere Verwendung gebrauchen.
>>>>> 
>>>>> Hier ein ausschnitt aus dem vzlogger.log:
>>>>> 
>>>>> [Feb 17 12:38:43][d0]   DEBUG OBIS_CODE byte
>>>>> hex= A
>>>>> [Feb 17 12:38:43][d0]   DEBUG OBIS_CODE byte 3 hex= 33
>>>>> [Feb 17 12:38:43][d0]   DEBUG OBIS_CODE byte 2 hex= 32
>>>>> [Feb 17 12:38:43][d0]   DEBUG OBIS_CODE byte . hex= 2E
>>>>> [Feb 17 12:38:43][d0]   DEBUG OBIS_CODE byte 7 hex= 37
>>>>> [Feb 17 12:38:43][d0]   DEBUG OBIS_CODE byte ( hex= 28
>>>>> [Feb 17 12:38:43][d0]   DEBUG VALUE byte= 2 hex= 32
>>>>> [Feb 17 12:38:43][d0]   DEBUG VALUE byte= 3 hex= 33
>>>>> [Feb 17 12:38:43][d0]   DEBUG VALUE byte= 1 hex= 31
>>>>> [Feb 17 12:38:43][d0]   DEBUG VALUE byte= * hex= 2a
>>>>> [Feb 17 12:38:43][d0]   Ignored reading (OBIS code=32.7, value=231, unit=V)
>>>>> [Feb 17 12:38:43][d0]   DEBUG OBIS_CODE byte
>>>>> hex= A
>>>>> 
>>>>> Gerne würde ich die betreffenden Werte auch gerne loggen.
>>>>> 
>>>>> Muss ich noch was einstellen damit alle Werte verarbeitet werden?
>>>>> 
>>>>> Besten Dank für eure Hilfe / Tipps.
>>>>> 
>>>>> Gruss Reto
>>>> Gruß
>>>> 
>>>> Matthias
>>> Gruß
>>> 
>>> Matthias
> 
> Gruß
> 
> Matthias Behr
> 


More information about the volkszaehler-users mailing list