-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sweden/Luxembourg smart meter telegram integration #1394
Comments
When using putty I get the information from the meter.
|
Hi, I'll need some more context to help you. It seems your telegram may differ a bit from what DSMR-reader supports. Are you Dutch and using a Dutch smart meter? And what meter are you reading? Did you use the default datalogger and settings? |
I use a Kaifa MA304H4E smart meter, what is different from what DSMR-reader supports? The meter is supposed to suport SSMR5_Annex 02-5 Dutch Smart Meter Requirements v5.0.2 Final P1. If not I need to talk to the vendor. :) |
I live in Sweden. I will give it a try. How do I change it running Home assistant? |
Great, let me know if it resolves the problem. I'm not sure how to change it in HA. I presume you have access to the interface of DSMR-reader somewhere, and then you'll need to append |
Tadaaa.. It worked. Thanks a lot! |
Great to hear, thanks for testing! |
Hello. |
I can give it a shot, but I'm not sure whether it would map correctly to the application. It would still require DSMR-reader to fake using either tariffs and users would need to manually select "merge tariffs" in the GUI settings. But I guess it might work. Would you be able to provide a full telegram? I'm not sure whether the one provided above lacks any lines before the first one containing the date. Lines such as DSMR version and smart meter serial number. If there is a serial number, you may change it to a random number. |
This is the P1 output from our temporary Kaifa MA304H4E meter:
but we will get 275 000 Kamstrup OMNIA eMeter when the meter is ready for production. Don't have any meter with an aktiv port to be able to read it yet. I will try to get an output readout from other grid companies in Sweden. I would be necessary to compare different meters to know exactly how they work. I will get back to you on that. Thanks! |
Thanks for the update! I'll have a look some time later as DSMR-reader might be able to use these fields and hardcode it to a fixed tariff or so:
I'm not sure if it will break anything, but I guess it's worth trying anyway. |
@Bokotimon do you happen to have your definitive smart meter by now? And any luck getting the P1 telegram associated with it? |
Possible help with Smart meters in Sweden in the reader-only-package of Nigel: ndokter/dsmr_parser#86 |
I have started to translate the Swedish specification, that is not needed then. :) |
@Bokotimon do you happen to have a final dump of a (production) telegram I can use for integration? Or did it not change? |
@Bokotimon is the telegram you provided a real one? It seems to be either invalid or ambiguous regarding DST/timezones. I'm writing a test and I'll need the exact timezone it should match to verify parsing works. The date:
Is marked as It's really important to know whether this is correct or a side effect or simply different in Sweden, as it may or may not cause hourly differences twice a year or even offset the time data wrong. Any information you can provide? |
@Bokotimon another question, the voltages seems to be fine, but the power/current per phase seems to differ from the Dutch DSMR as well. Again, is the telegram valid or do you have a production one I can use instead? I've mapped them internally to integers, which may explain why you did not get any data regarding current. Your telegram:
My telegram:
I'm not a 100% sure, but it seems that the Dutch DSMR does not allow decimals for Amps: Definition volts / ampsIt maps to tag 18 with Tag 18
|
Also, there do not seem to be (breaking) differences with the Luxembourgh config, as in how DSMR-reader allows fields to be omitted or not. So it should be fine to use anyway. If you have a final production telegram I'll be able to check again for you. |
Thanks for the sample. Would you be able to have a plain text dump here so I can copy, paste and dry run it? Also, the order of the data (body) does not affect most parsers, since each line is prependend with it unique field identifier. As long as the CRC checksum matches the same order of course.
|
Here you go @dennissiemensma, here is a sample:
|
@Bokotimon I've inserted your telegram into f5f7bf0 and it seems to parse. However, it does contain a lot of zero-values, not really allowing me to assert parsed values. Also, this part still does not match Dutch specs, see #1394 (comment):
The current state of the test mentioned above may pass because of the zero-values, causing Python to internally omit the decimals. So it's still of concern and I cannot verify whether it will fail unless you have a real telegram with a value in either of the fields above. For now I still presume it mismatches. |
@dennissiemensma At last, here are some readings from a Kamstrup OMNIA eMeter. Can't wait to see it in action in homeassistant. Tried a dongel that shows 1 sek values in my cellphone. Looks really nice. |
Great, I will give it a try later. My dev environment is in between versions at the moment. Telegram for me te try:
I see that these fields are still decimals though, so not sure what to do:
It probably requires some kind of parsing hack, but we'll see later. |
Hey, I have a working Luxemburg setup now but its kind of slow. The meter is pushing values every second but it does not update the live values every second. Do you know if its possible too speed up the gui? |
Readings are grouped by minute by default. You may try disabling it in the admin interface in Consumption, if I remember correctly. Also, you may try to decrease the backend process sleep or datalogger sleep configs in the admin as well.
|
@Bokotimon did changing the settings above fix it? |
Thanks for asking. I checked it and I already set logger to use the same resolution as the output from the meter. The backend process I had set to the lowest number 0.5. I will look into it again. Did you figure out the decimal problem from the Swedish HAN-output? |
I have not been able to look into it. Does the Luxembourg setup at least provide some data? |
It seems that the Luxembourgh meters have the same issue: #1533I will merge the issues and keep the current one, since it was created first. I think fixing the Luxembourgh parsing will fix it for your meters as well. |
I have looked into the GUI update issue with the best programmer I know at work Joris but he think there might be a data process limitation in the GUI. Do you think that it is possible to solve the update issue? The DSMR standard 5.0.2 says 1 s update and it would be nice if the GUI have the same refresh rate. |
I need some more context regarding any issues you are facing. Which part of the GUI do you mean? If you're having issues with the current consumption header values, they should update every second: If you're having issues with the graphs, they currenctly update every 5 seconds: I could decrease the latter a bit, but I will have to check whether it does not affect performance too much. Or make it a config value. You could alter it locally temporarily in the given file(s), for now. Note that every graph has its own value. |
It seems to affect performance too much, but I've added a new setting for it in the next release. Use at your own risk. |
It was the live data view in the GUI I was referring to. Using an other dongle with live data graph using 1 sek resolution give instant feedback when turning electrical equipment on and off. Even if it just a small led-bulb shows a difference in the graph. I really like graphs, it is so much easier to understand than looking at the numbers. |
I've recreated a fresh issue #1641 to clear all the noise of this topic. |
Hello, I have got a problem. No values show up in DSMR Reader but I got an error message in Timescale log. Do not know what to do?
The text was updated successfully, but these errors were encountered: