[OBIS V2] - Jetzt auch mit SML-Unterstützung

Begonnen von Icinger, 08 April 2016, 19:54:44

Vorheriges Thema - Nächstes Thema

maximalz

Danke für den Tipp,  das blendet zwar jetzt die statischen Werte auw, aber power und totalconsumption werden immer noch viel zu oft geloggt.  Ich möchte erreichen,  dass ich nur in definierten Intervallen Werte geloggt bekomme.
THZ (403 SOL), OBIS (2x EDL21), SolarEdge (SE10k), Sun+Luna 2000

vuffiraa

Zitat von: maximalz am 19 Februar 2017, 18:57:05
Danke für den Tipp,  das blendet zwar jetzt die statischen Werte auw, aber power und totalconsumption werden immer noch viel zu oft geloggt.  Ich möchte erreichen,  dass ich nur in definierten Intervallen Werte geloggt bekomme.
Auf der Wiki-Seite ist noch kurz die Kombination mit dem Attribut Event-min-Intervall erwähnt. Damit sollte es gehen.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

KölnSolar

müsste nicht polling mode, interval und ggfs. aligntime funktionieren ?
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

maximalz

Die Lösungen verhindern zwar beide, dass ich zu viele Log-Einträge bekomme, aber in beiden Fällen verliere ich Werte, die dann nicht mal gemittelt ins Log eingehen oder?
Mit dem event-aggregator sollte ich doch mehrere Werte zu einem Event zusammenfassen können. Das scheint aber nicht so einfach zu sein, denn ich habe mehrere Posts gefunden, bei denen es so nicht funktioniert.
Ich könnte auch alle Werte in Elasticsearch pumpen, dann bin ich bei der Auswertung flexibel, das ist aber Overkill denke ich...
THZ (403 SOL), OBIS (2x EDL21), SolarEdge (SE10k), Sun+Luna 2000

Icinger

Dann schau dir alternativ das statistics-Modul an.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

maximalz

Ich habe die Lösung gefunden. Das event-aggregator funktioniert, allerdings dürfen in dem Ausdruck keine Leerzeichen und auch keine maskierten Zeilenumbrüche enthalten sein.
THZ (403 SOL), OBIS (2x EDL21), SolarEdge (SE10k), Sun+Luna 2000

schachti

Hallo zusammen,

ich nutze den IR-Schreib-Lesekopf mit USB-Interface von volkszaehler.org zur Erfassung meines EasyMeter Q3D (ESY5Q3DA1006 V3.04).

Mir ist aufgefallen, dass der in FHEM angezeigte Wert des Readings total_consumption dem am Stronzähler angezeigten Wert mit der Zeit immer mehr hinterherläuft, d.h. die Differenz wird mit der Zeit zunehmend größer.

Ich habe den Eindruck, dass entweder der Stromzähler oder der IR-Schreib-Lesekopf intern die Werte puffert und das OBIS-Modul immer nur den ältesten Wert abholt. Ich habe daher mal auf der Konsole den Befehl

cat /dev/ttyUSB0

abgesetzt, daraufhin habe ich innerhalb von Sekundenbruchteilen einen Haufen Datenpakete bekommen, in denen der Zählerstand kontinuierlich hochlief. Der Versuch, das Kommando sofort nochmal auszuführen, lieferte keine Ausgabe - erst, wenn ich ein paar Sekunden warte, scheinen wieder Daten da zu sein.

In FHEM konnte ich beobachten, dass nach diesem "Leeren" des Puffers das Reading total_consumption einen Sprung machte und wieder mit dem auf dem Zähler angezeigten Wert übereinstimmte.

Die Definition in der fhem.cfg sieht wie folgt aus:


##### Stromzaehler: Geraete-Definition

define Stromzaehler OBIS /dev/ttyUSB0@9600,7,E,1 SML
attr Stromzaehler interval 60
attr Stromzaehler pollingMode on
attr Stromzaehler room Strom
attr Stromzaehler unitReadings off
attr Stromzaehler verbose 5


Wie bekomme ich es hin, dass mir der aktuelle Wert und nicht der älteste Wert aus irgend einem internen Puffer angezeigt wird?

Icinger

Zitatattr Stromzaehler interval 60
attr Stromzaehler pollingMode on

Nimm das mal raus.
Polling bringt nur bei Zählern was, die die Daten nicht von selbst senden sondern eine eigene Aufforderung dazu benötigen.

