Neoom Beeam Rest API

Hi HA community,

I am very new to the topic and I am struggling a bit with creating sensors via
configuration.yaml

I just tried to get information from a local device called “Neoom Beeam” wich is a local device for accessing real time data of my PV system via the REST api.

According to the API Documentation “/api/v1/site/state

I am trying to get all the basic information from the site/state.
Therefore I tried the curl command

curl -k \
-H "Authorization: Bearer skxxxx" \
-H "Content-Type: application/json" \
http://192.168.0.x/api/v1/site/state

this is the result

{"energyFlow":{"states":[
{"dataPointId":"befa18bd-7c07-5871-90a2-29f1c51fa368","key":"SELF_SUFFICIENCY","value":100,"ts":1718621135003},
{"dataPointId":"2339a8b3-db1e-5b63-9a6f-a11787c8f905","key":"POWER_PRODUCTION","value":7206,"ts":1718633200003},
{"dataPointId":"24a8122b-d2cc-5374-b5b4-bf22f51dd511","key":"POWER_CONSUMPTION","value":null,"ts":1718621100003},
{"dataPointId":"371d81cc-a0b6-510f-b02d-819adbed7011","key":"POWER_GRID","value":-5973,"ts":1718633200003},
{"dataPointId":"6e5e9fcc-f81b-59b7-8a40-93916ed199a0","key":"POWER_STORAGE","value":37,"ts":1718633180002},
{"dataPointId":"ad7c9711-e91c-5a56-85b2-7de4c6a7ad10","key":"ENERGY_PRODUCED","value":18006700,"ts":1718633200003},
{"dataPointId":"db4e07e8-657c-51b5-9f45-ea48c5dd0a9e","key":"ENERGY_CONSUMED","value":null,"ts":1718621100003},
{"dataPointId":"3b327d89-825a-59f7-b956-4ccdd89f125a","key":"ENERGY_IMPORTED","value":4932816.486869225,"ts":1718621100003},
{"dataPointId":"bee32e2c-f01a-5cff-8252-d2f09e06c9dc","key":"ENERGY_EXPORTED","value":7452677.600188415,"ts":1718633200003},
{"dataPointId":"d46d9e71-d227-5295-8ca5-6957472fa111","key":"ENERGY_CHARGED","value":4558500,"ts":1718631955003},
{"dataPointId":"e25f2c9a-25e7-528e-bab2-9f85f51ec440","key":"ENERGY_DISCHARGED","value":3385000,"ts":1718632635004},
{"dataPointId":"6b73c34d-f868-5792-b9d5-ef92348d202f","key":"STATE_OF_CHARGE","value":100,"ts":1718632000002},
{"dataPointId":"d5461d1f-1b80-5aac-9e15-e020a26aebf3","key":"POWER_CONSUMPTION_CALC","value":1270,"ts":1718633200003},
{"dataPointId":"60341e65-6c4b-5424-b091-f4286512cb94","key":"POWER_GRID_REMAINING","value":null,"ts":1718621100003},
{"dataPointId":"2869f5fc-7737-57d3-a64e-c15c7e084c97","key":"ENERGY_CONSUMED_CALC","value":14313338.886680812,"ts":1718633200003}]}
}

Next step → just putting some code in the configuration.yaml

sensor:
  - platform: rest
    name: Neoom Beeam Energy State
    resource: http://192.168.0.x/api/v1/site/state
    method: GET
    verify_ssl: false
    headers:
      Authorization: !secret beeam_bearer_token
      Content-Type: application/json
    value_template: >
          {% set state = value_json.energyFlow.states[0] %}
            Key: {{ state.key }}, Value: {{ state.value }}, DataPointId: {{ state.dataPointId }}, Timestamp: {{ state.ts }}
    json_attributes_path: "$.energyFlow.states"
    json_attributes:
      - states
    scan_interval: 10

template:
  - sensor:
      - name: "Neoom Autarkie"
        unit_of_measurement: "%"
        device_class: "power"
        state_class: "measurement"
        state: >
          {% set state_data = state_attr('sensor.neoom_beeam_energy_state', 'states') %}
          {% if state_data %}
            {{ state_data | selectattr('key', 'eq', 'SELF_SUFFICIENCY') | map(attribute='value') | first | default('unavailable') }}
          {% else %}
            unavailable
          {% endif %}

      - name: "Neoom Strom Netz"
        unit_of_measurement: "W"
        device_class: "energy"
        state_class: "measurement"
        state: >
          {% set state_data = state_attr('sensor.neoom_beeam_energy_state', 'states') %}
          {% if state_data %}
            {{ state_data | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first | default('unavailable') }}
          {% else %}
            unavailable
          {% endif %}

