GithubHelp home page GithubHelp logo

golles / ha-kamstrup_403 Goto Github PK

View Code? Open in Web Editor NEW
67.0 67.0 8.0 374 KB

Custom component that integrates the Kamstrup 403 heating system into Home Assistant. This component does also support a few other heating systems

License: MIT License

Python 98.67% Shell 1.33%
home-assistant home-assistant-component home-assistant-integration homeassistant kamstrup kamstrup403 stadsverwarming

ha-kamstrup_403's Introduction

Hi there, I'm Sander - aka golles 👋

BuyMeCoffee

I'm a Developer and Home Automation enthousiast!!

  • 🤓 I’m currently learning Python 🐍
  • 📱 Mobile app developer since 2012
  • 🏢 Working for TomTom 🛰️ since 2011
  • 🎯 Goals: Contribute more to Open Source projects
  • 🤽‍♂️ Sports: I play water polo

Connect with me:

golles.nl golles | GitHub golles | Twitter golles | LinkedIn golles | Instagram golles | Instagram


Languages and Tools:

Visual Studio Code Terminal HTML CSS Terminal JavaScript React Native Java Android Python Docker Bash SQL MySQL Git GitHub



GitHub stats

golles's GitHub stats golles's GitHub languages



Recent GitHub activity

  1. 🗣 Commented on #108276 in home-assistant/core
  2. 🎉 Merged PR #147 in golles/ha-knmi
  3. 💪 Opened PR #147 in golles/ha-knmi
  4. 🎉 Merged PR #119 in golles/ha-kamstrup_403
  5. 💪 Opened PR #119 in golles/ha-kamstrup_403
  6. ❗ Opened issue #194 in MatthewFlamm/pytest-homeassistant-custom-component
  7. 🎉 Merged PR #146 in golles/ha-knmi
  8. 💪 Opened PR #146 in golles/ha-knmi
  9. 🗣 Commented on #145 in golles/ha-knmi
  10. 🗣 Commented on #145 in golles/ha-knmi

ha-kamstrup_403's People

Contributors

dependabot[bot] avatar golles avatar haedwin avatar wrt54g 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  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

ha-kamstrup_403's Issues

Kamstrup ESP8266 support

Did you read the instructions?

The request

Hi
I am searching for a setup there can read data from my Kamstup 602 via the IR interface, by using standard HW like. D1 Mini ESP8266.
Do you have any plansfor "transfer" the code to this platform?
/Bo

Additional information

.

Can it be used for newer meters.Kamstrup 603 / 803

I am waiting for my Stromzähler, Smart Meter IR (Infrarot) Schreib / Lesekopf USB (Optokopf) to arrive, so I haven't
done any testing yet.
My heating company is planning to replace my meter with the Kamstrup 603 series. Will this component be able to read data from that meter also? Will it require modifications?
And thank you for your work

best wishes
Lars. Denmark

Request to enable using HA serial sensors

Did you read the instructions?

The request

It would be great is there was an option to connect to a Home Assistant serial sensor, so that the serial data can be transmitted over wifi by a remote EspHome device.
This can easily be done in EspHome using a streamserver on an esp32 with https://github.com/oxan/esphome-stream-server.
This way, it is no longer necessary to have a complete HA instance running on a Pi close to the Kamstrup device.

Additional information

none

all entities, but HourCounter, are unavailable

Did you read the instructions?

The problem

I've installed kamstrup script but all data except HourCOunter stays at unavailable its been more then 24 hours. Most addons take a few min to load data? Its a first time install so not sure if it would have ever worked. If i use the kamstup software i can read all data, so the IR is fine to. Heat Energy is also not possible to select in the energy screen. Am i doing something wrong or???

Ive checked the path to the ir reader (Seems to be fine as hour counter is working). My home has a 603 kamstrup meter

What version of this integration has the issue?

1.3

What version of Home Assistant Core has the issue?

2022.11.1

Home Assistant log

No response

Additional information

No response

Integration in Energy dashboard

Did you read the instructions?

The request

Setting up this integration is well-documented, and it didn't take me long to have the Kamstrup data available in cards in the HA Overview dashboard. What I would like, though, is to integrate the measured values in the Energy dashboard, as this MQTT-based Kamstrup integration describes:

https://www.pieterbrinkman.com/2022/02/01/make-your-city-heating-stadsverwarming-smart-and-connect-it-home-assistant-energy-dashboard/

I don't have enough knowledge to build this myself though, so I hope it's possible that you could add some extra documentation which describes this process. Thank you very much.

Additional information

No response

Why do I have 28 hidden entities?

Did you read the instructions?

The problem

There's 28 hidden entities which are never populated with a value. Is this by design or is something not working correclty?

Integration version

2.5.0

Home Assistant version

core-2023.6.1

Python version

3.11.3

Home Assistant log

2023-06-09 13:13:57.283 DEBUG (MainThread) [custom_components.kamstrup_403] Start update
2023-06-09 13:13:57.283 DEBUG (MainThread) [custom_components.kamstrup_403] Get values for [60, 68, 99, 113, 1001, 1004]
2023-06-09 13:13:58.010 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 60, value: 30.648 MWh
2023-06-09 13:13:58.010 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 68, value: 638.34 m³
2023-06-09 13:13:58.011 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 99, value: 0.0 
2023-06-09 13:13:58.011 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 113, value: 6.0 
2023-06-09 13:13:58.011 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1001, value: 72092005.0 
2023-06-09 13:13:58.011 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1004, value: 15380.0 h
2023-06-09 13:13:58.011 DEBUG (MainThread) [custom_components.kamstrup_403] Finished update, 0 out of 6 readings failed
2023-06-09 13:13:58.012 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 0.729 seconds (success: True)

