Skip to content

Commit 2cffdf6

Browse files
committed
Use nicer output in zone-manager.py
1 parent c1cb6eb commit 2cffdf6

1 file changed

Lines changed: 17 additions & 15 deletions

File tree

demos/zone-manager.py

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ def show_list(verbose, zones):
101101

102102
# Display header
103103
if verbose == 0:
104-
print("ID Zone Name Heat Temp Mode Current Humidity")
105-
print("-" * 70)
104+
print("ID Zone Name Heat Target Status Current Humidity")
105+
print("-" * 72)
106106

107107
for zone_data in display_zones:
108108
zone_id = zone_data['zone_id']
@@ -116,34 +116,36 @@ def show_list(verbose, zones):
116116
state = zone_data.get('state', {})
117117
cur_temp = state.get('cur_temp_c')
118118
cur_hum = state.get('hum_perc')
119-
heating_active = state.get('cur_heating') == 1
120-
mode = state.get('mode', 0)
119+
cur_heating = state.get('cur_heating', 0) # 0=off, 1=heating, 2=cooling
120+
mode = state.get('mode', 0) # mode: 0=OFF, 1=ON (enabled)
121121
target_temp = state.get('target_temp_c')
122122

123-
# Format setting
123+
# Format target temperature
124124
if mode == 0:
125125
setting = 'OFF'
126126
elif target_temp is not None:
127127
setting = f'{target_temp:4.1f}°C'
128128
else:
129129
setting = 'AUTO'
130130

131-
# Heating status
132-
heat_s = 'ON ' if heating_active else ' '
131+
# Activity indicator (for Heat column)
132+
heat_s = 'ON ' if cur_heating > 0 else ' '
133133

134-
# Mode description
135-
if mode == 1:
136-
mode_str = 'HEAT'
137-
elif mode == 0:
138-
mode_str = 'OFF'
134+
# Activity status (what the system is doing)
135+
if mode == 0:
136+
status_str = 'OFF'
137+
elif cur_heating == 1:
138+
status_str = 'HEAT'
139+
elif cur_heating == 2:
140+
status_str = 'COOL'
139141
else:
140-
mode_str = f'MODE{mode}'
142+
status_str = 'IDLE'
141143

142144
# Format output
143145
if cur_temp is not None and cur_hum is not None:
144-
print(f'{zone_id:<4} {zone_data["name"]:<13} {heat_s} {setting:<6} {mode_str:<9} {cur_temp:5.1f}°C {cur_hum:5.1f}%')
146+
print(f'{zone_id:<4} {zone_data["name"]:<13} {heat_s} {setting:<8} {status_str:<9} {cur_temp:5.1f}°C {cur_hum:5.1f}%')
145147
else:
146-
print(f'{zone_id:<4} {zone_data["name"]:<13} - No data available')
148+
print(f'{zone_id:<4} {zone_data["name"]:<13} - - - - -')
147149

148150
print()
149151

0 commit comments

Comments
 (0)