* Add Rainforest RAVEn integration * Add Rainforest Automation brand * Add diagnostics to Rainforest RAVEn integration * Drop a test assertion for an undefined behavior * Add DEVICE_NAME test constant * Catch up with reality * Use Platform.SENSOR Co-authored-by: Robert Resch <robert@resch.dev> * Make rainforest_raven translatable * Stop setting device_class on unsupported scenarios * Rename rainforest_raven.data -> rainforest_raven.coordinator * Make _generate_unique_id more reusable * Move device synchronization into third party library * Switch from asyncio_timeout to asyncio.timeout * Ignore non-electric meters Co-authored-by: Robert Resch <robert@resch.dev> * Drop direct dependency on iso4217, bump aioraven * Use RAVEn-specific exceptions * Add timeouts to data updates * Move DeviceInfo generation from Sensor to Coordinator * Store meter macs as strings * Convert to using SelectSelector * Drop test_flow_user_invalid_mac This test isn't necessary now that SelectSelector is used. * Implement PR feedback - Split some long format lines - Simplify meter mac_id extraction in diagnostics - Expose unique_id using an attribute instead of a property - Add a comment about the meters dictionary shallow copy Co-authored-by: Erik Montnemery <erik@montnemery.com> * Simplify mac address redaction Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev> * Freeze RAVEnSensorEntityDescription dataclass Co-authored-by: Erik Montnemery <erik@montnemery.com> --------- Co-authored-by: Robert Resch <robert@resch.dev> Co-authored-by: Erik Montnemery <erik@montnemery.com> Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
51 lines
1.3 KiB
JSON
51 lines
1.3 KiB
JSON
{
|
|
"config": {
|
|
"abort": {
|
|
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
|
|
"already_in_progress": "[%key:common::config_flow::abort::already_in_progress%]",
|
|
"no_devices_found": "No compatible devices found"
|
|
},
|
|
"error": {
|
|
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
|
|
"timeout_connect": "[%key:common::config_flow::error::timeout_connect%]"
|
|
},
|
|
"step": {
|
|
"meters": {
|
|
"data": {
|
|
"mac": "Meter MAC Addresses"
|
|
}
|
|
},
|
|
"user": {
|
|
"data": {
|
|
"device": "[%key:common::config_flow::data::device%]"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"entity": {
|
|
"sensor": {
|
|
"meter_price": {
|
|
"name": "Meter price",
|
|
"state_attributes": {
|
|
"rate_label": { "name": "Rate" },
|
|
"tier": { "name": "Tier" }
|
|
}
|
|
},
|
|
"power_demand": {
|
|
"name": "Meter power demand"
|
|
},
|
|
"signal_strength": {
|
|
"name": "Meter signal strength",
|
|
"state_attributes": {
|
|
"channel": { "name": "Channel" }
|
|
}
|
|
},
|
|
"total_energy_delivered": {
|
|
"name": "Total meter energy delivered"
|
|
},
|
|
"total_energy_received": {
|
|
"name": "Total meter energy received"
|
|
}
|
|
}
|
|
}
|
|
}
|