Diagnostics

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.6.1",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.3",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Europe/Stockholm",
    "os_name": "Linux",
    "os_version": "6.1.21-v8",
    "supervisor": "2023.06.1",
    "host_os": "Home Assistant OS 10.2",
    "docker_version": "23.0.6",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
   ...
    "kamstrup_403": {
      "version": "2.5.0",
      "requirements": [
        "pyserial==3.5"
      ]
    }
   ...
  },
  "integration_manifest": {
    "domain": "kamstrup_403",
    "name": "Kamstrup 403",
    "codeowners": [
      "@golles"
    ],
    "config_flow": true,
    "documentation": "https://github.com/golles/ha-kamstrup_403/blob/main/README.md",
    "iot_class": "local_polling",
    "issue_tracker": "https://github.com/golles/ha-kamstrup_403/issues",
    "requirements": [
      "pyserial==3.5"
    ],
    "version": "2.5.0",
    "is_built_in": false
  },
  "data": {
    "config_entry": {
      "entry_id": "51c1f994ec19b4acee33c2e09bbfb382",
      "version": 1,
      "domain": "kamstrup_403",
      "title": "socket://192.168.1.123:4001",
      "data": {
        "port": "socket://192.168.1.123:4001"
      },
      "options": {
        "scan_interval": 120,
        "timeout": 3.0
      },
      "pref_disable_new_entities": false,
      "pref_disable_polling": false,
      "source": "user",
      "unique_id": null,
      "disabled_by": null
    },
    "data": {
      "60": {
        "value": 30.648,
        "unit": "MWh"
      },
      "68": {
        "value": 638.34,
        "unit": "m\u00b3"
      },
      "99": {
        "value": 0.0,
        "unit": ""
      },
      "113": {
        "value": 6.0,
        "unit": ""
      },
      "1001": {
        "value": 72092005.0,
        "unit": ""
      },
      "1004": {
        "value": 15380.0,
        "unit": "h"
      }
    },
    "registered_commands": [
      60,
      68,
      99,
      113,
      1001,
      1004
    ]
  }
}

Additional information

Here's a screenshot of the entities
Screenshot 2023-06-09 at 13 03 53

Enable "Heat Energy (E1)" to be added as a heat source

Did you read the instructions?

The request

I saw the possibility to add a helper entity "Heat Energy to Gas" to express the heat in m3 for the energy panel.
However, the energy panel in home-assistant itself says that a entity with GJ can also be selected for the gas source. This might be added recently in Home Assistant?

The "Heat Energy (E1)" however is not listed. The dropdown does point to https://www.home-assistant.io/more-info/statistics/ and https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics which state it could be possible to use an entity as long as the state class is set correctly.

Is it possible to add this state class to "Heat Energy (E1)" so it can be listed under Gas Sources with unit GJ?

Additional information

No response

Kamstrup HA Energy cards

Hi Golles,
Many thanks for the works done! Must confess that it did cost me several evenings for trying out the reading, but finally ;) ... the sensor is stably running with the use of a magnet (3cmx1cmx4mm) permanent on top of the meter and placing the IR detector with 1 cm distance from the eye. Once you push one of the buttons on the Kamstrup as start, then your integration keeps on working in HA and supplies the heat values and its attributes. Love it.

The next goal for me is to integrate the readings into HA energy cards. This requires two steps.

  1. Would be really great when the ha-kamstrup_403 integration can also be configured with longterm statistics.
    Without extra configuration coding the HA Energy card is yet not able to list Kamstrup 403 Heat Energy (E1). When trying to select in the HA Energy dashboard card under the tab Gas Consumption" the longterm statistic entity of Kamstrup is not available. (And yes, I chose for this Gasstab, because this energy gastab has the same units i.e. GJ, as the Kamstrup has)
    The HA Energy card configuration states: "You’re configuring a statistic but you couldn’t find your source in the dropdown? That’s caused by a bug in the integration providing the entity. Integrations need to configure their entities correctly so Home Assistant knows that we need to track statistics for it and how." .
    Would you (Golles or other) be able to adjust the Kamstrup code such that the Heat Energy (E1) state_class is set to total_increasing that may resolve the 'bug'. (If I'm correctly interpreting https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics.)

  2. I guess the other improvement step is that HA Dashboard Energy developer adjusts the title of the sub card 'Gas Consumption' into 'Gas or Heat Consumption'. That is all folks.
    Regards, Wipnose

Mock meter in dev container

Did you read the instructions?

The request

The dev container is very useful for development however, there is no meter to communicate with...

It would be very nice if there could be a little serial process (written in python) that could be started inside the container that could act as a mock.

Additional information

Should be able to start from the Run Task palette command: https://github.com/golles/ha-kamstrup_403/blob/main/.vscode/tasks.json

For a V1, it can be as simple as it returns hardcoded values.
For a V2 it would be nice if there are either multiple hardcoded values or just increased values.

Set Device class for 'Volume' sensor

Did you read the instructions?

The request

First of all thank you for this integration, it works great.

One small suggestion I have:
By default the 'Heat Energy (E1)' and 'Volume' sensors are activated. The former can now be used in the Energy dashboard, but the 'Volume' sensor cannot be used, because the Device class is missing. I'd like to monitor the Volume as well in the dashboard through the 'Water consumption' dashboard, because I don't have a Cold water meter, so I might as well show this.

So my request: could you add the volume Device class to the Volume sensor?

The 'Heat energy to gas' section can probably also be removed from the Readme, as the energy dashboard now supports Gas sensors with GJ unit. Or the section and sensor can be kept but with a proper conversion: according to this blog the GJ should be multiplied by 32 to get the m3 gas equivalent. After searching a bit more I see that it's actually 31,6 according to this Dutch government website.

image

Thanks!

Additional information

No response

Thanks for the kamstrup 403 HA Add-on

Hi Golles,

I started using HA and during the holidays installed your Kampstrup 403 add-on. It worked perfectly right out of the box. I used an IrDA from AliExpress that worked great even with a 5 meter USB extention cable. The first time i was lazy and used the short tty/USB1 notation in the configuration. And sure enough, at the first reboot i lost the connection.

Thanks for the thorough documentataion and the add-on!

Entity names should be user-friendly

Did you read the instructions?

The request

At the moment the entity names aren't very user-friendly.

Examples (draft):
HourCounter -> Hour counter
Temp1 -> Incoming temperature
Temp2 -> Outgoing temperature
MaxFlowDate_M -> Max flow date (month)
MaxFlowDate_Y -> Max flow date (year)

The best practise is to get the names from the manual, https://www.kamstrup.com/en-en/heat-solutions/meters-devices/meters/multical-403/documents

Additional information

At the moment the entity id is computed from its name, a simple rename will result in a new entity making the old one unavailable.
A migration should be in place to deal with this for existing users, or the logic for name/id should be decoupled.

Another thing to take into consideration is translations (at least English en Dutch, others can be added by the community)

Data able to add to the energy page?

Did you read the instructions?

The request

Hey Golles

Really happy with the intergation but.....
Would it be possible to change the properties of the data so it is accepted and listed as an entity in the energy page under GAS?

https://www.home-assistant.io/more-info/statistics/
"You’re configuring a statistic but you couldn’t find your source in the dropdown? That’s caused by a bug in the integration providing the entity. Integrations need to configure their entities correctly so Home Assistant knows that we need to track statistics for it and how."

Yes, you are right... GAS is in m3 and not in GigaJoules But hey, we can live with that.
Or have you found an other solution to do a day, week, month, year counter as per Electricity and Solar?

Many thanks for the good work!

Frank Reijn ( the almost (3d printing) neighbour :-) )

