Wireless M-Bus für CUL

Begonnen von tostmann, 12 Juni 2014, 17:34:32

Vorheriges Thema - Nächstes Thema

kaihs

Zitat von: Ingram am 04 Juni 2018, 17:26:45
Anything that can communicate with CUL, like FHEM or like nodejs module for CUL. If CUL outputs bXXXXXXXXXXXX, the program or user reading it does not know if it is frame A or frame B before it has tried verifying CRC for both, but as a shortcut I thought that baXXXXXX and bbXXXXXXX should help telling the program/user without the need for trying to detect the frame type using any heuristic.

The problem with a and b as frame type markers is that those are valid hex digits.
The WMBUS module has no way to know if the data is from an old firmware version without support for WMBUS C or from a new one. Moreover the data can even come from a different receiver (Amber Wireless AMB8425-M which uses bAMB).
I agree that encoding the frametype in the data would be helpful but it must be in a backwards compatible way, i.e. a character outside the range A-Fa-f.
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

kaihs

Zitat von: Ingram am 04 Juni 2018, 13:30:56
Excellent, so you are able to receive the frames. CRC check probably fails because the FHEM module tries to decode it as frame type A. This also means that it will incorrectly decode any data it has received even if CRC succeeded. This is why I left the 'a' and 'b' marker in C-mode to my code, so it would be easier to do the decoding in other applications.

I'm currently trying to implemet frame type b decoding. But even the crc check is failing. As you already implemented the crc check in rf_mbus.c perhaps you can help?
I'm using this packet as received by zwehm

b2C442D2C893862571B168D20CA71E21E20DB6CF57E4A32145F667B98BF57692D9517C427F802FC258738CA455980


l-field is 0x2c =  44 bytes. l-field is the length of the message excluding the l-field itself.

But the length of the message above is 45 bytes, one byte too long IMHO.

in rf_mbus.c you use

        rxLength = RXinfo.lengthField + 1;
        rxStatus = verifyCrcBytesCmode(MBbytes + 2, MBpacket, rxLength);
[code]

Why do you start the calculation with an offset of 2 (MBbytes + 2)?

Is the l-field included in the crc calculation?
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

zwehn

#602
Zitat von: kaihs am 04 Juni 2018, 21:27:56
I'm currently trying to implemet frame type b decoding. But even the crc check is failing. As you already implemented the crc check in rf_mbus.c perhaps you can help?
I'm using this packet as received by zwehm

b2C442D2C893862571B168D20CA71E21E20DB6CF57E4A32145F667B98BF57692D9517C427F802FC258738CA455980

Every 8th packet is like this one, 46 byte long, starting with (b)2c (=44 dec).
Following 7 small packets with 39 byte length start with (b)25 (=37) .... I guess you have seen that and you wanted to start with the longer one.
Fhem auf Proxmox VM mit MSI Cubi N8GL mit N5000: HM-USB, HM-Lan, Cul 868, Cul 433, Selbstbau CUL868MHz für Wireless M-Bus, RFXtrx; FS20, HomeMatic Rolladensteuerung, Somfy Markisensteuerung, TextToSpeech, TFA Wetter, Universalsensor Innen/Aussen, Feinstaubsensor. Div Arduino und Esp Easy projekte.

Ingram

Zitat von: kaihs am 04 Juni 2018, 21:27:56
I'm currently trying to implemet frame type b decoding. But even the crc check is failing. As you already implemented the crc check in rf_mbus.c perhaps you can help?
I'm using this packet as received by zwehm

b2C442D2C893862571B168D20CA71E21E20DB6CF57E4A32145F667B98BF57692D9517C427F802FC258738CA455980


l-field is 0x2c =  44 bytes. l-field is the length of the message excluding the l-field itself.

But the length of the message above is 45 bytes, one byte too long IMHO.

in rf_mbus.c you use

        rxLength = RXinfo.lengthField + 1;
        rxStatus = verifyCrcBytesCmode(MBbytes + 2, MBpacket, rxLength);
[code]

Why do you start the calculation with an offset of 2 (MBbytes + 2)?

Is the l-field included in the crc calculation?


That 0x80 comes from X21, so they are part of LQI/RSSI.

CRC is calculated from all bytes up to CRC itself. So to use the example provided
CRC(2C442D2C893862571B168D20CA71E21E20DB6CF57E4A32145F667B98BF57692D9517C427F802FC258738CA) = 4559

