Hi folks,
after I tried a little and a friend gave me a tip, I would like to share the result with you here:
I was able to buy the Cuculus MeterExtension #1 from my electricity provider (IKB, Tyrol).
-
OBIS List (German language):
https://oesterreichsenergie.at/fileadmin/user_upload/Smart_Meter-Plattform/20200201_Konzept_Kundenschnittstelle_SM.pdf
-
Software for interface request (Postman):
Just to see which values you could read out
You don’t have to register - neither for the download nor after starting the program.
It also works for this query without registration.
https://www.postman.com/
Request:
POST
http://CUCULUS_METEREXTENSION_IP/api
(Replace CUCULUS_METEREXTENSION_IP with the IP address of your Cuculus Meter Extension #1)
Raw:
{“cmd”: “meter_reading”,“id”: 0}
Send
Result:
{
"meter": [
{
"meterid": "1ELSXXXXXXXXX",
"data": [
{
"OBIS": "1-0:32.7.0.255",
"scale": "-1",
"unit": "35",
"entry": [
{
"ts": "1722007035",
"val": "2358"
}
]
},
{
"OBIS": "1-0:52.7.0.255",
"scale": "-1",
"unit": "35",
"entry": [
{
"ts": "1722007035",
"val": "2357"
}
]
},
{
"OBIS": "1-0:72.7.0.255",
"scale": "-1",
"unit": "35",
"entry": [
{
"ts": "1722007035",
"val": "2364"
}
]
},
{
"OBIS": "1-0:31.7.0.255",
"scale": "-2",
"unit": "33",
"entry": [
{
"ts": "1722007035",
"val": "568"
}
]
},
{
"OBIS": "1-0:51.7.0.255",
"scale": "-2",
"unit": "33",
"entry": [
{
"ts": "1722007035",
"val": "572"
}
]
},
{
"OBIS": "1-0:71.7.0.255",
"scale": "-2",
"unit": "33",
"entry": [
{
"ts": "1722007035",
"val": "573"
}
]
},
{
"OBIS": "1-0:1.7.0.255",
"scale": "0",
"unit": "27",
"entry": [
{
"ts": "1722007035",
"val": "0"
}
]
},
{
"OBIS": "1-0:2.7.0.255",
"scale": "0",
"unit": "27",
"entry": [
{
"ts": "1722007035",
"val": "3994"
}
]
},
{
"OBIS": "1-0:1.8.0.255",
"scale": "0",
"unit": "30",
"entry": [
{
"ts": "1722007035",
"val": "5470178"
}
]
},
{
"OBIS": "1-0:2.8.0.255",
"scale": "0",
"unit": "30",
"entry": [
{
"ts": "1722007035",
"val": "7640299"
}
]
},
{
"OBIS": "1-0:3.8.0.255",
"scale": "0",
"unit": "32",
"entry": [
{
"ts": "1722007035",
"val": "4743"
}
]
},
{
"OBIS": "1-0:4.8.0.255",
"scale": "0",
"unit": "0",
"entry": [
{
"ts": "1722007035",
"val": "6291429"
}
]
}
]
}
],
"result": "OK"
}
Then you have to copy the following code - depending on which values you want to query - into the configuration.yaml:
# KAIFA Smart Meter (Honeywell DM515), Cuculus MeterExtension #1
sensor:
# Cuculus Power Meter ID
- platform: rest
name: Cuculus Power Meter ID
scan_interval: 60
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
value_template: "{{ value_json['meter'].0.meterid }}"
unique_id: 300
# Cuculus Power Meter OBIS: 1-0:32.7.0.255, Spannung L1
- platform: rest
name: Cuculus Power Meter Voltage L1
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'V'
device_class: 'power'
value_template: "{{ value_json['meter'].0.data.0.entry.0.val }}"
unique_id: 301
# Cuculus Power Meter OBIS: 1-0:52.7.0.255, Spannung L2
- platform: rest
name: Cuculus Power Meter Voltage L2
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'V'
device_class: 'power'
value_template: "{{ value_json['meter'].0.data.1.entry.0.val }}"
unique_id: 302
# Cuculus Power Meter OBIS: 1-0:72.7.0.255, Spannung L3
- platform: rest
name: Cuculus_Power Meter Voltage L3
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'V'
device_class: 'power'
value_template: "{{ value_json['meter'].0.data.2.entry.0.val }}"
unique_id: 303
# Cuculus Power Meter OBIS: 1-0:31.7.0.255, Strom L1
- platform: rest
name: Cuculus Power Meter Power L1
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'A'
device_class: 'power'
value_template: "{{ value_json['meter'].0.data.3.entry.0.val }}"
unique_id: 304
# Cuculus Power Meter OBIS: 1-0:51.7.0.255, Strom L2
- platform: rest
name: Cuculus Power Meter Power L2
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'A'
device_class: 'power'
value_template: "{{ value_json['meter'].0.data.4.entry.0.val }}"
unique_id: 305
# Cuculus Power Meter OBIS: 1-0:71.7.0.255, Strom L3
- platform: rest
name: Cuculus Power Meter Power L3
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'A'
device_class: 'power'
value_template: "{{ value_json['meter'].0.data.5.entry.0.val }}"
unique_id: 306
# Cuculus Power Meter OBIS: 1-0:1.7.0.255, Wirkleistung Bezug +P (Momentanleistung +P) (W)
- platform: rest
name: Cuculus Power Meter 1.7.0
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'W'
device_class: 'energy'
state_class: total_increasing
value_template: "{{ value_json['meter'].0.data.6.entry.0.val }}"
unique_id: 307
# Cuculus Power Meter OBIS: 1-0:2.7.0.255, Wirkleistung Lieferung -P (Momentanleistung -P) (W)
- platform: rest
name: Cuculus Power Meter 2.7.0
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'W'
device_class: 'energy'
state_class: total_increasing
value_template: "{{ value_json['meter'].0.data.7.entry.0.val }}"
unique_id: 308
# Cuculus Power Meter OBIS: 1-0:1.8.0.255, Wirkenergie Bezug +A (Wh)
- platform: rest
name: Cuculus Power Meter 1.8.0
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'kWh'
device_class: 'energy'
state_class: total_increasing
value_template: "{{ ( value_json['meter'].0.data.8.entry.0.val | int / 1000 ) }}"
unique_id: 309
# Cuculus Power Meter OBIS: 1-0:2.8.0.255, Wirkenergie Lieferung -A (Wh)
- platform: rest
name: Cuculus Power Meter 2.8.0
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'kWh'
device_class: 'energy'
state_class: total_increasing
value_template: "{{ ( value_json['meter'].0.data.9.entry.0.val | int / 1000 ) }}"
unique_id: 310
# Cuculus Power Meter OBIS: 1-0:3.8.0.255, Blindenergie Bezug +R (Wh)
- platform: rest
name: Cuculus Power Meter 3.8.0
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'Wh'
device_class: 'energy'
state_class: total_increasing
value_template: "{{ value_json['meter'].0.data.10.entry.0.val }}"
unique_id: 311
# Cuculus Power Meter OBIS: 1-0:4.8.0.255, Blindenergie Lieferung -R (Wh)
- platform: rest
name: Cuculus Power Meter 4.8.0
resource: http://CUCULUS_METEREXTENSION_IP/api
headers:
content-type: application/json
method: "POST"
payload: '{"cmd": "meter_reading","id": 0}'
unit_of_measurement: 'Wh'
device_class: 'energy'
state_class: total_increasing
value_template: "{{ value_json['meter'].0.data.11.entry.0.val }}"
unique_id: 312
Then restart Home Assistant.
You can then display the values as an entity in Home Assistant.
I hope this helps you a little
Best regards