Capture

Additional information

No response

Error reading Temp2 Exception: bytearray index out of range

Did you read the instructions?

The problem

I have a Kamstrup 403 flow and heat meter connected to control unit for district heating, which I would like to integrate into Home Assistant.
I bought a USB IR read/write module via Ebay. Installing the kamstrup component via HACS worked out of the box. I was able to connect to the USB IR read/write module and the meter is detected, however, no values are displayed. In the Home Assistant log I find two recurring error messages (see below).

What version of this integration has the issue?

1.2.1

What version of Home Assistant Core has the issue?

2022.9.0

Home Assistant log

Error message 1:

This error originated from a custom integration.

Logger: homeassistant
Source: custom_components/kamstrup_403/sensor.py:68
Integration: Kamstrup 403 (documentation, issues)
First occurred: 7:57:46 PM (3 occurrences)
Last logged: 7:59:46 PM

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 151, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 110, in async_update_listeners
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 348, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 533, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 571, in _async_write_ha_state
    state = self._stringify_state(available)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 539, in _stringify_state
    if (state := self.state) is None:
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 386, in state
    native_unit_of_measurement = self.native_unit_of_measurement
  File "/config/custom_components/kamstrup_403/sensor.py", line 68, in native_unit_of_measurement
    return self.coordinator.data[self._command].get("unit")
KeyError: 87

Error message: 2

This error originated from a custom integration.

Logger: custom_components.kamstrup_403
Source: custom_components/kamstrup_403/__init__.py:100
Integration: Kamstrup 403 (documentation, issues)
First occurred: 7:57:46 PM (6 occurrences)
Last logged: 7:59:46 PM

Error reading Temp2 Exception: bytearray index out of range
Error reading Flow Exception: bytearray index out of range

Additional information

This is my Kamstrup meter:

1662661202095

Wireless IR reading

My smart meter is placed in a rather inconvenient location. There is no ethernet connection in the vicinity. Therefore, it is not possible to connect my raspberry pi directly with a USB IR r/w cable. Is there any way to transmit the data wirelessly?

Works with Kamstrup 603

Did you read the instructions?

The request

I just tried the plugin with the Kamstrup 603 recently installed in our flat. It works like a charm. All values are available and they seem correct. Thanks!

Additional information

No response

got an unexpected keyword argument 'suggested_display_precision'

Hi, I get this error on main branch, on previous version 2.3.0 it working properly.

Deze fout is ontstaan door een aangepaste integratie.

Logger: homeassistant.loader
Source: custom_components/kamstrup_403/sensor.py:182
Integration: Kamstrup 403 (documentation, issues)
First occurred: 20:15:57 (1 occurrences)
Last logged: 20:15:57

Unexpected exception importing platform custom_components.kamstrup_403.sensor
Traceback (most recent call last):
File "/volume1/@appstore/homeassistant/env/lib/python3.10/site-packages/homeassistant/loader.py", line 722, in get_platform
cache[full_name] = self._import_platform(platform_name)
File "/volume1/@appstore/homeassistant/env/lib/python3.10/site-packages/homeassistant/loader.py", line 739, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
File "/var/packages/python310/target/lib/python3.10/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/volume1/@appstore/homeassistant/var/config/custom_components/kamstrup_403/sensor.py", line 182, in
SensorEntityDescription(
TypeError: SensorEntityDescription.init() got an unexpected keyword argument 'suggested_display_precision'

Multicall 403 sleeping after 4 min

Did you read the instructions?

The problem

The script is working perfect. Thanks a lot, it works very nice!

I have a multical 403 from ennatuurlijk in the Netherlands. A version with a battery.
When you press a button you can read the meter for 4 minutes. After 4 minutes it is going in a sleep modus and you have to press a button to wake it. After 4 minutes it will fall asleep again.

I do use this reader: https://wiki.hal9k.dk/projects/kamstrup with magnets. I already placed some more magnets, but it does not work. Does anyone have a solution for this, or do I have to add a servo wich will press the button before reading the meter? :-X

What version of this integration has the issue?

2.2.0

What version of Home Assistant Core has the issue?

Core 2023.2.2

Home Assistant log

No response

Diagnostics

No response

Additional information

No response

HA Integration and Kamstrup as separate modules

Did you read the instructions?

The request

I am not a native Python developer but as looking into it to me it seems that there are two separate applications here.
One is the Home Assistant integration which shows the entities and the other one is the Kamstrup integration and logic for pulling up the sensor data.

Have you considered creating a different application from the core code that is the Kamstrup application and publish the response as a MQTT topics for Home Assistant or some other way ? Possible the Optical Eye with ESPHome or standalone raspberry ?

Why I am asking is because for me the heating system is located in the laundry room which is not a place where I would like to place the raspberry running Home Assistant :)

Additional information

No response

Multidevice support & read frequency

Did you read the instructions?

The request

Firstly, I would also like to report a new device working with the integration. In my case it is Kamstrup Multical 601. Thank you for this integration!

Secondly, can you please specify what's the read frequency and ideally make it a configurable value?

Additional information

From my research, I understand that reading the meter drains its battery (~15 min of lifetime reduction per read with brand new battery lasting 10 years without readouts). It'd be good to have control over it if ones device is battery powered.

SSL Handshake error after installing integration

Did you read the instructions?

The problem

