Fix Orion AMS mapping and show printer health details
This commit is contained in:
@@ -41,6 +41,22 @@ class FleetTests(unittest.TestCase):
|
||||
entry = next(row for row in package[domain] if row['id'] == f'prints_charming_{key}')
|
||||
self.assertEqual(entry['entity_id'], 'sensor.custom_remaining')
|
||||
|
||||
def test_orion_has_both_ams_units_with_their_actual_entity_prefixes(self):
|
||||
package = generate(self.printers)
|
||||
types = [entry['entity_id'] for entry in package['text_sensor']
|
||||
if entry['id'].startswith('constipation_orion_tray_') and entry.get('attribute') == 'type']
|
||||
self.assertEqual(len(types), 8)
|
||||
self.assertIn('sensor.constipation_orion_ams_1_tray_1', types)
|
||||
self.assertIn('sensor.h2c_31b8ap5a2200288_ams_2_tray_4', types)
|
||||
|
||||
def test_health_messages_import_numbered_ha_attributes(self):
|
||||
package = generate(self.printers)
|
||||
subscriptions = {entry['id']: entry for entry in package['text_sensor']}
|
||||
message = subscriptions['prints_charming_hms_1_message']
|
||||
self.assertEqual(message['entity_id'], 'binary_sensor.p1s_01p09c470102673_hms_errors')
|
||||
self.assertEqual(message['attribute'], '1-Error')
|
||||
self.assertEqual(subscriptions['prints_charming_hms_3_severity']['attribute'], '3-Severity')
|
||||
|
||||
def test_reject_empty_duplicate_and_malformed_printer_ids(self):
|
||||
for invalid in ([], self.printers + [self.printers[0]],
|
||||
[{**self.printers[0], 'id': 'invalid-id'}]):
|
||||
|
||||
Reference in New Issue
Block a user