cleanup+change label names
All checks were successful
Build and release .deb / Release (push) Successful in 51s
All checks were successful
Build and release .deb / Release (push) Successful in 51s
This commit is contained in:
parent
29dcb5b9d8
commit
bc0da6be11
6 changed files with 34 additions and 35 deletions
4
Cargo.lock
generated
4
Cargo.lock
generated
|
@ -239,7 +239,7 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
|
|||
|
||||
[[package]]
|
||||
name = "charge-controller-supervisor"
|
||||
version = "1.9.9-pre-2"
|
||||
version = "1.9.9-pre-3"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"clap",
|
||||
|
@ -2202,7 +2202,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tesla-charge-controller"
|
||||
version = "1.9.9-pre-2"
|
||||
version = "1.9.9-pre-3"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"clap",
|
||||
|
|
|
@ -4,7 +4,7 @@ default-members = ["charge-controller-supervisor"]
|
|||
resolver = "2"
|
||||
|
||||
[workspace.package]
|
||||
version = "1.9.9-pre-2"
|
||||
version = "1.9.9-pre-3"
|
||||
|
||||
[workspace.lints.clippy]
|
||||
pedantic = "warn"
|
||||
|
|
|
@ -7,7 +7,6 @@ StartLimitIntervalSec=0
|
|||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=10s
|
||||
User=tesla
|
||||
Environment="RUST_LOG=error,warn"
|
||||
Environment="LOG_TIMESTAMP=false"
|
||||
ExecStart=/usr/bin/charge-controller-supervisor watch
|
||||
|
|
|
@ -16,12 +16,13 @@ impl Controller {
|
|||
pub fn new(config: crate::config::ChargeControllerConfig) -> eyre::Result<Self> {
|
||||
let inner = match config.variant {
|
||||
crate::config::ChargeControllerVariant::Tristar => ControllerInner::Tristar(
|
||||
crate::tristar::Tristar::new(config.serial_port, config.baud_rate)?,
|
||||
crate::tristar::Tristar::new(&config.serial_port, &config.name, config.baud_rate)?,
|
||||
),
|
||||
crate::config::ChargeControllerVariant::Pl {
|
||||
timeout_milliseconds,
|
||||
} => ControllerInner::Pl(crate::pl::Pli::new(
|
||||
config.serial_port,
|
||||
&config.serial_port,
|
||||
&config.name,
|
||||
config.baud_rate,
|
||||
timeout_milliseconds,
|
||||
)?),
|
||||
|
|
|
@ -10,8 +10,7 @@ use crate::gauges::{
|
|||
};
|
||||
|
||||
pub struct Pli {
|
||||
// pub state: Arc<RwLock<PlState>>,
|
||||
port_name: String,
|
||||
friendly_name: String,
|
||||
port: Box<dyn SerialPort>,
|
||||
}
|
||||
|
||||
|
@ -108,17 +107,17 @@ pub enum PliRequest {
|
|||
|
||||
impl Pli {
|
||||
pub fn new(
|
||||
serial_port: String,
|
||||
serial_port: &str,
|
||||
friendly_name: &str,
|
||||
baud_rate: u32,
|
||||
timeout: u64,
|
||||
) -> Result<Self, serialport::Error> {
|
||||
let port = serialport::new(serial_port.clone(), baud_rate)
|
||||
let port = serialport::new(serial_port, baud_rate)
|
||||
.timeout(Duration::from_millis(timeout))
|
||||
.open()?;
|
||||
|
||||
Ok(Self {
|
||||
// state: Arc::new(RwLock::new(Default::default())),
|
||||
port_name: serial_port,
|
||||
friendly_name: friendly_name.to_owned(),
|
||||
port,
|
||||
})
|
||||
}
|
||||
|
@ -126,25 +125,25 @@ impl Pli {
|
|||
pub fn refresh(&mut self) -> eyre::Result<crate::controller::CommonData> {
|
||||
let new_state = self.read_state()?;
|
||||
BATTERY_VOLTAGE
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.battery_voltage);
|
||||
TARGET_VOLTAGE
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.target_voltage);
|
||||
PL_DUTY_CYCLE
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.duty_cycle);
|
||||
INPUT_CURRENT
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.internal_charge_current);
|
||||
PL_LOAD_CURRENT
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.internal_load_current);
|
||||
BATTERY_TEMP
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.battery_temp);
|
||||
|
||||
set_regulator_gauges(new_state.regulator_state, &self.port_name);
|
||||
set_regulator_gauges(new_state.regulator_state, &self.friendly_name);
|
||||
|
||||
Ok(crate::controller::CommonData {
|
||||
battery_voltage: new_state.battery_voltage,
|
||||
|
|
|
@ -42,7 +42,7 @@ impl Scaling {
|
|||
}
|
||||
|
||||
pub struct Tristar {
|
||||
port_name: String,
|
||||
friendly_name: String,
|
||||
modbus: tokio_modbus::client::Context,
|
||||
charge_state_gauges: ChargeStateGauges,
|
||||
consecutive_errors: usize,
|
||||
|
@ -233,14 +233,14 @@ impl ChargeStateGauges {
|
|||
}
|
||||
|
||||
impl Tristar {
|
||||
pub fn new(serial_port: String, baud_rate: u32) -> eyre::Result<Self> {
|
||||
pub fn new(serial_port: &str, friendly_name: &str, baud_rate: u32) -> eyre::Result<Self> {
|
||||
let modbus_serial =
|
||||
tokio_serial::SerialStream::open(&tokio_serial::new(&serial_port, baud_rate))?;
|
||||
tokio_serial::SerialStream::open(&tokio_serial::new(serial_port, baud_rate))?;
|
||||
let slave = tokio_modbus::Slave(DEVICE_ID);
|
||||
let modbus = tokio_modbus::client::rtu::attach_slave(modbus_serial, slave);
|
||||
let charge_state_gauges = ChargeStateGauges::new(&serial_port);
|
||||
let charge_state_gauges = ChargeStateGauges::new(friendly_name);
|
||||
Ok(Self {
|
||||
port_name: serial_port,
|
||||
friendly_name: friendly_name.to_owned(),
|
||||
modbus,
|
||||
charge_state_gauges,
|
||||
consecutive_errors: 0,
|
||||
|
@ -251,37 +251,37 @@ impl Tristar {
|
|||
let new_state = self.get_data().await?;
|
||||
self.consecutive_errors = 0;
|
||||
BATTERY_VOLTAGE
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.battery_voltage);
|
||||
TARGET_VOLTAGE
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.target_voltage);
|
||||
INPUT_CURRENT
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.input_current);
|
||||
BATTERY_TEMP
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.battery_temp.into());
|
||||
TRISTAR_INPUT_VOLTAGE
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.tristar_input_voltage);
|
||||
TRISTAR_CHARGE_CURRENT
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.tristar_charge_current);
|
||||
TRISTAR_POWER_OUT
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.tristar_power_out);
|
||||
TRISTAR_POWER_IN
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.tristar_power_in);
|
||||
TRISTAR_MAX_ARRAY_POWER
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.tristar_max_array_power);
|
||||
TRISTAR_MAX_ARRAY_VOLTAGE
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.tristar_max_array_voltage);
|
||||
TRISTAR_OPEN_CIRCUIT_VOLTAGE
|
||||
.with_label_values(&[&self.port_name])
|
||||
.with_label_values(&[&self.friendly_name])
|
||||
.set(new_state.tristar_open_circuit_voltage);
|
||||
|
||||
self.charge_state_gauges.set(new_state.charge_state);
|
||||
|
|
Loading…
Add table
Reference in a new issue