I've installed the integration, and that worked. It recognized the reader, but no values where read ( maybe due to misplacement of the IR reader)
But when I restart homeassistant, I'm not able to connect to it anymore. I'm getting a SSL handshake error. If I un-plug the USB of the reader out of the NUC 11(I'm running a Genergic x86-64 image) and power it, homeassistant works again. When I connect a monitor to it with the USB plugged in, I see that homeassistant starts up, but that's it, no connection possible. Also with different clients or external link.

Is there something I've missed that I'm doing wrong? Any ideas?

thanks!

Integration version

2.6.0

Home Assistant version

core-2023.6.3

Python version

3.11.4

Home Assistant log

home-assistant.log

home-assistant.log.1.txt

Diagnostics

diagnostics.py.txt

Additional information

No response

Support for pulse over cable?

Hi,

Not a bug, rather a possibility of discussion. If wrong forum, please pass me a link on more info if possible.

I got this meter installed recently and our provider installed a cable directly into the meter, statingtthat it gives the same pulse output as the octo way. Great, I thought since it's free, not having to buy a complete, or parts for, and octo eye.

Now I am however unsure how to proceed. This integration states that I should have a USB device connected to the machine running Home assistant. What kind of USB device should that be in this case? I do have a Pl2303 laying around. Could that be hooked up to the two cables in my meter?

Or should I take the esp path. In that case, how could I reuse the code from this integration?

Any help would be much appreciated.

Does the clip fit the IR sensor in #38?

Did you read the instructions?

The request

Just curious, when I look at the shape of the device in in ticket #38 then the clip provided in the readme, eg

https://www.aliexpress.com/item/1005003509520122.html
https://www.thingiverse.com/thing:5615493

The sensor looks like it isn't the same shape. Does it fit in the clip?
Also wondering how do people attach the sensor without a clip? Tape? Are there alternatives?

Appreciate any guidance!

Additional information

No response

First reading fails

Did you read the instructions?

The problem

After restarting HA, the entities remain unavailable till the next update of the component

Integration version

branch: main

Home Assistant version

core-2023.5.3

Python version

3.10.11

Home Assistant log

2023-05-18 16:48:57.325 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration kamstrup_403 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
...
2023-05-18 16:49:00.707 DEBUG (MainThread) [custom_components.kamstrup_403] Set up entry, with scan_interval of 600 seconds and timeout of 0.5 seconds
2023-05-18 16:49:00.708 DEBUG (MainThread) [custom_components.kamstrup_403] Start update
2023-05-18 16:49:00.708 ERROR (MainThread) [custom_components.kamstrup_403] Finished update, No readings from the meter. Please check the IR connection
2023-05-18 16:49:00.718 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 0.009 seconds (success: True)
2023-05-18 16:49:03.771 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 60
2023-05-18 16:49:03.772 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 86
2023-05-18 16:49:03.772 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 87
2023-05-18 16:49:03.773 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 68
2023-05-18 16:49:03.774 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 99
2023-05-18 16:49:03.774 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 1004
# Triggered manual update
2023-05-18 16:50:03.529 DEBUG (MainThread) [custom_components.kamstrup_403] Start update
2023-05-18 16:50:03.529 DEBUG (MainThread) [custom_components.kamstrup_403] Get values for [60, 86, 87, 68, 99, 1004]
2023-05-18 16:50:04.208 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 60, value: 42.910000000000004 GJ
2023-05-18 16:50:04.208 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 86, value: 36.21 °C
2023-05-18 16:50:04.208 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 87, value: 29.88 °C
2023-05-18 16:50:04.208 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 68, value: 310.818 m³
2023-05-18 16:50:04.209 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 99, value: 0.0 
2023-05-18 16:50:04.209 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1004, value: 20365.0 h
2023-05-18 16:50:04.209 DEBUG (MainThread) [custom_components.kamstrup_403] Finished update, 0 out of 6 readings failed
2023-05-18 16:50:04.209 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 0.680 seconds (success: True)

Diagnostics

No response

Additional information

The state is attempted to be updated before the entities are registered

No data from Kamstrup meter

Did you read the instructions?

The problem

I don't get any data anymore from my Kamstrup meter the last few days/week.
(don't know when this problem occured and also removed the history when I re-added the integration)

I tried to "wake up" the meter by pressing 1 of the 2 buttons (worked sometime before with an different approach than this integration), but this didn't help solve the problem (the meter display itself is working, so no empty batteries I think)

In my HA logs I got the following error every time it gets data:

2022-06-29 12:17:32 ERROR (MainThread) [custom_components.kamstrup_403] Unexpected error fetching kamstrup_403 data: bytearray index out of range
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 191, in _async_refresh
    self.data = await self._async_update_data()
  File "/config/custom_components/kamstrup_403/__init__.py", line 89, in _async_update_data
    value, unit = self.kamstrup.readvar(SENSORS[key]["command"])
  File "/config/custom_components/kamstrup_403/kamstrup.py", line 200, in readvar
    if b[0] != 0x3F or b[1] != 0x10:
IndexError: bytearray index out of range

I just raised the log level to debug and now I get this message after HA startup:

2022-06-29 12:27:14 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration kamstrup_403 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-06-29 12:27:24 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:27:25 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.201 seconds (success: True)
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] async_setup_entry
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Heat Energy (E1)
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Power
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Temp1
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Temp2
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Tempdiff
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Flow
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Volume
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Temp1xm3
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Temp2xm3
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Infoevent
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor HourCounter

And this messages every minute after HA startup:

2022-06-29 12:28:29 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:28:32 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.109 seconds (success: True)

What version of this integration has the issue?

1.2.0

What version of Home Assistant Core has the issue?

Core 2022.6.7

Home Assistant log

2022-06-29 12:27:14 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration kamstrup_403 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-06-29 12:27:24 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:27:25 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.201 seconds (success: True)
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] async_setup_entry
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Heat Energy (E1)
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Power
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Temp1
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Temp2
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Tempdiff
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Flow
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Volume
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Temp1xm3
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Temp2xm3
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor Infoevent
2022-06-29 12:27:29 DEBUG (MainThread) [custom_components.kamstrup_403] add sensor HourCounter
2022-06-29 12:28:29 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:28:32 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.109 seconds (success: True)
2022-06-29 12:29:32 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:29:33 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.152 seconds (success: True)
2022-06-29 12:30:33 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:30:36 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.182 seconds (success: True)
2022-06-29 12:31:36 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:31:39 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.103 seconds (success: True)
2022-06-29 12:32:39 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:32:40 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.162 seconds (success: True)
2022-06-29 12:33:40 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:33:41 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.139 seconds (success: True)
2022-06-29 12:34:41 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:34:44 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.177 seconds (success: True)
2022-06-29 12:35:44 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:35:47 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.179 seconds (success: True)
2022-06-29 12:36:47 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:36:50 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.204 seconds (success: True)
2022-06-29 12:37:50 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:37:53 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.098 seconds (success: True)
2022-06-29 12:38:53 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:38:54 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.184 seconds (success: True)
2022-06-29 12:39:54 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:39:57 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.112 seconds (success: True)
2022-06-29 12:40:57 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:40:58 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.157 seconds (success: True)
2022-06-29 12:41:58 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:41:59 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.143 seconds (success: True)
2022-06-29 12:42:59 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:43:02 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.176 seconds (success: True)
2022-06-29 12:44:02 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:44:05 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.123 seconds (success: True)
2022-06-29 12:45:05 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:45:06 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.180 seconds (success: True)
2022-06-29 12:46:06 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:46:09 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.118 seconds (success: True)
2022-06-29 12:47:09 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:47:10 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.176 seconds (success: True)
2022-06-29 12:48:10 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:48:13 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.122 seconds (success: True)
2022-06-29 12:49:13 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:49:14 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.166 seconds (success: True)
2022-06-29 12:50:14 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:50:19 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 5.116 seconds (success: True)
2022-06-29 12:51:19 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:51:20 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.180 seconds (success: True)
2022-06-29 12:52:20 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:52:25 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 5.101 seconds (success: True)
2022-06-29 12:53:25 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:53:26 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.139 seconds (success: True)
2022-06-29 12:54:26 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:54:29 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.176 seconds (success: True)
2022-06-29 12:55:29 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:55:32 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.151 seconds (success: True)
2022-06-29 12:56:32 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:56:35 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.176 seconds (success: True)
2022-06-29 12:57:35 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:57:38 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.101 seconds (success: True)
2022-06-29 12:58:38 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:58:41 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.175 seconds (success: True)
2022-06-29 12:59:41 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 12:59:44 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.171 seconds (success: True)
2022-06-29 13:00:44 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:00:47 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.185 seconds (success: True)
2022-06-29 13:01:47 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:01:50 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.110 seconds (success: True)
2022-06-29 13:02:50 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:02:53 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.157 seconds (success: True)
2022-06-29 13:03:53 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:03:54 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.146 seconds (success: True)
2022-06-29 13:04:54 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:04:55 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.153 seconds (success: True)
2022-06-29 13:05:55 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:05:58 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.175 seconds (success: True)
2022-06-29 13:06:58 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:07:01 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.121 seconds (success: True)
2022-06-29 13:08:01 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:08:04 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.181 seconds (success: True)
2022-06-29 13:09:04 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:09:07 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.130 seconds (success: True)
2022-06-29 13:10:07 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:10:10 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.164 seconds (success: True)
2022-06-29 13:11:10 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:11:11 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.175 seconds (success: True)
2022-06-29 13:12:11 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:12:14 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.122 seconds (success: True)
2022-06-29 13:13:14 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:13:15 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.163 seconds (success: True)
2022-06-29 13:14:15 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:14:18 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.126 seconds (success: True)
2022-06-29 13:15:18 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:15:19 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.146 seconds (success: True)
2022-06-29 13:16:19 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:16:20 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.162 seconds (success: True)
2022-06-29 13:17:20 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:17:23 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.173 seconds (success: True)
2022-06-29 13:18:23 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:18:26 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.114 seconds (success: True)
2022-06-29 13:19:26 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:19:27 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.183 seconds (success: True)
2022-06-29 13:20:27 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:20:30 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.111 seconds (success: True)
2022-06-29 13:21:30 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:21:33 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.169 seconds (success: True)
2022-06-29 13:22:33 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:22:36 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.170 seconds (success: True)
2022-06-29 13:23:36 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:23:41 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 5.123 seconds (success: True)
2022-06-29 13:24:41 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:24:42 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.166 seconds (success: True)
2022-06-29 13:25:42 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:25:47 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 5.119 seconds (success: True)
2022-06-29 13:26:47 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:26:48 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 1.178 seconds (success: True)
2022-06-29 13:27:48 DEBUG (MainThread) [custom_components.kamstrup_403] KamstrupUpdateCoordinator: _async_update_data start
2022-06-29 13:27:51 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 3.112 seconds (success: True)

