Using Slimmelezer+ to read data from energy meter Iskra AM550 from Romande Energie (Switzerland)

This is DLMS Green book for reference:

And the Blue Book:

Hi Adam,
Could you explain in more details what you did to make it work ?
Should we flash the SlimmeLezer with a specific firmware (which one) ? Then use the P1read.yaml configuration ?
Thanks if you can provide some details if you succeeded to make it work !

Hi @sybaron3,
Could you provide more details how you made it work ? I am trying to use the SlimmeLezer+ to read data from ISKRA AM450 meter, but no luck so far…
Thanks if you can help !

@malonip, which country are you from? If from the EU then the DSO should provide you information how is the meter communicates. There is an EU directive (2019/944) which regulates what information should be provided to the end customer (Article 20). It should be implemented already in the local law as well.

Otherwise it depends on the meter’s firmware and settings how it communicates, what protocol does it use and what information does it provide in what frequency. Also, the P1 port should be activated as well to be able to use it. That should be activated either locally through the optical port by a service man or remotely by the DSO or on the DSO’s self service website if any. (Some DSOs allow these options through their metering and billing website.)
Also if encryption is used, you will need decipher key, if authentication is used (DLMS/COSEM), then you will need the username/password as well.
Most of the cases what I read about, the P1 port is either not encrypted, like in the Netherlands by the DSMR standard, or uses encryption (AES128) which can easily decrypted by the device with the decipher key. (Actually encryption is required by the EU directive for privacy reasons.)

Hi @GSzabados,
I am in Switzerland (French part).Our power company is Romande Energie/SIE. It seems that @sybaron3 and @asturges79 found a way to configure a Slimmelezer to work on the P1 port of the IKRA AM550 meter. It is why I was asking. Not sure they needed a decryption key at the end, but they may answer…
With the Slimmelezer out-of-the-box, the telegrams are not readable as is.

You can give a try to this old (and removed) project.

https://web.archive.org/web/20201121021717/https://github.com/saghonfly/shrdzm/releases

As I understand it can read the telegrams and display them as it is. Look at the picture.

@AdmiralStipe can confirm how it is working as he uses it with an Iskra AM550 in Slovenia.

And once you are sure what are the telegrams then you can update the p1meter description. My guess that is only the modification what @sybaron3 implemented. I couldn’t compare the original and his code as I am using my phone.

Thanks @GSzabados !

I am not skilled enough to analyze the telegrams and understand anything about them :wink:

Anyway, I’ve done the setup proposed by @sybaron3 with his p1reader.h code and p1reader.yaml configuration. Unfortunately, this doesn’t work and no valid frames can be captured by the Slimmelezer, see following screenshot:
image

Still stuck on the problem :cry:

The code is really specific there what it tries to read from the P1 port. You should first try to get a full message, then try to adjust the code according that.

By the regularity it seems to be the P1 port is outputting data. But I am a bit confused by some of the error messages. Especially the expected 12 bytes and received 16. When I looked at the code it seemed to me that is specifically reading 12 byte…

You’re right, the code is really specific… I will try to figure it out…

Hello
Someone managed to obtain usable data of the P1 port of a IKRA AM55 from the SIL?
Regards

Hello please find below the code for switzerland


substitutions:

device_name: slimmelezer

device_description: “DIY P1 module to read your smart meter”

esphome:

name: ${device_name}

comment: “${device_description}”

platform: ESP8266

esp8266_restore_from_flash: true

board: d1_mini

name_add_mac_suffix: false

project:

name: "Sylvain_hack.p1reader"

version: "0.1"

includes:

- p1reader.h

wifi:

ssid: !secret wifi_ssid

password: !secret wifi_password

MAC Address: C8:C9:A3:7C:19:C7

Enable fallback hotspot (captive portal) in case wifi connection fails

ap:

ssid: ${device_name}

ap_timeout: 15s

password: !secret fallback_password

captive_portal:

