Giter Club home page Giter Club logo

izar-prios-smart-meter-collector's People

Contributors

zewaren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

jdenoy charugaa

izar-prios-smart-meter-collector's Issues

OMS version of IZAR RC I G4

Hi, thanks a lot for your nice job on Izar water counter with PRIOS decoding. I would like to use wireless counter and following your work i have bought the same ST evaluation card. But for the counter i hesitate to take the version G4 that use the OMS protocol. From your post it seems that PRIOS just encode the payload (if i understand). Is the frame already respect the OMS protocol ?
Regards,

Help needed

Hi @ZeWaren

I have tagged you in the wmbusmeters github as well and trying here, maybe you will see this and guide me.

I used this tutorial and setup: https://github.com/zibous/ha-watermeter/blob/master/docs/wmbusmeters-with-rtl-sdr.md (raspberry 4 instead of pi zero)

I have this meter:
ARIES IS Water meter
https://www.diehl.com/metering/en/products-solutions/products-services/water-metering/aries-is-at/
IZAR integrated 868 MHz and 434 MHz radio, PRIOS protocol

When running:
rtl_sdr -f 868.625M -s 1600000 - 2>/dev/null | rtl_wmbus -s
I get a lot of:
T1;0;0;2023-09-13 22:21:22.000;68;54;FFFFFFFF;0x1944ff26ffffffff9404ffa0608860ffffffff7cffffff7bffff T1;0;0;2023-09-13 22:21:22.000;38;64;2150912A;0x1944304c2a915021ff04a2731300132ce3a7ff7ca35c79262eff T1;0;0;2023-09-13 22:21:22.000;100;106;FFFF94FF;0x19ffffffff94ffff1404a22313ff13bbfffffffffffffff035ff T1;1;1;2023-09-13 22:21:23.000;98;113;214FF95F;0x1944304c5ff94f211404a2231300137a2b5171294f5213d75289 T1;0;0;2023-09-13 22:21:24.000;25;40;FFFFFFFF;0x19ffff4cffffffff14ffff331300ffff547eb5ffffa571a4ffb3 T1;0;0;2023-09-13 22:21:26.000;97;141;2150A874;0x19ff304c74a850211404a253140013f3f85ec84eff1a8a291994 T1;1;1;2023-09-13 22:21:27.000;107;140;215091CD;0x1944304ccd9150211404a253130013494eddbbf85437ee75c3b3 T1;0;0;2023-09-13 22:21:27.000;145;118;215091CD;0x1944304ccd9150211404a253130013494eddbbf85437ee77ffff
When Running:
wmbusmeters --format=json auto:t1 MyWater izar '*' NOKEY
I get a lot of:
Started auto rtlwmbus[00000001] listening on t1 (izar) Decoding PRIOS data failed. Ignoring telegram. {"media":"water","meter":"izar","name":"MyWater","id":"214ff7d6","prefix":"","serial_number":"000000","total_m3":0,"last_month_total_m3":0,"last_month_measure_date":"0-00-00","remaining_battery_life_y":0,"current_alarms":"no_alarm","previous_alarms":"no_alarm","transmit_period_s":0,"manufacture_year":"0","timestamp":"2023-09-13T22:23:49Z","device":"rtlwmbus[00000001]","rssi_dbm":97}
When running:

sudo wmbusmeters --debug --t1 rtlwmbus

