public M3App(IHaContext ha) { Ha = ha; // Ha.CallService("notify", "persistent_notification", new { message = "Hello", title = "Yay it works in HassModel via HaContext" }, true);; _climateEntity = new ClimateEntity(ha, "climate.dummy_thermostat"); _climateEntity.StateAllChanges().Where(e => e.New?.Attributes?.Temperature > 20).Subscribe(); _climateEntity.StateAllChanges().Subscribe(OnNext); string? state = _climateEntity.State; string? state2 = _climateEntity.EntityState?.State; // is the same DateTime?lastChanged = _climateEntity.EntityState?.LastChanged; Ha.StateChanges().Subscribe(e => { }); // Entity that has not changed yet is retrieved on demand var zone = new ZoneEntity(Ha, "zone.home"); var lat = zone.Attributes?.latitude; var netEnergySensor = new NumericSensorEntity(Ha, "sensor.netto_energy"); // NumericSensor has double? as state double?netEnergy = netEnergySensor.State; double?netEnergy2 = netEnergySensor.EntityState?.State; netEnergySensor.StateChanges().Subscribe(e => Console.WriteLine($"{e.New?.Attributes?.FriendlyName} {e.New?.State} {e.New?.Attributes?.UnitOfMeasurement}")); // Prints: 'Netto energy 8908.81 kWh' }
public static IObservable <StateChange <NumericSensorEntity, NumericEntityState <NumericSensorAttributes> > > StateAllChangesWithCurrent(this NumericSensorEntity entity) { return(entity.StateAllChangesWithCurrent <NumericSensorEntity, NumericEntityState <NumericSensorAttributes>, NumericSensorAttributes>()); }