lg, Stefan


Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

KölnSolar

#308
ich denke, das ist mein altbekanntes Problem https://forum.fhem.de/index.php/topic,50905.msg425379.html#msg425379, welches ich leider immer noch nicht gelöst habe. Schon lustig, wenn man morgens die Kaffeemaschine einschaltet und während der Wartezeit den Leistungsplot aufruft, der dann nur ein paar Watt anzeigt. Man denkt man schläft noch.  ;D
Dass das cat die Schnittstelle leert ist gut zu wissen. Das probier ich mal aus. Vielleicht ein Weg zur Lösung...
Grüße Markus
Edit: Schachti, welchen Chip hast Du im USB/RS232-Wandler ?
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

schachti

Das führt dazu, dass die Readings scheinbar nicht aktualisiert werden, und im Log steht das:


2017.02.22 21:36:43 3: Opening Stromzaehler device /dev/ttyUSB0
2017.02.22 21:36:43 3: Setting Stromzaehler serial parameters to 9600,7,E,1
2017.02.22 21:36:43 3: Init done
2017.02.22 21:36:43 3: Stromzaehler device opened
2017.02.22 21:36:52 1: /dev/ttyUSB0 disconnected, waiting to reappear (Stromzaehler)
2017.02.22 21:36:52 1: PERL WARNING: Use of uninitialized value $b in substitution (s///) at ./FHEM/47_OBIS.pm line 233.
2017.02.22 21:36:52 3: Setting Stromzaehler serial parameters to 9600,7,E,1
2017.02.22 21:36:52 3: Init done
2017.02.22 21:36:52 1: /dev/ttyUSB0 reappeared (Stromzaehler)
2017.02.22 21:36:54 1: /dev/ttyUSB0 disconnected, waiting to reappear (Stromzaehler)
2017.02.22 21:36:54 3: Setting Stromzaehler serial parameters to 9600,7,E,1
2017.02.22 21:36:54 3: Init done
2017.02.22 21:36:54 1: /dev/ttyUSB0 reappeared (Stromzaehler)
2017.02.22 21:36:56 1: /dev/ttyUSB0 disconnected, waiting to reappear (Stromzaehler)
2017.02.22 21:36:56 3: Setting Stromzaehler serial parameters to 9600,7,E,1
2017.02.22 21:36:56 3: Init done
2017.02.22 21:36:56 1: /dev/ttyUSB0 reappeared (Stromzaehler)
2017.02.22 21:37:00 1: /dev/ttyUSB0 disconnected, waiting to reappear (Stromzaehler)
2017.02.22 21:37:00 3: Setting Stromzaehler serial parameters to 9600,7,E,1
2017.02.22 21:37:00 3: Init done
2017.02.22 21:37:00 1: /dev/ttyUSB0 reappeared (Stromzaehler)
2017.02.22 21:37:02 1: /dev/ttyUSB0 disconnected, waiting to reappear (Stromzaehler)
2017.02.22 21:37:02 3: Setting Stromzaehler serial parameters to 9600,7,E,1
2017.02.22 21:37:02 3: Init done


KölnSolar: wie finde ich das heraus?

Icinger

Hast du nur die Attribute gelöscht?
Probier mal bitte einen Neustart von FHEM.

Will nicht ausschließen, dass es mit einem gelöschten PollingMode Probleme gibt (wobei ich mir aber nicht vorstellen kann, weshalb).
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

schachti

Das hat geklappt, bekomme jetzt alle 2 Sekunden neue Werte. Erhöht aber leider die CPU-Last.

KölnSolar

ZitatPolling bringt nur bei Zählern was, die die Daten nicht von selbst senden sondern eine eigene Aufforderung dazu benötigen.
Stefan, Du verwirrst mich. Das hattest Du doch damals eingebaut, um genau das
ZitatErhöht aber leider die CPU-Last.
für unsere pushenden Zähler zu vermeiden  ???

@schachi: Wenn Du lsusb in der Konsole(z. B. mit putty) eingibst, bekommst Du eine Liste Deiner USB-Geräte.   Vermutlich ist der Wandler "Future..." oder "prolific.."
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

schachti

lsusb lirfert mir


ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light

Icinger

Guten Morgen,

sorry Markus, du hast natürlich recht.
Polling bringt durchaus auch was bei pushenden Zählern.
Und eigentlich dürfte der Buffer auch nicht vollaufen :/
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho