@@ -5,12 +5,17 @@ use chrono::TimeDelta;
55use frequenz_microgrid:: {
66 Error , Formula , LogicalMeterConfig , LogicalMeterHandle , MicrogridClientHandle , metric,
77} ;
8+ use tracing_subscriber:: {
9+ EnvFilter ,
10+ fmt:: { self } ,
11+ prelude:: * ,
12+ } ;
813
914#[ tokio:: main]
1015async fn main ( ) -> Result < ( ) , Error > {
11- tracing_subscriber:: fmt :: fmt ( )
12- . with_file ( true )
13- . with_line_number ( true )
16+ tracing_subscriber:: registry ( )
17+ . with ( EnvFilter :: new ( "info,frequenz_microgrid=debug" ) )
18+ . with ( fmt :: layer ( ) . with_file ( true ) . with_line_number ( true ) )
1419 . init ( ) ;
1520
1621 let client = MicrogridClientHandle :: new ( "http://[::1]:8800" ) ;
@@ -36,7 +41,7 @@ async fn main() -> Result<(), Error> {
3641 let mut battery_rx = formula_battery. subscribe ( ) . await ?;
3742 let mut consumer_rx = formula_consumer. subscribe ( ) . await ?;
3843
39- for _ in 0 ..10 {
44+ for _ in 0 ..3 {
4045 let sample = rx. recv ( ) . await . unwrap ( ) ;
4146 let grid_sample = grid_rx. recv ( ) . await . unwrap ( ) ;
4247 let battery_sample = battery_rx. recv ( ) . await . unwrap ( ) ;
@@ -49,9 +54,22 @@ async fn main() -> Result<(), Error> {
4954 sample. value( ) . unwrap( )
5055 ) ;
5156 }
57+ let formula_grid_voltage = logical_meter
58+ . battery ( None , metric:: AcVoltagePhase1N ) ?
59+ . coalesce ( logical_meter. pv ( None , metric:: AcVoltagePhase1N ) ?) ?;
5260
53- let formula_grid_voltage = logical_meter . grid ( metric :: AcVoltagePhase1N ) ? ;
61+ tracing :: info! ( " formula_grid_voltage: {}" , formula_grid_voltage ) ;
5462 let mut grid_voltage_rx = formula_grid_voltage. subscribe ( ) . await ?;
63+ for _ in 0 ..3 {
64+ let sample = grid_voltage_rx. recv ( ) . await . unwrap ( ) ;
65+ tracing:: info!( "grid voltage: {}" , sample. value( ) . unwrap( ) ) ;
66+ }
67+
68+ drop ( rx) ;
69+ drop ( grid_rx) ;
70+ drop ( battery_rx) ;
71+ drop ( consumer_rx) ;
72+
5573 loop {
5674 let sample = grid_voltage_rx. recv ( ) . await . unwrap ( ) ;
5775 tracing:: info!( "grid voltage: {}" , sample. value( ) . unwrap( ) ) ;
0 commit comments