There is one special case though, if the byte sequence is longer than 127/128 then there is additional block for which the CRC is calculated separately. This is the optional block mentioned here: http://www.st.com/content/ccc/resource/technical/document/application_note/3f/fb/35/5a/25/4e/41/ba/DM00233038.pdf/files/DM00233038.pdf/jcr:content/translations/en.DM00233038.pdf#page=15

The offset 2 is because in C-mode we are also reading part of the sync word as data bytes to determine which frame type we are going to get, this is what allows us to receive T and C-mode at the same time. See http://www.ti.com/lit/an/swra522d/swra522d.pdf#page=6 figure 2
RXinfo.pByteIndex[0] == 0x54
RXinfo.pByteIndex[1] == 0xCD or 0x3D

As these are not part of CRC calculation, we do not copy those to the final output or perform CRC calculation on them.

zwehn

Zitat von: zwehn am 04 Juni 2018, 21:48:10
Every 8th packet is like this one, 46 byte long, starting with (b)2c (=44 dec).
Following 7 small packets with 39 byte length start with (b)25 (=37) .... I guess you have seen that and you wanted to start with the longer one.

Just got new information from Kamstrup. Mostly what we already know:
- They use for Multical 21:  C1 Frame B
- The long Message includes all information. 7 smaller messages are following with little bit less information, just repeating the same content.

In addition I found the manufactory Id for Kamstrup mbus via google should be:
KAM
2C2D
Kamstrup Energie A/S
Fhem auf Proxmox VM mit MSI Cubi N8GL mit N5000: HM-USB, HM-Lan, Cul 868, Cul 433, Selbstbau CUL868MHz für Wireless M-Bus, RFXtrx; FS20, HomeMatic Rolladensteuerung, Somfy Markisensteuerung, TextToSpeech, TFA Wetter, Universalsensor Innen/Aussen, Feinstaubsensor. Div Arduino und Esp Easy projekte.

kaihs

Zitat von: Ingram am 05 Juni 2018, 08:20:15
That 0x80 comes from X21, so they are part of LQI/RSSI.