Additional information

No response

ESPHome possible?

Did you read the instructions?

The request

Is it possible to migrate this intergration to an esphome supported device?

I have the 66C Kamstrup working by using this project: https://github.com/ProudElm/ESPHome_multical_sensor
But today they replaced it to a Kamstrup 403.

Do you know... maybe... a way to migrate your project to an ESPHome version??

Additional information

I do have some linux programming knowledge, so maybe we can combine the effort and maybe can get this to work..

Use HTTP request for fetching data from Kamstrup 401

Did you read the instructions?

The request

I now use a ESP8266 to get data from Kamstrup401. With a URL i can fetch data from the ESP8266. The IR reader is connected to the ESP8266
Example : http://192.168.0.207/energy
The response is: {"energy [GJ]" : 371.383,"power [kW]" : 0.0,"flow [l/h]" : 0,"water [m3]" : 27509.55,"tempin" : 29.48,"tempout" : 22.59,"tempdiff" : 6.89}
So it would be nice if this also can be used.

Additional information

No response

Explain or link to hardware design to work with integration

Is your feature request related to a problem? Please describe.
I would love to use the integration, but I am still searching for the hardware requirements or implementation to make it work.

Describe the solution you'd like
Describe the hardware solution in the Readme or link to applicable forum post would help.

Describe alternatives you've considered
I have checked the link to the forum post, but it does not link to a particular forum topic where I could find more information.

Additional context
Would love to be able to use this!

Cooling values

Did you read the instructions?

The request

Our cityheating has to option to cool. I only see data about heating. Is the cooling data also possible to add?

Additional information

No response

Serial over IP

Did you read the instructions?

The request