But when I look now in the entity state it shows me “unknown”.

Please can you help me.

Thank you very much

Hi community,

just got it working.

Please give me feedback if it is working for you too?



# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
knx: !include knx.yaml



rest:
  - resource: http://IP-Adress/api/v1/site/state  # BEAAM API URL
    headers:
      Authorization: "Bearer hereyourtoken" #do not delete Bearer at the start
      Content-Type: "application/json"
    method: GET
    scan_interval: 10  # Intervall für API-Aufrufe in Sekunden
    sensor:
      - name: "neoom_self_sufficiency"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'SELF_SUFFICIENCY') | map(attribute='value') | first }}"
        unit_of_measurement: "%"
        device_class: power
        state_class: measurement

      - name: "neoom_power_production"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_PRODUCTION') | map(attribute='value') | first }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement

      - name: "neoom_power_consumption"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_CONSUMPTION') | map(attribute='value') | first }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement

      - name: "neoom_power_grid"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement

      - name: "neoom_power_storage"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_STORAGE') | map(attribute='value') | first }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement

      - name: "neoom_energy_produced"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_PRODUCED') | map(attribute='value') | first }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing

      - name: "neoom_energy_consumed"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_CONSUMED') | map(attribute='value') | first }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing

      - name: "neoom_energy_imported"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_IMPORTED') | map(attribute='value') | first }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing

      - name: "neoom_energy_exported"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_EXPORTED') | map(attribute='value') | first }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing

      - name: "neoom_energy_charged"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_CHARGED') | map(attribute='value') | first }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing

      - name: "neoom_energy_discharged"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_DISCHARGED') | map(attribute='value') | first }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing

      - name: "neoom_state_of_charge"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'STATE_OF_CHARGE') | map(attribute='value') | first }}"
        unit_of_measurement: "%"
        device_class: battery
        state_class: measurement

      - name: "neoom_power_consumption_calc"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_CONSUMPTION_CALC') | map(attribute='value') | first }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement

      - name: "neoom_energy_consumed_calc"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_CONSUMED_CALC') | map(attribute='value') | first }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing

Hi Dominik,

Thank you very much for posting your Solution! I’m new at Home Assistant and have no idea of programming and i looking for this “integration” since i’ve got my PV. Last Week I found a working Solution with the Neoom Connect Cloud, but i prefer the direct Way. I’ve just testing five sensors and four of them working fine, only “neoom_power_consumption” doesn’t produces me an Entity, but it doesnt matter.

Here is my updated code