Thanks for the hint. It was actually me who added LQI to the WMBUS message in culfw which I had completely forgotten :-(

I will try to add support for frame type B to the WMBUS module. The reason why it is not already supported is that the Open Metering Standand requires type A.
So Kamstrup doesn't conform to OMS.
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

kaihs

Zitat von: zwehn am 05 Juni 2018, 20:39:24
Just got new information from Kamstrup. Mostly what we already know:
- They use for Multical 21:  C1 Frame B
- The long Message includes all information. 7 smaller messages are following with little bit less information, just repeating the same content.

In addition I found the manufactory Id for Kamstrup mbus via google should be:
KAM
2C2D
Kamstrup Energie A/S

Ich habe die erste Hürde jetzt zwar umschifft und kann den CRC checken und die Kopfdaten auslesen:
Manufacturer 2c2d KAM
IdentNumber 57623889
Version 27
Type 16 Cold water

Allerdings verwendet der Rest der Daten eine Kodierung (CI-field 8d für den Extended Link Layer) für die ich keine Unterlagen habe.
In den öffentlich zugänglichen Unterlagen der OMS steht dazu
Zitat
NOTE: The [EN 13757-4:2013] supports additional types of Extended Link Layers which are
not supported by the OMS.

Die EN Norm kostet 330€, das ist mir dann doch zu teuer.
Man könnte die benötigten Informationen wahrscheinlich irgendwie aus https://github.com/tobiasrask/wmbus-client ermitteln, aber das ist auch sehr mühselig.
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

zwehn

#607
Zitat von: kaihs am 07 Juni 2018, 20:55:14
Man könnte die benötigten Informationen wahrscheinlich irgendwie aus https://github.com/tobiasrask/wmbus-client ermitteln, aber das ist auch sehr mühselig.

klasse, dass Du vorangekommen bist.
Die Din für 300€ kaufen ist keine option, sehe ich auch so.

unter dem link findet man tatsächlich einen Ansatz https://github.com/tobiasrask/wmbus-client/blob/master/src/products/meters/kamstrup-multical-21-meter.js

ab zeile 105:


  /**

  * Returns extended data link layer map.

  *

  * Block 2 (Extended Data Link Layer)

  * CI (1 byte) CC(1 byte)   ACC(1 byte)  SN(4 bytes)  CRC(2  bytes)

  *

  * CI-FIELD (1 byte)

  *   Application header, indicates application data payload type.

  *

  * DATA-field

  *

  * CC-FIELD (1 byte)

  *   ???

  *

  * ACC (1 byte)

  *   Access counter number, runs from 00 to ff.

  *

  * SN-FIELD (4 bytes)

  *   Encryption mode, time field, session counter

  *

  * CRC-FIELD (2 bytes)

  *   Cyclic Redundancy Check for data.
......................................................................................................
        // This telegram is full frame

        return this.fetchData(data, {

          'BLOCK3_PLCRC': {

            start: 0,

            length: 2

            },

          'BLOCK3_FRAME_TYPE': {

            start: 2,

            length: 1

            },

          'DATA_RECORD_1_DIF': {

            start: 3,

            length: 1

            },

          'DATA_RECORD_1_VIF': {

            start: 4,

            length: 1

            },

          'DATA_RECORD_1_VIFE': {

            start: 5,

            length: 1

            },

          'DATA_RECORD_1_VALUE': {

            start: 6,

            length: 2

            },

          'DATA_RECORD_2_DIF': {

            start: 8,

            length: 1

            },

          'DATA_RECORD_2_VIF': {

            start: 9,

            length: 1

            },

          'DATA_RECORD_2_VALUE': {

            start: 10,

            length: 4

            },

          'DATA_RECORD_3_DIF': {

            start: 14,

            length: 1

            },

          'DATA_RECORD_3_VIF': {

            start: 15,

            length: 1

            },

          'DATA_RECORD_3_VALUE': {

            start: 16,

            length: 4

            },

          });

        break;

    }

  }


Bin mit dem Author Tobias Rask (Finne) in Kontakt getreten und habe um Unterstützung gebeten.

.....Hoffe es scheitert nicht daran. Der Multical 21 ist in Deutschland immerhin schon 200.000 mal verbaut worden und innovativer als viele andere wasserzähler....

Habe auch bei Kamstrup nachgefragt.
Fhem auf Proxmox VM mit MSI Cubi N8GL mit N5000: HM-USB, HM-Lan, Cul 868, Cul 433, Selbstbau CUL868MHz für Wireless M-Bus, RFXtrx; FS20, HomeMatic Rolladensteuerung, Somfy Markisensteuerung, TextToSpeech, TFA Wetter, Universalsensor Innen/Aussen, Feinstaubsensor. Div Arduino und Esp Easy projekte.

zwehn

#608
Zitat von: kaihs am 07 Juni 2018, 20:55:14
Allerdings verwendet der Rest der Daten eine Kodierung (CI-field 8d für den Extended Link Layer) für die ich keine Unterlagen habe.

https://www.telit.com/wp-content/uploads/2017/09/Telit_Wireless_M-bus_2013_Part4_User_Guide_r14.pdf

unter: 2.3.4. Extended Link Layer, ist 8d beschrieben. Hilft das weiter?
Fhem auf Proxmox VM mit MSI Cubi N8GL mit N5000: HM-USB, HM-Lan, Cul 868, Cul 433, Selbstbau CUL868MHz für Wireless M-Bus, RFXtrx; FS20, HomeMatic Rolladensteuerung, Somfy Markisensteuerung, TextToSpeech, TFA Wetter, Universalsensor Innen/Aussen, Feinstaubsensor. Div Arduino und Esp Easy projekte.

kaihs

Zitat von: zwehn am 08 Juni 2018, 00:53:17
https://www.telit.com/wp-content/uploads/2017/09/Telit_Wireless_M-bus_2013_Part4_User_Guide_r14.pdf

unter: 2.3.4. Extended Link Layer 8d ist beschrieben, hilft das weiter?
Danke für den Hinweis, ich werde allerdings erst Sonntag daran weiter arbeiten können.
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

kaihs

Anbei eine erste Version zum Testen von WMBus C und Kamstrup Multical.
Es wird sowohl der sog. compact frame als auch der full frame des Multical unterstützt.

1. beigefügte culfw für den nanoCUL flashen. Diese basiert auf der letzten Version von ingram gibt aber bei FRAME TYPE B ein Y statt eines b aus (d. h. bYxxxxx). Bei FRAME_TYPE_A wird keine spezielle Kennung ausgegeben, das ist dann kompatibel zu alten Versionen.
2. Perl Module für Entschlüsselung installieren.

sudo cpan -i Crypt::Mode::CBC Crypt::Mode::CTR

Das kann einen ganze Weile dauern.
3. WMBus.pm und 36_WMBUS.pm ins FHEM Verzeichnis kopieren
4. sicherstellen, dass autocreate aktiviert ist
6. fhem neu starten
7. Nach Empfang einer Nachricht sollte ein zugehöriges WMBUS Device angelegt werden
8. Bei dem Device das Attribut AESKey auf den passenden Schlüssel setzen.
9. Ab dem nächsten Empfang eines Pakets sollte dieses entschlüsselt werden


Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

zwehn

Zitat von: kaihs am 19 Juni 2018, 22:44:50
Anbei eine erste Version zum Testen von WMBus C und Kamstrup Multical.
Es wird sowohl der sog. compact frame als auch der full frame des Multical unterstützt.

1. beigefügte culfw für den nanoCUL flashen. Diese basiert auf der letzten Version von ingram gibt aber bei FRAME TYPE B ein Y statt eines b aus (d. h. bYxxxxx). Bei FRAME_TYPE_A wird keine spezielle Kennung ausgegeben, das ist dann kompatibel zu alten Versionen.
2. Perl Module für Entschlüsselung installieren.

sudo cpan -i Crypt::Mode::CBC Crypt::Mode::CTR

Das kann einen ganze Weile dauern.
3. WMBus.pm und 36_WMBUS.pm ins FHEM Verzeichnis kopieren
4. sicherstellen, dass autocreate aktiviert ist
6. fhem neu starten
7. Nach Empfang einer Nachricht sollte ein zugehöriges WMBUS Device angelegt werden
8. Bei dem Device das Attribut AESKey auf den passenden Schlüssel setzen.
9. Ab dem nächsten Empfang eines Pakets sollte dieses entschlüsselt werden

Cool, werde es morgen testen!
Fhem auf Proxmox VM mit MSI Cubi N8GL mit N5000: HM-USB, HM-Lan, Cul 868, Cul 433, Selbstbau CUL868MHz für Wireless M-Bus, RFXtrx; FS20, HomeMatic Rolladensteuerung, Somfy Markisensteuerung, TextToSpeech, TFA Wetter, Universalsensor Innen/Aussen, Feinstaubsensor. Div Arduino und Esp Easy projekte.

zwehn

Zitat von: kaihs am 19 Juni 2018, 22:44:50
Anbei eine erste Version zum Testen von WMBus C und Kamstrup Multical.
Es wird sowohl der sog. compact frame als auch der full frame des Multical unterstützt.

1. beigefügte culfw für den nanoCUL flashen. Diese basiert auf der letzten Version von ingram gibt aber bei FRAME TYPE B ein Y statt eines b aus (d. h. bYxxxxx). Bei FRAME_TYPE_A wird keine spezielle Kennung ausgegeben, das ist dann kompatibel zu alten Versionen.
2. Perl Module für Entschlüsselung installieren.

sudo cpan -i Crypt::Mode::CBC Crypt::Mode::CTR

Das kann einen ganze Weile dauern.
3. WMBus.pm und 36_WMBUS.pm ins FHEM Verzeichnis kopieren
4. sicherstellen, dass autocreate aktiviert ist
6. fhem neu starten
7. Nach Empfang einer Nachricht sollte ein zugehöriges WMBUS Device angelegt werden
8. Bei dem Device das Attribut AESKey auf den passenden Schlüssel setzen.
9. Ab dem nächsten Empfang eines Pakets sollte dieses entschlüsselt werden


Hi klappt wunderbar! Vielen Dank einfach super! Wenn Du in München bist melde Dich, ich gebe einen aus.
Zum Crypt install, es hat tatsächlich ewig gedauert aber geklappt.

Merkwürdig war, das ich nach fhem reboot die fhtid für den Stick ändern musste:

2018.06.20 08:39:26 3: Setting nanoCUL serial parameters to 38400,8,N,1
2018.06.20 08:39:29 3: nanoCUL: Possible commands: ABbCeFfGiKlMmRTtVWXx
2018.06.20 08:39:29 2: Setting nanoCUL fhtid from TMODE to 1234
2018.06.20 08:39:29 1: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_00000000-if00-port0 reappeared (nanoCUL)
2018.06.20 08:39:30 3: nanoCUL: Unknown code 1234, help me!
...
2018.06.20 08:50:21 3: Opening nanoCUL device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_00000000-if00-port0
2018.06.20 08:50:21 3: Setting nanoCUL serial parameters to 38400,8,N,1
2018.06.20 08:50:25 3: nanoCUL: Possible commands: ABbCeFfGiKlMmRTtVWXx
2018.06.20 08:50:25 2: Setting nanoCUL fhtid from 1234 to 4321
2018.06.20 08:50:25 3: nanoCUL device opened
Habe danach den Mode auf C gestellt und alles wurde sofort angelegt. Nach Eingabe des AES Schlüssels läufts nun....

Jetzt muss ich nur noch schauen, wie ich aus diesen Readings einen hübschen Plot baue....


Fhem auf Proxmox VM mit MSI Cubi N8GL mit N5000: HM-USB, HM-Lan, Cul 868, Cul 433, Selbstbau CUL868MHz für Wireless M-Bus, RFXtrx; FS20, HomeMatic Rolladensteuerung, Somfy Markisensteuerung, TextToSpeech, TFA Wetter, Universalsensor Innen/Aussen, Feinstaubsensor. Div Arduino und Esp Easy projekte.

kaihs

Zitat von: zwehn am 20 Juni 2018, 09:48:41
Hi klappt wunderbar!

Schön, dann muss ich mal versuchen die Änderungen 00_CUL.pm und culfw als Patches zur Verfügung zu stellen damit Rudi die hoffentlich übernimmt.
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

zwehn

Hi,
eine Frage zu den Readings,
ich wuerde gerne die Differenz in Liter des totalen Wasserzählerstandes neu (z.b 48,888m³)und alt (48,883m³)bei jeder Wasserzählerveränderung als userreading aufbauen und im plot darstellen.
dazu habe ich folgende Attribute gesetzt:
Wobei 2_value den Wasserzählerstandneu beinhaltet.

attr WMBUS_KAM_57623889_27_22 event-min-interval 600
attr WMBUS_KAM_57623889_27_22 event-on-change-reading 2_value,Wasserverbrauch.*,Wasserverbrauchinliter,4_value,5_value
attr WMBUS_KAM_57623889_27_22 userReadings Wasserverbrauch:2_value.* difference {ReadingsVal("WMBUS_KAM_57623889_27_22","2_value","")}, Wasserverbrauchinliter:Wasserverbrauch.* {sprintf('%.3f',ReadingsVal("WMBUS_KAM_57623889_27_22","Wasserverbrauch",""))*1000}\

Erscheint mir zum einen sehr kompliziert und zum zweiten, fehlen ab und zu die erstellten userreadings siehe log:

2018-06-20_19:20:52 WMBUS_KAM_57623889_27_22 2_value: 50.382
2018-06-20_19:21:25 WMBUS_KAM_57623889_27_22 2_value: 50.386
2018-06-20_19:21:25 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00400000000000489
2018-06-20_19:21:58 WMBUS_KAM_57623889_27_22 2_value: 50.39
2018-06-20_19:21:58 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00399999999999778
2018-06-20_19:22:31 WMBUS_KAM_57623889_27_22 2_value: 50.394
2018-06-20_19:23:03 WMBUS_KAM_57623889_27_22 2_value: 50.397
2018-06-20_19:23:03 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00300000000000011
2018-06-20_19:23:03 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 3
2018-06-20_19:24:42 WMBUS_KAM_57623889_27_22 2_value: 50.398
2018-06-20_19:24:42 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00100000000000477
2018-06-20_19:24:42 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 1
2018-06-20_19:35:54 WMBUS_KAM_57623889_27_22 2_value: 50.399
2018-06-20_19:35:54 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.000999999999997669
2018-06-20_19:36:26 WMBUS_KAM_57623889_27_22 2_value: 50.4
2018-06-20_19:48:43 WMBUS_KAM_57623889_27_22 2_value: 50.403
2018-06-20_19:48:43 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00300000000000011
2018-06-20_19:48:43 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 3
2018-06-20_19:58:25 WMBUS_KAM_57623889_27_22 2_value: 50.406
2018-06-20_19:58:55 WMBUS_KAM_57623889_27_22 2_value: 50.411
2018-06-20_19:58:55 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00500000000000256
2018-06-20_19:58:55 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 5
2018-06-20_19:59:28 WMBUS_KAM_57623889_27_22 2_value: 50.412
2018-06-20_19:59:28 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.000999999999997669
2018-06-20_19:59:28 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 1
2018-06-20_20:14:21 WMBUS_KAM_57623889_27_22 2_value: 50.414
2018-06-20_20:14:21 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00200000000000244
2018-06-20_20:14:21 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 2
2018-06-20_20:14:53 WMBUS_KAM_57623889_27_22 2_value: 50.416
2018-06-20_20:21:50 WMBUS_KAM_57623889_27_22 2_value: 50.42
2018-06-20_20:21:50 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00399999999999778
2018-06-20_20:21:50 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 4
2018-06-20_20:22:22 WMBUS_KAM_57623889_27_22 2_value: 50.424
2018-06-20_20:22:55 WMBUS_KAM_57623889_27_22 2_value: 50.427
2018-06-20_20:22:55 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00300000000000011
2018-06-20_20:22:55 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 3
2018-06-20_20:23:27 WMBUS_KAM_57623889_27_22 2_value: 50.43
2018-06-20_20:29:58 WMBUS_KAM_57623889_27_22 2_value: 50.434
2018-06-20_20:29:58 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00399999999999778
2018-06-20_20:29:58 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 4
2018-06-20_20:51:57 WMBUS_KAM_57623889_27_22 2_value: 50.435
2018-06-20_20:51:57 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00100000000000477
2018-06-20_20:51:57 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 1
2018-06-20_20:52:45 WMBUS_KAM_57623889_27_22 2_value: 50.438
2018-06-20_20:52:45 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00300000000000011
2018-06-20_20:52:45 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 3
2018-06-20_20:53:17 WMBUS_KAM_57623889_27_22 2_value: 50.442
2018-06-20_20:53:17 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00399999999999778
2018-06-20_20:53:17 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 4
2018-06-20_20:53:49 WMBUS_KAM_57623889_27_22 2_value: 50.45
2018-06-20_20:53:49 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00800000000000267
2018-06-20_20:53:49 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 8
2018-06-20_21:00:09 WMBUS_KAM_57623889_27_22 2_value: 50.455
2018-06-20_21:00:09 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00499999999999545
2018-06-20_21:00:09 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 5
2018-06-20_21:00:40 WMBUS_KAM_57623889_27_22 2_value: 50.46
2018-06-20_21:00:40 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00500000000000256
2018-06-20_21:01:12 WMBUS_KAM_57623889_27_22 2_value: 50.464
2018-06-20_21:01:12 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00399999999999778
2018-06-20_21:01:12 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 4
2018-06-20_21:08:14 WMBUS_KAM_57623889_27_22 2_value: 50.465
2018-06-20_21:08:14 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00100000000000477
2018-06-20_21:08:14 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 1
2018-06-20_21:08:45 WMBUS_KAM_57623889_27_22 2_value: 50.466
2018-06-20_21:08:45 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.000999999999997669
2018-06-20_21:09:16 WMBUS_KAM_57623889_27_22 2_value: 50.468
2018-06-20_21:09:16 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00200000000000244
2018-06-20_21:09:16 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 2
2018-06-20_21:09:47 WMBUS_KAM_57623889_27_22 2_value: 50.472
2018-06-20_21:09:47 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00399999999999778
2018-06-20_21:09:47 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 4
2018-06-20_21:10:18 WMBUS_KAM_57623889_27_22 2_value: 50.476
2018-06-20_21:10:49 WMBUS_KAM_57623889_27_22 2_value: 50.48
2018-06-20_21:10:49 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.00400000000000489
2018-06-20_21:11:20 WMBUS_KAM_57623889_27_22 2_value: 50.481
2018-06-20_21:11:20 WMBUS_KAM_57623889_27_22 Wasserverbrauch: 0.000999999999997669
2018-06-20_21:11:20 WMBUS_KAM_57623889_27_22 Wasserverbrauchinliter: 1
2018-06-20_21:13:41 WMBUS_KAM_57623889_27_22 2_value: 50.482


ZB um 21:10:18 gibt's keinen Wasserverbrauch userreading.

würde es gerne einfacher und vor allem mit Beständiger Lösung umsetzen.

Hoffe es hat jemand eine Idee?
Fhem auf Proxmox VM mit MSI Cubi N8GL mit N5000: HM-USB, HM-Lan, Cul 868, Cul 433, Selbstbau CUL868MHz für Wireless M-Bus, RFXtrx; FS20, HomeMatic Rolladensteuerung, Somfy Markisensteuerung, TextToSpeech, TFA Wetter, Universalsensor Innen/Aussen, Feinstaubsensor. Div Arduino und Esp Easy projekte.