I get a lot of:
(main) regular reset of rtlwmbus will happen every 82800 seconds (wmbus) no alarm (expected activity) for rtlwmbus (serial) registered regular callback HOT_PLUG_DETECTOR(0) every 2 seconds No meters configured. Printing id:s of all telegrams heard! (serial) waiting for stop (serial) received ascii "T1;1;1;2023-09-13 22:24:58.000;105;123;215091CD;0x1944304ccd9150211404a233130013493c3e0e0290df3aaf95bc<0A>T1;1;1;2023-09-13 22:24:58.000;141;115;215091CD;0x1944304ccd9 ![204155722-9746eb5f-ce6b-455d-bda6-2f8f57cf0a21]x 150211404a233130013493c3e0e0290df3aaf95bc<0A>" (rtlwmbus) checkRTLWMBusFrame "T1;1;1;2023-09-13 22:24:58.000;105;123;215091CD;0x1944304ccd9150211404a233130013493c3e0e0290df3aaf95bc<0A>T1;1;1;2023-09-13 22:24:58.000;141;115;215091CD;0x1944304ccd9150211404a233130013493c3e0e0290df3aaf95bc<0A>" (rtlwmbus) received full frame (meter) no meter handled checking 0 templates. (diehl) preprocess necessary SAP_PRIOS (diehl) Pre-processing: setting device type to water meter for SAP PRIOS (wmbus) parseDLL @0 26 (wmbus) parseELL @10 16 (wmbus) parseNWL @10 16 (wmbus) parseAFL @10 16 (wmbus) parseTPL @10 16 (diehl) preprocess necessary SAP_PRIOS (diehl) Pre-processing: setting device type to water meter for SAP PRIOS (wmbus) parseDLL @0 26 (telegram) DLL L=19 C=44 (from meter SND_NR) M=4c30 (SAP) A=215091cd VER=00 TYPE=07 (Water meter) (driver izar) DEV=rtlwmbus[00000001] RSSI=105 (wmbus) parseELL @10 16 (wmbus) parseNWL @10 16 (wmbus) parseAFL @10 16 (wmbus) parseTPL @10 16 (telegram) TPL CI=a2 Received telegram from: 215091cd manufacturer: (SAP) Sappel (0x4c30) type: Water meter (0x07) ver: 0x00 device: rtlwmbus[00000001] rssi: 105 dBm driver: izar (wmbus) 000 : 19 length (25 bytes) (wmbus) 001 : 44 dll-c (from meter SND_NR) (wmbus) 002 : 304c dll-mfct (SAP) (wmbus) 004 : cd915021 dll-id (215091cd) (wmbus) 008 : 00 dll-version (wmbus) 009 : 07 dll-type (Water meter) (wmbus) 010 : a2 tpl-ci-field (Mfct specific) (wmbus) 011 C?: 33130013493C3E0E0290DF3AAF95BC mfct specific (wmbus) telegram from 215091cd ignored by all configured meters! (rtlwmbus) checkRTLWMBusFrame "T1;1;1;2023-09-13 22:24:58.000;141;115;215091CD;0x1944304ccd9150211404a233130013493c3e0e0290df3aaf95bc<0A>" (rtlwmbus) received full frame (wmbus) skipping already handled telegram leng=26.

I was comparing the data what I have with what you posted on your blog:

`Decoding a Sappel frame
Let’s look at a full frame received by the antenna of my circuit:

01010101010101010101010101010101010101 0000111101b + 1944304CC697D720D401E2E6A213120013184587BD6EB979401E8B407096h
`

I have as a frame (filtered the ones with 19 44 like this

rtl_sdr -f 868.625M -s 1600000 - 2>/dev/null | rtl_wmbus -s
T1;1;1;2023-09-21 19:32:21.000;101;127;2150A9FA;0x1944304cfaa950211404a2231400134a2c75e61a25bb0d891f7d

If I would compare what is obvious to my eyes:

Your example: 1944304CC697D720D401E2E6A213120013184587BD6EB979401E8B4
Mine: 1944304cfaa950211404a2231400134a2c75e61a25bb0d891f7d

I am several chars less

Can you help me understand what is wrong?

prios_key_cracker.c

In the "prios_key_cracker.c" module, you are using the "for (uint64_t i=0; i<0xffffffffffffffff; i++)" loop. However, the key is 32bit:
uint32_t preparePRIOSKey(const uint8_t * const bytes) {
uint32_t key1 = read_uint32_be(bytes, 0);
uint32_t key2 = read_uint32_be(bytes, 4);
uint32_t key = key1 ^ key2;
return key;
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.