For integrations (Like P1 meter) we can use serial over IP. (Like https://www.home-assistant.io/integrations/dsmr uses ser2net)
I already created a workaround with socat reading out the ser2net, but can this be added in the integration?
Think it helps alot of people since their HomeAssistant device is in another place than the Kamstrup meter.

Thanks in advance,

Additional information

No response

Request: Heat energy to M3 (for use in energy dashboard)

Did you read the instructions?

The request

First of all, thank you for your work!

Can you add a sensor to the integration that converts the heat energy (E1) to M3?
That way you can have the Gas equivalent for usage in the Energy dashboard.

according to the official government website https://www.infomil.nl/onderwerpen/duurzaamheid-energie/energiebesparing/vragen-antwoorden/overige-vragen/omrekening-verbruik/

1 GigaJoule = 31,6 m3

So, the formula should be [x]GJ*31.6=m3

Thanks!

Additional information

No response

Read precision

Hi, golles

I've been running the component for a while but my heat readings have a precision of only 2 decimal places. I see on your screenshots that you have 3.
Do you know if it is meter specific or if it's dependent on meter settings? I'm running on Multical 601.

image

Support for multiple Kamstrup devices

Did you read the instructions?

The request

Not really a feature request. more like a big thank you. I was searching for a way to integrate my Kamstrup multical 602 and just gave your integration a try. It works out of the box!!!

So my only suggestion is maybe add a "supported devices" list to the readme.md, and or remove 403 from the name of the integration.

Additional information

No response

CONF_TIMEOUT is not used

Did you read the instructions?

The problem

The CONF_TIMEOUT introduced in 2.0.1 is not used in __init__.py when it's configured. It defaults to 1.0.

Here's a suggestion for a next release (testing this in my environments that needs a higher timeout than 1.0 sec)

"""
Custom integration to integrate kamstrup_403 with Home Assistant.

For more details about this integration, please refer to
https://github.com/custom-components/kamstrup_403
"""
import asyncio
from datetime import timedelta
import logging
from typing import Any, List

from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_PORT, CONF_SCAN_INTERVAL, CONF_TIMEOUT
from homeassistant.core import Config, HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.device_registry import DeviceEntryType
from homeassistant.helpers.entity import DeviceInfo
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
import serial

from .const import (
    DEFAULT_BAUDRATE,
    DEFAULT_SCAN_INTERVAL,
    DEFAULT_TIMEOUT,
    DOMAIN,
    NAME,
    PLATFORMS,
    VERSION,
)
from .kamstrup import Kamstrup

_LOGGER: logging.Logger = logging.getLogger(__package__)


async def async_setup(_hass: HomeAssistant, _config: Config) -> bool:
    """Set up this integration using YAML is not supported."""
    return True


async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
    """Set up this integration using UI."""
    if hass.data.get(DOMAIN) is None:
        hass.data.setdefault(DOMAIN, {})

    port = entry.data.get(CONF_PORT)
    scan_interval_seconds = entry.options.get(CONF_SCAN_INTERVAL, DEFAULT_SCAN_INTERVAL)
    scan_interval = timedelta(seconds=scan_interval_seconds)
    timeout_seconds = entry.options.get(CONF_TIMEOUT, DEFAULT_TIMEOUT)

    _LOGGER.debug("Set up entry, with scan_interval %s seconds and timeout of %s seconds", scan_interval_seconds, timeout_seconds)

    client = Kamstrup(port, DEFAULT_BAUDRATE, timeout_seconds)

    device_info = DeviceInfo(
        entry_type=DeviceEntryType.SERVICE,
        identifiers={(DOMAIN, port)},
        manufacturer=NAME,
        name=NAME,
        model=VERSION,
    )

    coordinator = KamstrupUpdateCoordinator(
        hass=hass, client=client, scan_interval=scan_interval, device_info=device_info
    )

    hass.data[DOMAIN][entry.entry_id] = coordinator

    hass.data.setdefault(DOMAIN, {})[entry.entry_id] = coordinator

    for platform in PLATFORMS:
        if entry.options.get(platform, True):
            await hass.async_add_job(
                hass.config_entries.async_forward_entry_setup(entry, platform)
            )

    await coordinator.async_config_entry_first_refresh()

    if not coordinator.last_update_success:
        raise ConfigEntryNotReady

    return True


async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
    """Unload this config entry."""
    unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
    if unload_ok:
        del hass.data[DOMAIN][entry.entry_id]
    return unload_ok


async def async_reload_entry(hass: HomeAssistant, entry: ConfigEntry) -> None:
    """Reload config entry."""
    await async_unload_entry(hass, entry)
    await async_setup_entry(hass, entry)


class KamstrupUpdateCoordinator(DataUpdateCoordinator):
    """Class to manage fetching data from the Kamstrup serial reader."""

    def __init__(
        self,
        hass: HomeAssistant,
        client: Kamstrup,
        scan_interval: int,
        device_info: DeviceInfo,
    ) -> None:
        """Initialize."""
        self.kamstrup = client
        self.device_info = device_info

        self._commands: List[str] = []

        super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=scan_interval)

    def register_command(self, command: str) -> None:
        """Add a command to the commands list."""
        _LOGGER.debug("Register command %s", command)
        self._commands.append(command)

    def unregister_command(self, command: str) -> None:
        """Remove a command from the commands list."""
        _LOGGER.debug("Unregister command %s", command)
        self._commands.remove(command)

    async def _async_update_data(self) -> dict[str, Any]:
        """Update data via library."""
        _LOGGER.debug("Start update")

        data = {}
        failed_counter = 0

        for command in self._commands:
            try:
                value, unit = self.kamstrup.readvar(int(command))
                data[command] = {"value": value, "unit": unit}
                _LOGGER.debug(
                    "New value for sensor %s, value: %s %s", command, value, unit
                )

                if value is None and unit is None:
                    failed_counter += 1

                await asyncio.sleep(1)
            except (serial.SerialException) as exception:
                _LOGGER.error(
                    "Device disconnected or multiple access on port? \nException: %e",
                    exception,
                )
            except (Exception) as exception:
                _LOGGER.error("Error reading %s \nException: %s", command, exception)
                raise UpdateFailed() from exception

        if failed_counter == len(data):
            _LOGGER.error(
                "Finished update, No readings from the meter. Please check the IR connection"
            )
        else:
            _LOGGER.debug(
                "Finished update, %s/%s readings failed", failed_counter, len(data)
            )

        return data

What version of this integration has the issue?

2.0.1

What version of Home Assistant Core has the issue?

2022.11.3

Home Assistant log

No response

Diagnostics

No response

Additional information

No response

Lost connection

Did you read the instructions?

The problem

Hi,

the integration works, and I get reading from the meeter, the problem is that after a while (max 4h) no more data is recorded - not available. By just reloading the integration it starts to read data again, for a while until it stops and I have to reload again.

Is there some why to correct this, or for instance automatically reload the integration every hour?

Integration version

2.6.0

Home Assistant version

2023.10.3

Python version

3.11

Home Assistant log

2023-10-14 11:31:22.470 WARNING (SyncWorker_3) [homeassistant.loader] We found a custom integration kamstrup_403 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

2023-10-14 17:31:58.356 ERROR (MainThread) [custom_components.kamstrup_403] Error fetching kamstrup_403 data: 

2023-10-15 19:35:51.049 ERROR (MainThread) [custom_components.kamstrup_403] Error fetching kamstrup_403 data: 

2023-10-14 11:31:22.470 WARNING (SyncWorker_3) [homeassistant.loader] We found a custom integration kamstrup_403 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

2023-10-14 17:31:58.356 ERROR (MainThread) [custom_components.kamstrup_403] Error fetching kamstrup_403 data:

Diagnostics

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.10.3",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.5",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Stockholm",
    "os_name": "Linux",
    "os_version": "6.1.56",
    "supervisor": "2023.10.0",
    "host_os": "Home Assistant OS 11.0",
    "docker_version": "24.0.6",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "wyzesense": {
      "version": "0.0.11",
      "requirements": [
        "wyzesense==0.0.4",
        "retry==0.9.2"
      ]
    },
    "frigate": {
      "version": "4.0.0",
      "requirements": [
        "pytz==2022.7"
      ]
    },
    "nodered": {
      "version": "1.1.3",
      "requirements": []
    },
    "samsungtv_tizen": {
      "version": "1.6.1",
      "requirements": [
        "websocket-client>=0.56.0",
        "wakeonlan>=2.0.0",
        "numpy>=1.19.2"
      ]
    },
    "gardena_smart_system": {
      "version": "1.0.0",
      "requirements": [
        "py-smart-gardena==1.3.7"
      ]
    },
    "sonoff": {
      "version": "3.4.0",
      "requirements": [
        "pycryptodome>=3.6.6"
      ]
    },
    "hacs": {
      "version": "1.32.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "easee": {
      "version": "0.9.54",
      "requirements": [
        "pyeasee==0.7.53"
      ]
    },
    "mass": {
      "version": "2023.6.0b3",
      "requirements": [
        "music-assistant==2.0.0b59"
      ]
    },
    "ha_kia_hyundai": {
      "version": "1.8.4",
      "requirements": [
        "kia-hyundai-api==1.2.14",
        "geopy>=2.0"
      ]
    },
    "kia_uvo": {
      "version": "2.14.1",
      "requirements": [
        "hyundai_kia_connect_api==3.8.6"
      ]
    },
    "kamstrup_403": {
      "version": "2.6.0",
      "requirements": [
        "pyserial==3.5"
      ]
    },
    "tapo": {
      "version": "2.8.2",
      "requirements": [
        "plugp100==3.10.3"
      ]
    },
    "xiaomi_miot_raw": {
      "version": "v1.3.1",
      "requirements": [
        "construct",
        "python-miio>=0.5.3"
      ]
    },
    "nordpool": {
      "version": "0.0.14",
      "requirements": [
        "nordpool>=0.2",
        "backoff"
      ]
    },
    "awox": {
      "version": "0.1.5",
      "requirements": [
        "pexpect>=4.6.0",
        "pycryptodome>=3.6.6",
        "pygatt[GATTTOOL]>=4.0.5"
      ]
    },
    "edgeos": {
      "version": "1.1.2",
      "requirements": [
        "aiohttp"
      ]
    },
    "spotcast": {
      "version": "v3.6.30",
      "requirements": []
    },
    "kodi_media_sensors": {
      "version": "5.1.2",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "kamstrup_403",
    "name": "Kamstrup 403",
    "codeowners": [
      "@golles"
    ],
    "config_flow": true,
    "documentation": "https://github.com/golles/ha-kamstrup_403/blob/main/README.md",
    "iot_class": "local_polling",
    "issue_tracker": "https://github.com/golles/ha-kamstrup_403/issues",
    "requirements": [
      "pyserial==3.5"
    ],
    "version": "2.6.0",
    "is_built_in": false
  },
  "data": {
    "config_entry": {
      "entry_id": "e983eb56b08945d99658bbb1412b635d",
      "version": 1,
      "domain": "kamstrup_403",
      "title": "/dev/serial/by-id/usb-FTDI_RJ-OPUSB-IEC-if00-port0",
      "data": {
        "port": "/dev/serial/by-id/usb-FTDI_RJ-OPUSB-IEC-if00-port0"
      },
      "options": {},
      "pref_disable_new_entities": false,
      "pref_disable_polling": false,
      "source": "user",
      "unique_id": null,
      "disabled_by": null
    },
    "data": {
      "60": {
        "value": 1.337,
        "unit": "MWh"
      },
      "68": {
        "value": 56.6,
        "unit": "m\u00b3"
      },
      "99": {
        "value": 0.0,
        "unit": ""
      },
      "113": {
        "value": 0.0,
        "unit": ""
      },
      "1001": {
        "value": 72763114.0,
        "unit": ""
      },
      "1004": {
        "value": 10567.0,
        "unit": "h"
      }
    },
    "registered_commands": [
      60,
      68,
      99,
      113,
      1001,
      1004
    ]
  }
}

Additional information

No response

Supporting Kamstrup 401

Did you read the instructions?

The request

The Kamstrup 401 does not work with this plugin. Adding it would be highly appreciated.
I've found two projects on Github that might be helpful:
https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P071_Kamstrup401.ino
https://www.manualslib.com/manual/2117896/Kamstrup-Multical-401.html?page=52
https://github.com/siliconehuntsman/mc401

I can help testing the device. There are thousands of this model installed here in Arnhem. The potential user base ;-)

Additional information

No response

MaxFlowDate_M (and other Date parameters) shown incorrectly "230,207.0 yy:mm:dd"

Did you read the instructions?

The problem

Ever since I'm using this integration for a Kampstrump 402 all parameters read that are supposed to hold a date are not shown correctly in HA.

as is:
"MaxFlowDate_M" holds "230,207.0 yy:mm:dd" as value

expected:
23-02-07 (or in a other date format that makes sense)

All other Parameters that are holding dates exhibit the identical issue

screenshot

What version of this integration has the issue?

2.2.0

What version of Home Assistant Core has the issue?

latest

Home Assistant log

No response

Diagnostics

No response

Additional information

No response

Ser2Net support for network connected

Did you read the instructions?

The request

I would like to be able to read my Kamstrup meter with Home Assistant over the network.
The suggested reader is connected to an ESP8266 which makes a ser2net server available (Just like DSMR does, during setup you choose either serial or network connection)

Hopefully it is possible to add this feature to your code.

Additional information

As shown by DSMR:
image
This is the step during setup where you are able to select network or serial
image

Many I/O error messages

Version of the custom_component

Version: 1.0.0

Configuration

I downloaded this integration through HACS and choose the following device:
/dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_D308BOXH-if00-port0

Describe the bug

I got a lot error massages (957 in ~24h) with the error: "Unexpected error fetching kamstrup_403 data: name 'serial' is not defined".

If I re-add the integration, it seems to work for some hours/days, but then I get above error messages again and no new updates from my Kamstrup 403.

Debug log

Logger: custom_components.kamstrup_403
Source: custom_components/kamstrup_403/__init__.py:84
Integration: Kamstrup 403 (documentation, issues)
First occurred: 14 oktober 2021 16:31:44 (953 occurrences)
Last logged: 08:23:44

Unexpected error fetching kamstrup_403 data: name 'serial' is not defined
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/serial/serialposix.py", line 621, in write
    n = os.write(self.fd, d)
OSError: [Errno 5] I/O error

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/kamstrup_403/__init__.py", line 82, in _async_update_data
    value, unit = self.kamstrup.readvar(SENSORS[key]["command"])
  File "/config/custom_components/kamstrup_403/kamstrup.py", line 194, in readvar
    self.send(0x80, (0x3F, 0x10, 0x01, nbr >> 8, nbr & 0xFF))
  File "/config/custom_components/kamstrup_403/kamstrup.py", line 164, in send
    self.wr(c)
  File "/config/custom_components/kamstrup_403/kamstrup.py", line 137, in wr
    self.ser.write(b)
  File "/usr/local/lib/python3.9/site-packages/serial/serialposix.py", line 655, in write
    raise SerialException('write failed: {}'.format(e))