rest:
  - resource: http://IP-Adress/api/v1/site/state  # BEAAM API URL
    headers:
      Authorization: "Bearer sk_beaam_xxxxx" #Put your bearer token here, but do not delete Bearer at the beginning
      Content-Type: "application/json"
    method: GET
    scan_interval: 10  # Intervall für API-Aufrufe in Sekunden
    sensor:
      # Stromverbrauch (aktuelle Leistung in Watt)
      - name: "neoom_power_consumption"
        unique_id: "power_consumption"
        #value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_CONSUMPTION') | map(attribute='value') | first }}"
        value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_PRODUCTION') | map(attribute='value') | first * -1) if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_PRODUCTION') | map(attribute='value') | first) < 0 else (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_PRODUCTION') | map(attribute='value') | first) }}"
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement
        icon: "mdi:LightningBoltOutline"

      # Stromnetz (aktueller Netzbezug)
      - name: "neoom_power_grid_input"
        unique_id: "power_grid_input"
        #value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first }}"
        value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first) * -1 if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first) < 0 else (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first) }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total
        icon: "mdi:TransmissionTower"

      # Stromnetz (aktuelle Einspeisung)
      - name: "neoom_power_grid_output"
        unique_id: "power_grid_output"
        #value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first }}"
        #value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first) * -1 if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first) < 0 else (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first) }}"
        value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first * -1) if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_GRID') | map(attribute='value') | first) < 0 else 0 }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total
        icon: "mdi:TransmissionTower"

      # Batteriespeicher Output (aktuelle Leistung in Watt)
      - name: "neoom_storage_output"
        unique_id: "storage_output"
        #value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_STORAGE') | map(attribute='value') | first }}"
        value_template: "{{ 0 if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_STORAGE') | map(attribute='value') | first) < 0 else (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_STORAGE') | map(attribute='value') | first) }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total
        icon: "mdi:BatteryArrowDownOutline"

        # Energie entladen (Entnahme aus dem Speicher in Wh)
      - name: "neoom_energy_discharged"
        unique_id: "energy_discharged"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_DISCHARGED') | map(attribute='value') | first }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing
        icon: "mdi:BatteryArrowDownOutline"

      # Batteriespeicher Input (aktuelle Leistung in Watt)
      - name: "neoom_storage_input"
        unique_id: "storage_input"
        #value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_STORAGE') | map(attribute='value') | first }}"
        #value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_STORAGE') | map(attribute='value') | first * -1) if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_STORAGE') | map(attribute='value') | first) < 0 else (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_STORAGE') | map(attribute='value') | first) }}"
        value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_STORAGE') | map(attribute='value') | first * -1) if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_STORAGE') | map(attribute='value') | first) < 0 else 0 }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total
        icon: "mdi:BatteryArrowUpOutline"

      # Energie geladen (gespeicherte Energie in Wh)
      - name: "neoom_energy_charged"
        unique_id: "energy_charged"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_CHARGED') | map(attribute='value') | first }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing
        icon: "mdi:BatteryArrowUpOutline"

      # Energie produziert (gesamte erzeugte Energie in Wh)
      - name: "neoom_energy_produced"
        unique_id: "energy_produced"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_PRODUCED') | map(attribute='value') | first }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing
        icon: "mdi:SolarPowerVariant"

      # Energie verbraucht (gesamter Verbrauch in Wh)
      - name: "neoom_energy_consumed"
        unique_id: "energy_consumed"
        value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_CONSUMED') | map(attribute='value') | first * -1) if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_CONSUMED') | map(attribute='value') | first) < 0 else (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_CONSUMED') | map(attribute='value') | first) }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing
        icon: "mdi:HomeLightningBoltOutline"

      # Energie importiert (gesamter Import aus dem Netz in Wh)
      - name: "neoom_energy_imported"
        unique_id: "energy_imported"
        #value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_IMPORTED') | map(attribute='value') | first | round(2) }}"
        value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_IMPORTED') | map(attribute='value') | first * -1) if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_IMPORTED') | map(attribute='value') | first) < 0 else (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_IMPORTED') | map(attribute='value') | first) | round(2) }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing
        icon: "mdi:TransmissionTowerImport"

      # Energie exportiert (gesamte Einspeisung ins Netz in Wh)
      - name: "neoom_energy_exported"
        unique_id: "energy_exported"
        #value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_EXPORTED') | map(attribute='value') | first * -1 }}"
        value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_EXPORTED') | map(attribute='value') | first * -1) if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_EXPORTED') | map(attribute='value') | first) < 0 else (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_EXPORTED') | map(attribute='value') | first) }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing
        icon: "mdi:TransmissionTowerExport"

      # Ladezustand des Speichers in %
      - name: "neoom_state_of_charge"
        unique_id: "state_of_charge"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'STATE_OF_CHARGE') | map(attribute='value') | first }}"
        unit_of_measurement: "%"
        device_class: battery
        state_class: measurement
        icon: "mdi:BatteryHeartVariant"

      # Selbstversorgung (Selbstversorgungsrate in %)
      - name: "neoom_self_sufficiency"
        unique_id: "self_sufficiency"
        value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'SELF_SUFFICIENCY') | map(attribute='value') | first }}"
        unit_of_measurement: "%"
        device_class: power
        state_class: measurement
        icon: "mdi:LightningBoltCircle"

      # PV Leistung aktuell (Leistung in kWh)
      - name: "neoom_power_production"
        unique_id: "power_production"
        #value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_PRODUCTION') | map(attribute='value') | first }}"
        value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_PRODUCTION') | map(attribute='value') | first) if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_PRODUCTION') | map(attribute='value') | first) > 0 else 0 }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total
        icon: "mdi:SolarPanel"

      # Errechneter Stromverbrauch (Leistung in kWh)
      - name: "neoom_power_consumption_calc"
        unique_id: "power_consumption_calc"
        value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_CONSUMPTION_CALC') | map(attribute='value') | first * -1) if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_CONSUMPTION_CALC') | map(attribute='value') | first) < 0 else (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'POWER_CONSUMPTION_CALC') | map(attribute='value') | first) }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: measurement
        icon: "mdi:SolarPanel"

      # Errechneter Energieverbrauch (gesamter Verbrauch in Wh)
      - name: "neoom_energy_consumed_cal"
        unique_id: "energy_consumed_calc"
        #value_template: "{{ value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_CONSUMED') | map(attribute='value') | first }}"
        value_template: "{{ (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_CONSUMED_CALC') | map(attribute='value') | first * -1) if (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_CONSUMED_CALC') | map(attribute='value') | first) < 0 else (value_json['energyFlow']['states'] | selectattr('key', 'eq', 'ENERGY_CONSUMED_CALC') | map(attribute='value') | first) }}"
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: measurement
        icon: "mdi:HomeLightningBoltOutline"