Enable logging

logger:

level: VERBOSE

level: INFO

baud_rate: 0 # disable logging over uart

baud_rate: 0

Enable Home Assistant API

api:

password: !secret hass_api_password

ota:

password: !secret ota_password

web_server:

port: 80

globals:

  • id: has_key

    type: bool

    restore_value: yes

    initial_value: “false”

  • id: stored_decryption_key

    type: char[32]

    restore_value: yes

dsmr:

id: dsmr_instance

For Luxembourg users set here your decryption key.

Enable this when using decryption for Luxembourg;

key looks like ‘00112233445566778899AABBCCDDEEFF’

#decryption_key: !secret decryption_key

Enable Home Assistant API

#api:

password: !secret hass_api_password

uart:

id: uart_bus

tx_pin: D8

rx_pin: D7

baud_rate: 115200

rx_buffer_size: 256

data_bits: 8

parity: NONE

stop_bits: 1

sensor:

  • platform: custom

    lambda: |-

    auto meter_sensor = new P1Reader(id(uart_bus));

    App.register_component(meter_sensor);

    return {

    meter_sensor->momentaryActiveImport,
    
    meter_sensor->momentaryActiveExport,
    
    meter_sensor->cumulativeActiveImport,
    
    meter_sensor->cumulativeActiveExport,
    
    meter_sensor->cumulativeActiveImportTarif1,
    
    meter_sensor->cumulativeActiveImportTarif2,
    
    meter_sensor->cumulativeActiveExportTarif1,
    
    meter_sensor->cumulativeActiveExportTarif2,
    
    meter_sensor->voltageL1,
    
    meter_sensor->voltageL2,
    
    meter_sensor->voltageL3,
    
    meter_sensor->currentL1,
    
    meter_sensor->currentL2,
    
    meter_sensor->currentL3
    

    };

    sensors:

    • name: “Momentary Import”

      unit_of_measurement: W

      state_class: measurement

      device_class: power

    • name: “Momentary Export”

      unit_of_measurement: W

      state_class: measurement

      device_class: power

    • name: “Total Import”

      unit_of_measurement: kWh

      state_class: total_increasing

      device_class: energy

    • name: “Total Export”

      unit_of_measurement: kWh

      state_class: total_increasing

      device_class: energy

    • name: “Total Import T1”

      unit_of_measurement: kWh

      state_class: total_increasing

      device_class: energy

    • name: “Total Import T2”

      unit_of_measurement: kWh

      state_class: total_increasing

      device_class: energy

    • name: “Total Export T1”

      unit_of_measurement: kWh

      state_class: total_increasing

      device_class: energy

    • name: “Total Export T2”

      unit_of_measurement: kWh

      state_class: total_increasing

      device_class: energy

    • name: “Voltage Phase 1”

      unit_of_measurement: V

      accuracy_decimals: 1

      state_class: measurement

      device_class: voltage

    • name: “Voltage Phase 2”

      unit_of_measurement: V

      accuracy_decimals: 1

      state_class: measurement

      device_class: voltage

    • name: “Voltage Phase 3”

      unit_of_measurement: V

      accuracy_decimals: 1

      state_class: measurement

      device_class: voltage

    • name: “Current Phase 1”

      unit_of_measurement: A

      accuracy_decimals: 1

      state_class: measurement

      device_class: current

    • name: “Current Phase 2”

      unit_of_measurement: A

      accuracy_decimals: 1

      state_class: measurement

      device_class: current

    • name: “Current Phase 3”

      unit_of_measurement: A

      accuracy_decimals: 1

      state_class: measurement

      device_class: current

text_sensor:

  • platform: wifi_info

    ip_address:

    name: “IP Address”

    ssid:

    name: “Wi-Fi SSID”

    bssid:

    name: “Wi-Fi BSSID”

  • platform: version

    name: “ESPHome Version”

    hide_timestamp: true


@asturges79 @sybaron3 Still unable to make it work :sleepy:

