Releases: leosperry/ha-kafka-net
Releases · leosperry/ha-kafka-net
V3.0.0-prerelease
This is a prerelease version. Use with caution. More testing and documentation is needed before release.
If you run into any issues, please report it.
Thank you & happy automating.
Version 2.1.3
Updates:
- UI now shows
AdditionalEntitiesToTrack
- Conditional automations fire immediately if
For
is set toTimeSpan.Zero
Version 2.1.2
New Features:
- Added
AdditionalEntitiesToTrack
to Automation Builder - Added ability for conditional automations to raise error events during delayed execution.
Version 2.1.1
Small fix regarding thread handling. No new features.
Version 2.1
Note: please use V2.1.1
New Features:
ISystemMonitor
for recording unhandled exceptions and reporting when entities are in bad state- New Configuration options
Breaking Changes:
app.StartHaKafkaNet()
no long takes parameters. Configuration is handled internally.
V2.0.0
Version 2 Released!
This version brings several major features.
- A brand new UI which:
- Lists all your running automations, information about how they were registered, entities that trigger them, and type information.
- Allows you to enable/disable automations at runtime,
- Has a link to the KafkaFlow admin dashboard which allows you to inspect the Kafka consumers.
- Tells you if the state handler has been initialized. If your application is running and you restart it, sometimes it can take a minute for the Kafka handlers to initialize and start handling new events.
- An automation builder with fluent syntax for quickly creating new automations.
- A test harness to allow you to write component tests. You can still unit test your custom built automations like before, but now, when you use either the
IAutomationFactory
or theIAutomationBuilder
, you can create component style tests for all automations created in your registries.
Breaking Changes
- The methods of the
IAutomationRegistry
interface no longer have theIAutomationFactory
passed in as a parameter. Instead, inject it and/or theIAutomationBuilder
into your constuctor. - The config has had the
API
node renamed toHaConnectionInfo
. If you don't change it, it should still work, but may not be supported in future versions. The console will alert you to change it.
Merging v2 changes
This is a pre-release for V2.
v1.1.0
- Added api methods for working with multiple entities in one call
- Added sun model
- Moved Test Helpers so that consumers can use them
Note: 1 small breaking change
If you were using IHaApiProvider.LightTurnOn(LightTurnOnModel settings, CancellationToken cancellationToken = default)
This is the overload that takes in a LightTurnOnModel
The string EntityId
has changed to IEnumerable<string>
Example fix:
If your code had
LightTurnOnModel color1 = new LightTurnOnModel()
{
EntityId = my_light_id,
RgbColor = (255, 255, 0)
};
change it to this:
LightTurnOnModel color1 = new LightTurnOnModel()
{
EntityId = [my_light_id],
RgbColor = (255, 255, 0)
};
notice the brackets around [my_light_id]
v1.0.0
v0.3.0
- Added conditional automations
- These will ensure a condition remains true for an extended period of time. Consider turning off lights when there's no motion for 20 minutes
- Added
IAutomationRegistry
for adding multiple instances of the same type of automation- Consider the above example and you want to create multiple instances of an automation that turns off lights when no motion is detected. By using the automation registry, you can add the same automation for multiple sensors/lights.
- The automation registry exposes an
IAutomationFactory
. Currently it supports adding simple and conditional automations by accepting callback functions. In a future version it will support the above example more cleanly by taking in entity ID's instead of callbacks. - If you want to created your own automations and expose them via the registry, you should add the
ExcludeFromDiscovery
attribute to your automation class. This will prevent it from being added into your services automagically. This attribute is used internally to hide a wrapper for the conditional automation which converts it into anIAutomation
- Added
LightTurnOnModel
for API calls to turn on a light. This makes it much easier to set RGB and other properties without needing to read the Home Assistant documentation.