serial.serialutil.SerialException: write failed: [Errno 5] I/O error

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 187, in _async_refresh
    self.data = await self._async_update_data()
  File "/config/custom_components/kamstrup_403/__init__.py", line 84, in _async_update_data
    except (serial.SerialException):
NameError: name 'serial' is not defined

Multiple device support

Did you read the instructions?

The request

Hi Sander, I own a Kamstrup 401 and kinda hoped that your plugin would work out of the box for this one too. Unfortunately it does not. Is it possible to add support for the 401?

Groet,
Hugo

Additional information

No response

Configure a specific time to scan the Kamstrup

Did you read the instructions?

The request

My Kamstrup403 is battery operated. The drain will be high when i scan every hour. In the long run daily values would be enough, at least for me. If the scan is performed everyday at 24:00 (12:00 midnight) it would have minimum drain on the battery and daily values are available.

Is it possible to add a function, for instance in the configuration screen, to do a daily scan at 24:00?

(I know that i can configure the scan interval with 86400 and wait until 24:00 to submit the configuration, but a daily scan feature would be user friendly)

Additional information

No response

Mbus

Did you read the instructions?

The request

I have a Mbus master adapter>USB and I can see the readings from a Kamstrup 403 on my Windows PC, using M-Bus Sheet v2.1.
Is it possible to integrate serial Mbus readings as an option?

Additional information

No response

Latest version seems to break if more then only a few values are requsted

Did you read the instructions?

The problem

I request these values from 602:

  • Flow
  • Heat Energy (E1)
  • Power
  • Temp1
  • Temp1xm3
  • Temp2
  • Temp2xm3
  • Tempdiff
  • Volume
  • HourCounter
  • Infoevent

With version 2.0.2 all is working fine.
After update to version 2.1.0 i've got no values anymore.
Then i pried to remove the addon and reinstall. Now it's working with the 2-3 default values.
After enabling the values mentioned above, i've got no updates anymore and this error:

Logger: custom_components.kamstrup_403
Source: custom_components/kamstrup_403/init.py:83
Integration: Kamstrup 403 (documentation, issues)
First occurred: 17:33:50 (5 occurrences)
Last logged: 17:49:23

Error reading multiple [60, 80, 86, 87, 89, 74, 68, 97, 110, 113, 1004] Exception: bytearray index out of range
Finished update, No readings from the meter. Please check the IR connection

What version of this integration has the issue?

2.1.0

What version of Home Assistant Core has the issue?

core-2023.1.4

Home Assistant log

No response

Diagnostics

No response

Additional information

No response

Supported Device: Kamstrup 402

Meter

Kamstrup 402

More info

Kamstrup402
Works with Kamstrup 402. I struggled for a while to get the position right. The trick was to set the IR reader lower than I had first assumed. Without using paper in between or adding extra distance - or other tricks that are mentioned in different threads around the topic.

Network Sensor

Did you read the instructions?

The request

Have anyone had any luck using another Unit for the Sensor part? A raspberry or a ESP32 to transmit the data via Wifi to the Homeassistant machine? For my part, my Multical is in the basement and the HA Machine is in the Office.

Additional information

Edit: didn't see the URL support in the README

Readings only work once

Did you read the instructions?

The problem

The sensor values are read succesfull, but only once.

I have two ways to solve this

  1. Reload the integration
  2. Move the head away from the IR port, and then back.
    then the sensor values are read again, but only once

What version of this integration has the issue?

2.0.0

What version of Home Assistant Core has the issue?

2022.11.2

Home Assistant log

2022-11-09 21:29:59.535 DEBUG (MainThread) [custom_components.kamstrup_403] Start update
2022-11-09 21:29:59.752 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 60, value: 11.24 GJ
2022-11-09 21:30:00.979 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 80, value: 0.6000000000000001 kW
2022-11-09 21:30:02.187 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 86, value: 64.57000000000001 °C
2022-11-09 21:30:03.387 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 87, value: 29.91 °C
2022-11-09 21:30:04.599 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 89, value: 34.660000000000004 K
2022-11-09 21:30:05.818 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 74, value: 17.0 l/h
2022-11-09 21:30:07.035 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 68, value: 80.95 m³
2022-11-09 21:30:08.254 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 97, value: 5366.0 m³xC
2022-11-09 21:30:09.473 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 110, value: 2617.0 m³xC
2022-11-09 21:30:10.045 INFO (Recorder) [homeassistant.components.sensor.recorder] Compiling initial sum statistics for sensor.kamstrup_403_heat_energy_e1, zero point set to 11.24
2022-11-09 21:30:10.045 INFO (Recorder) [homeassistant.components.sensor.recorder] Compiling initial sum statistics for sensor.kamstrup_403_volume, zero point set to 80.94
2022-11-09 21:30:10.045 INFO (Recorder) [homeassistant.components.sensor.recorder] Compiling initial sum statistics for sensor.kamstrup_403_hourcounter, zero point set to 8365.0
2022-11-09 21:30:10.691 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 113, value: 2.0 
2022-11-09 21:30:11.900 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1004, value: 8365.0 h
2022-11-09 21:30:12.901 DEBUG (MainThread) [custom_components.kamstrup_403] Finished update, 0/11 readings failed
2022-11-09 21:30:12.901 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 13.366 seconds (success: True)
2022-11-09 21:33:12.001 DEBUG (MainThread) [custom_components.kamstrup_403] Start update
2022-11-09 21:33:12.202 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 60, value: None None
2022-11-09 21:33:13.203 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 80, value: None None
2022-11-09 21:33:14.204 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 86, value: None None
2022-11-09 21:33:15.205 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 87, value: None None
2022-11-09 21:33:16.208 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 89, value: None None
2022-11-09 21:33:17.210 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 74, value: None None
2022-11-09 21:33:18.212 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 68, value: None None
2022-11-09 21:33:19.212 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 97, value: None None
2022-11-09 21:33:20.213 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 110, value: None None
2022-11-09 21:33:21.214 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 113, value: None None
2022-11-09 21:33:22.216 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1004, value: None None
2022-11-09 21:33:23.217 ERROR (MainThread) [custom_components.kamstrup_403] Finished update, No readings from the meter. Please check the IR connection
2022-11-09 21:33:23.217 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 11.217 seconds (success: True)

Additional information

This is on a Kamstrup Multical 603

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.