|
65 | 65 | )
|
66 | 66 |
|
67 | 67 |
|
| 68 | +CHECK_UNIVERSAL_INSTALLED_SERVICE_INFO = BluetoothServiceInfo( |
| 69 | + name="", |
| 70 | + address="C9:F3:32:E0:F5:09", |
| 71 | + rssi=-63, |
| 72 | + manufacturer_data={89: b"\x0CpC\xb6\xc3\xe0\xf5\t\xfa\xe3"}, |
| 73 | + service_uuids=["0000fee5-0000-1000-8000-00805f9b34fb"], |
| 74 | + service_data={}, |
| 75 | + source="local", |
| 76 | +) |
| 77 | + |
| 78 | + |
68 | 79 | def test_hex():
|
69 | 80 | assert (
|
70 | 81 | hex(b"\x08rF\x000\xe0\xf5\t\xf0\xd8")
|
@@ -580,6 +591,132 @@ def test_pro_installed():
|
580 | 591 | )
|
581 | 592 |
|
582 | 593 |
|
| 594 | +def test_check_universal_installed(): |
| 595 | + parser = MopekaIOTBluetoothDeviceData() |
| 596 | + service_info = CHECK_UNIVERSAL_INSTALLED_SERVICE_INFO |
| 597 | + result = parser.update(service_info) |
| 598 | + assert result == SensorUpdate( |
| 599 | + title=None, |
| 600 | + devices={ |
| 601 | + None: SensorDeviceInfo( |
| 602 | + name="Pro Check Universal F509", |
| 603 | + model="M1017", |
| 604 | + manufacturer="Mopeka IOT", |
| 605 | + sw_version=None, |
| 606 | + hw_version=None, |
| 607 | + ) |
| 608 | + }, |
| 609 | + entity_descriptions={ |
| 610 | + DeviceKey(key="battery_voltage", device_id=None): SensorDescription( |
| 611 | + device_key=DeviceKey(key="battery_voltage", device_id=None), |
| 612 | + device_class=SensorDeviceClass.VOLTAGE, |
| 613 | + native_unit_of_measurement=Units.ELECTRIC_POTENTIAL_VOLT, |
| 614 | + ), |
| 615 | + DeviceKey(key="tank_level", device_id=None): SensorDescription( |
| 616 | + device_key=DeviceKey(key="tank_level", device_id=None), |
| 617 | + device_class=SensorDeviceClass.DISTANCE, |
| 618 | + native_unit_of_measurement=Units.LENGTH_MILLIMETERS, |
| 619 | + ), |
| 620 | + DeviceKey(key="temperature", device_id=None): SensorDescription( |
| 621 | + device_key=DeviceKey(key="temperature", device_id=None), |
| 622 | + device_class=SensorDeviceClass.TEMPERATURE, |
| 623 | + native_unit_of_measurement=Units.TEMP_CELSIUS, |
| 624 | + ), |
| 625 | + DeviceKey(key="battery", device_id=None): SensorDescription( |
| 626 | + device_key=DeviceKey(key="battery", device_id=None), |
| 627 | + device_class=SensorDeviceClass.BATTERY, |
| 628 | + native_unit_of_measurement=Units.PERCENTAGE, |
| 629 | + ), |
| 630 | + DeviceKey(key="signal_strength", device_id=None): SensorDescription( |
| 631 | + device_key=DeviceKey(key="signal_strength", device_id=None), |
| 632 | + device_class=SensorDeviceClass.SIGNAL_STRENGTH, |
| 633 | + native_unit_of_measurement=Units.SIGNAL_STRENGTH_DECIBELS_MILLIWATT, |
| 634 | + ), |
| 635 | + DeviceKey(key="reading_quality", device_id=None): SensorDescription( |
| 636 | + device_key=DeviceKey(key="reading_quality", device_id=None), |
| 637 | + device_class=None, |
| 638 | + native_unit_of_measurement=Units.PERCENTAGE, |
| 639 | + ), |
| 640 | + DeviceKey(key="reading_quality_raw", device_id=None): SensorDescription( |
| 641 | + device_key=DeviceKey(key="reading_quality_raw", device_id=None), |
| 642 | + device_class=None, |
| 643 | + native_unit_of_measurement=None, |
| 644 | + ), |
| 645 | + DeviceKey(key="accelerometer_y", device_id=None): SensorDescription( |
| 646 | + device_key=DeviceKey(key="accelerometer_y", device_id=None), |
| 647 | + device_class=None, |
| 648 | + native_unit_of_measurement=None, |
| 649 | + ), |
| 650 | + DeviceKey(key="accelerometer_x", device_id=None): SensorDescription( |
| 651 | + device_key=DeviceKey(key="accelerometer_x", device_id=None), |
| 652 | + device_class=None, |
| 653 | + native_unit_of_measurement=None, |
| 654 | + ), |
| 655 | + }, |
| 656 | + entity_values={ |
| 657 | + DeviceKey(key="battery_voltage", device_id=None): SensorValue( |
| 658 | + device_key=DeviceKey(key="battery_voltage", device_id=None), |
| 659 | + name="Battery " "Voltage", |
| 660 | + native_value=3.5, |
| 661 | + ), |
| 662 | + DeviceKey(key="tank_level", device_id=None): SensorValue( |
| 663 | + device_key=DeviceKey(key="tank_level", device_id=None), |
| 664 | + name="Tank " "Level", |
| 665 | + native_value=341, |
| 666 | + ), |
| 667 | + DeviceKey(key="temperature", device_id=None): SensorValue( |
| 668 | + device_key=DeviceKey(key="temperature", device_id=None), |
| 669 | + name="Temperature", |
| 670 | + native_value=27, |
| 671 | + ), |
| 672 | + DeviceKey(key="battery", device_id=None): SensorValue( |
| 673 | + device_key=DeviceKey(key="battery", device_id=None), |
| 674 | + name="Battery", |
| 675 | + native_value=100, |
| 676 | + ), |
| 677 | + DeviceKey(key="signal_strength", device_id=None): SensorValue( |
| 678 | + device_key=DeviceKey(key="signal_strength", device_id=None), |
| 679 | + name="Signal " "Strength", |
| 680 | + native_value=-63, |
| 681 | + ), |
| 682 | + DeviceKey(key="reading_quality", device_id=None): SensorValue( |
| 683 | + device_key=DeviceKey(key="reading_quality", device_id=None), |
| 684 | + name="Reading " "quality", |
| 685 | + native_value=100, |
| 686 | + ), |
| 687 | + DeviceKey(key="reading_quality_raw", device_id=None): SensorValue( |
| 688 | + device_key=DeviceKey(key="reading_quality_raw", device_id=None), |
| 689 | + name="Reading " "quality " "raw", |
| 690 | + native_value=3, |
| 691 | + ), |
| 692 | + DeviceKey(key="accelerometer_y", device_id=None): SensorValue( |
| 693 | + device_key=DeviceKey(key="accelerometer_y", device_id=None), |
| 694 | + name="Position " "Y", |
| 695 | + native_value=227, |
| 696 | + ), |
| 697 | + DeviceKey(key="accelerometer_x", device_id=None): SensorValue( |
| 698 | + device_key=DeviceKey(key="accelerometer_x", device_id=None), |
| 699 | + name="Position " "X", |
| 700 | + native_value=250, |
| 701 | + ), |
| 702 | + }, |
| 703 | + binary_entity_descriptions={ |
| 704 | + DeviceKey(key="button_pressed", device_id=None): BinarySensorDescription( |
| 705 | + device_key=DeviceKey(key="button_pressed", device_id=None), |
| 706 | + device_class=BinarySensorDeviceClass.OCCUPANCY, |
| 707 | + ) |
| 708 | + }, |
| 709 | + binary_entity_values={ |
| 710 | + DeviceKey(key="button_pressed", device_id=None): BinarySensorValue( |
| 711 | + device_key=DeviceKey(key="button_pressed", device_id=None), |
| 712 | + name="Button pressed", |
| 713 | + native_value=False, |
| 714 | + ) |
| 715 | + }, |
| 716 | + events={}, |
| 717 | + ) |
| 718 | + |
| 719 | + |
583 | 720 | def test_check_installed():
|
584 | 721 | parser = MopekaIOTBluetoothDeviceData()
|
585 | 722 | service_info = CHECK_INSTALLED_SERVICE_INFO
|
|
0 commit comments