3 Likes

Hi Dominik,

I just started using Home Assistant. I also have a Neeom PV and tried to add it to HA.

Do pay to use the Beaam API?

BR Florian

Hello Dominik

first of all 1000 thanks for your efforts here and the code. I’m very, very new to HA and also this “programming”. Basically I’m in the stage of trying to understand what the code says and that does often not go well…

However with copying your code I did get results out of my beam. :)) THANKS !!!

In HA in the overview it is shown more or less correct in most cases. I attach a comparison of HA ( left side) and Ntuity ( right side). May be a little lagging due to the 10 sec interval…
Some numbers make sense, some not at all. In the Energy flow graphic of HA it makes no sense at all, as this somehow shows different values. But that is secondary problem .

Major issue right now for me ( using yr updated code) is the house consumption as HA adds House consumption + Battery charging + heating coil …

In the example ( due to lagging may be a bit diff from the Ntuity values) : due to lagging: 1710 / ACX ELWA / Heating coil) +524 ( charging Bat) +x ( House consumption) = 2946 ( ttl calc energy consumption / neoom_power_consumption_calc) . Thus House consumption alone would be → x = 712 ( shown in Ntuity at 950, but again, I think it is the lagging effect accounting for the diff)

Not testet an taken into consideration is the wallbox ( not active when making the comparison) But I’d assume it would be added to the ttl value)

So it would be nice to read out wall box consumption, too ( ?? POWER_CHARGING_POINTS ??), but first of all I think the current
house consumption needs to be calculated (?) different / correct.

I wanted to kindly ask you if this is working correct for you at your end, or may be other users with a Neoom System do have similar issues or solutions?

May be you did do some updates to your code?

Did you use coding help (readme) from the Neoom developer site ?
( /api/v1/things/{thingId}/states)
… and if so, how does this work?

So just wanted to keep this topic “alive” as it is very interesting and even more super useful.

Happy abt any insights someone would like to give ( and pls keep in mind… I’m new to all this, so stupid
from my side may come fast - sorry for that), as I’m trying my best to get an understanding on the logic behind it and on how to get this running.

Greetings
Sven

1 Like

Hi Florian,

I do not pay for it, but I also do not pay for the Ntuity service, as I got my System before they started the “Abo Model”. May be nowadays they ask to oay for for new useres. However, there is a disclaimer, that they may charge for it in the future, when i created my took a week ago or so…

May be tis is help for you?

Hi,

me too, I only pay for using more devices in my neeom landscape (integration of wall box).

@Leschi : I will check your questions and your approaches, will come back with an answer.

BR

Hi Dominik, all,

Many thanks for the help. I got this to work with copy-paste!
Not sure I can already rationalize all historic values (everything ending in "ed).
But the other values make sense based on other readings from the PV system:

neoom_power_production
neoom_power_consumption
neoom_power_grid_input
neoom_power_grid_output
neoom_self_sufficiency
neoom_state_of_charge
neoom_storage_input
neoom_storage_output

Excellent!

With my system, I got a Neoom software subscription for 5 years. Let’s see what I have to do in the year 2029 to get my HA dashboard fed…

KR Michael

PS: I think some units could be wrong? E.g. neoom_power_production should be measured in Watt.

Hi guys,

I am using “Energy Flow Plus” Dashboard > much better integration and calculation for my setup as listed above. You can find it in the HACS.

Works like a charm.

Hi there,
Energy Flow Plus really works like a charm. :slight_smile:
However, have you guys figured out why some entities from Neoom API itself, like energy consumed or power consumption, are “null”, while calculated entrys work?

Is there someone who could lend me a hand to tell me exactly which entity i need to use to get my Power Flow working correctly?

Thank you very much!

Here are two pictures from the API
consumed
calc