image

@asturges79 @sybaron3

Hello,

I’m trying to configure my Slimmelezer to work with Romande Energie.

Unfortunately I’m a bit lost, do I have to do everything from Home-Assistant or do I have to flash the Slimmelezer with a specific version of ESPHome from a PC before I can use it?

Could a kind soul make a step-by-step tutorial for configuring the Slimmelezer for Romande Energie in Home-Assistant?

Best regards

Exactly same messages on my side…

Right now this procedure seems not to work anymore, we get other error messages. If I find a solution, I will post it here.

Yes you need to flash win a specific bin file the slimmelezer module. Microsoft OneDrive - Access files anywhere. Create docs with free Office Online.

let me know if it works, I am on an old version of ESPHome and will test with new version soon.
still waiting for second Pi board to test.

I did not test the firware provided from asterges79. But I could find an other solution by flashing the Slimmelezer with AMS Reader

In the releases folder Releases · UtilitechAS/amsreader-firmware · GitHub, I took the ams2mqtt-esp8266-2.2.21.bin and flashed with https://web.esphome.io.

After flashing, you need to connect to AMS SSID in order to connect the ESP to your Wifi network. Then access the local configuration page and by using the following settings, I can read the data from the Iskra AM550 from Romande Energie.

The data are sent to Home Assistant over MQTT.
I can read only the following information, but this is enough for my usage:

  • Instant power imported from RE network
  • Instant power exported to RE network
  • Total power imported
  • Total power exported

3 Likes

@flo2141 Brilliant! Finally some progress on this topic!
I’ve followed your explanations and I have been able to connect my Slimmelezer to the ISKRA AM550 of Romande Energie (SIE). This is a test meter (connected to nothing) provided by SIE to do some tests, so I will need to test the setup on a “real” installation.
But anyway, thanks a lot for this huge step forward !

1 Like

@malonip, Peter, you cannot be serious. Has SIE provided you with a meter just to test the P1 port?! Is it really working that way there?

The similar situation, but in Poland looks like this, after asking multiple times to provide information on the communication protocol utilised by the same ISKRA AM550. This is the message from the operator:

in response to another complaint regarding the installation of a Remote Reading Meter (VOC), we would like to inform you again that due to the fact that the meters currently available to … Operator … were manufactured and purchased before the legislator published detailed functional guidelines for VOCs, contained in the regulation of the Minister of Climate and Environment of March 22, 2022. regarding the measurement system, these meters, in accordance with the provisions of the Regulation, may not currently provide all the functionalities indicated in the regulation. Therefore, the requirements presented by you regarding communication for the End User are not reflected in the situation in question.
In accordance with the provisions of the Regulation of the Minister of Climate and Environment of March 22, 2022. (Journal of Laws, item 788), meters installed in the period from July 4, 2019 to the date of entry into force of the Regulation and those installed after the date of entry into force of the Regulation, but purchased as a result of initiating a tender procedure before the date of entry into force of the regulations, will be adjusted to the date of entry into force of the Regulation. July 4, 2031.

@GSzabados I am totally serious ! :rofl: This is the way it is today !
The Swiss law of 2017 requires electricity suppliers to install smart metering on all their customers by 2027. However, nothing has been specified in the law about the technology to be used, and in any case no mention of a P1 port that the consumer could use. In fact, the only rule is that consumers should have access to their consumption, with the electricity supplier choosing how. This can achieved by providing the information through the supplier’s customer web space for instance, or simply by physically reading the values on the meter (really!).
I assume that the “Romande Energie” company (and now SIE in my municipality), one of the biggest electricity suppliers in West Switzerland, chose ISKRA meters for their competitive price and because they met the federal requirements, and started deploying them even before knowing how these meters would work with P1-connected smart meters.
That’s what’s driving today some customers who want to get take their own measurements using the P1 port and are not getting any clear solution from their electricity provider.

1 Like