#![forbid(unsafe_code)]
#![warn(missing_docs, clippy::pedantic)]
#![allow(
clippy::module_name_repetitions,
clippy::must_use_candidate,
clippy::missing_errors_doc,
clippy::missing_panics_doc,
clippy::cast_possible_truncation,
clippy::cast_precision_loss,
clippy::cast_sign_loss,
clippy::cast_possible_wrap,
clippy::doc_markdown
)]
pub mod asset;
pub mod circuit;
pub mod envelope;
pub mod error;
pub mod ids;
pub mod measurement;
pub mod plan;
pub mod setpoint;
pub mod site;
pub mod slot;
pub mod thermal;
pub mod units;
pub mod prelude {
pub use crate::asset::{
Asset, AssetMeta, Battery, CapRelief, Capabilities, Chemistry, DhwTank, Evse, Fallgruppe,
FlexibleLoad, HeatPump, HeatPumpControl, LegacyStatus, LoadKind, Meter, MeterRole, PvArray,
Relay, SteuVeExemption,
};
pub use crate::circuit::{Circuit, Circuits};
pub use crate::envelope::Envelope;
pub use crate::error::{IdError, SetpointError, SiteError, UnitError};
pub use crate::ids::{AssetId, CircuitId, PlanId, SiteId};
pub use crate::measurement::{Freshness, Measurement};
pub use crate::plan::{AssetTarget, CostBreakdown, Plan, SlotPlan};
pub use crate::setpoint::{
Authority, Command, FallbackCause, GuardRule, RealtimeCause, Reason, Setpoint, UserOverride,
};
pub use crate::site::{GeoPoint, GridConnection, Site};
pub use crate::slot::{Horizon, SLOT, SLOTS_PER_DAY, Slot};
pub use crate::thermal::{CopCurve, Rc2, Rc2Discrete, ThermalState};
pub use crate::units::{
ApparentPower, Current, Energy, NOMINAL_VOLTAGE, PerPhase, Phase, PhaseConnection,
PhaseMode, Power, Soc, Voltage,
};
}