Giter Site home page Giter Site logo

edilkamin.py's Introduction

Edilkamin.py

Tests Coverage Status PyPI version Documentation Status

This is a library for the Reverse Engineered "The Mind" Edilkamin API. The Mind offers an app/API to remote control the Edilkamin pellet stoves.

Install

pip install edilkamin[ble]

Usage

import edilkamin
token = edilkamin.sign_in(username, password)
mac_address = edilkamin.discover_devices()[0]
edilkamin.device_info(token, mac_address)
edilkamin.set_power_off(token, mac_address)

For more advanced usage read the documentation.

Tests

make test

Motivations

  • providing an open source web alternative to the proprietary mobile app
  • improving the interoperability (Nest, HomeAssistant...)

edilkamin.py's People

Contributors

andremiras avatar bartelemby avatar shisva avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

edilkamin.py's Issues

Alarm state sensor type

Hi

I keep having this message in my HA log:

ValueError: Sensor sensor.celia_alarm_state has device class 'None', state class 'measurement' unit 'None' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: 'None' (<class 'str'>)

Where celia is my stove name.
I haven't found a suitable device_class for this entity. On the other hand, if I read correctly HA documentation about binary sensors:

Binary sensors are similar to other sensors in that they monitor the states and conditions of different entities. Where binary sensors differ is they can only return one of two mutually exclusive values. For example, a binary sensor for a window may report a value of open or closed, a switch on or off, a condition true or false.

Shouldn't alarm_state be a binary sensor instead of a normal sensor ?
Thank you

Cannot install simplepyble on Raspbian

Feedback from @onorbe as he tried to install the package on his Raspbian, the error was:

Could not find a version that satisfies the requirement simplepyble

I suspect this is happening because simplepyble doesn't deliver pre-built wheels for the Raspberry arch.
If this is the case, making an upstream pull request to build for most platforms using cibuildwheel should do it.
I still need to verify this is the case, maybe by trying to reproduce within a QEMU/docker environment e.g.
https://github.com/lukechilds/dockerpi
Edit: I've created an issue upstream OpenBluetoothToolbox/SimpleBLE#140

Alarms report

We want to be able to report the different alarms types, see for instance:
image
Which seems to match with some of these fields:

  • nvm.alarms_log.alarms
  • status.state.alarm_type
  • status.commands.alarm_reset
    See full dump below:
{
  "mac_address": "001122334455",
  "pk": 1,
  "component_info": {
    "temp_umidity_voc_probe_3": {
      "board_name": "",
      "application_name": "",
      "bootloader_version": "",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "",
      "application_version": ""
    },
    "remote_user_panel_1": {
      "board_name": "",
      "application_name": "",
      "bootloader_version": "",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "",
      "application_version": ""
    },
    "remote_user_panel_3": {
      "board_name": "",
      "application_name": "",
      "bootloader_version": "",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "",
      "application_version": ""
    },
    "expansion_board": {
      "board_name": "",
      "application_name": "",
      "bootloader_version": "",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "",
      "application_version": ""
    },
    "remote_user_panel_2": {
      "board_name": "",
      "application_name": "",
      "bootloader_version": "",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "",
      "application_version": ""
    },
    "motherboard": {
      "board_name": "LX0320 1.2",
      "application_name": "EDK2020_MB",
      "bootloader_version": "1.0.200824a",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "BOOT EDK2020_MB",
      "application_version": "1.92.210719a"
    },
    "radio_control": {
      "board_name": "",
      "application_name": "",
      "bootloader_version": "",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "",
      "application_version": ""
    },
    "wifi_ble_module": {
      "board_name": "",
      "application_name": "",
      "bootloader_version": "",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "",
      "application_version": ""
    },
    "idro_panel": {
      "board_name": "",
      "application_name": "",
      "bootloader_version": "",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "",
      "application_version": ""
    },
    "emergency_panel": {
      "board_name": "LX0920",
      "application_name": "EDK2020_WP",
      "bootloader_version": "",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "",
      "application_version": "1.3.210318a"
    },
    "temp_umidity_voc_probe_2": {
      "board_name": "",
      "application_name": "",
      "bootloader_version": "",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "",
      "application_version": ""
    },
    "timestamp": 1669185567725,
    "temp_umidity_voc_probe_1": {
      "board_name": "",
      "application_name": "",
      "bootloader_version": "",
      "serial_number": "",
      "compatibility": 0,
      "bootloader_name": "",
      "application_version": ""
    }
  },
  "nvm": {
    "service_counters": {
      "p2_working_time": 8,
      "p3_working_time": 2,
      "p4_working_time": 7,
      "p1_working_time": 24119,
      "p5_working_time": 2
    },
    "wifi_connection": {
      "ssid": "",
      "password": ""
    },
    "installer_parameters": {
      "flame_type": 0,
      "puffer_input": 0,
      "min_climate_temperature": 50,
      "is_pellet_level_sensor_active": true,
      "system_configuration": 0,
      "max_climate_temperature": 60,
      "enviroment_2_input": 0,
      "antifreeze_temperature_activation": 5,
      "k_curve": 2,
      "is_thermostats_sync": true,
      "is_antifreeze_function_active": false,
      "is_max_power_canalization_2_active": false,
      "is_max_power_canalization_1_active": false,
      "fans_number": 1,
      "is_room_big": false,
      "aux_output": 0,
      "enviroment_1_input": 1,
      "pump_temperature_activation": 50,
      "is_water_pressure_sensor_present": false,
      "enviroment_3_input": 0,
      "pellet_load": 0,
      "puffer_temperature_hysteresis": 10,
      "maximum_pump_speed": 90,
      "boiler_temperature_hysteresis": 10,
      "compatibility": 3
    },
    "regeneration": {
      "daylight_time_flag": 11,
      "last_intervention": 3774873600,
      "time": 0,
      "blackout_counter": 65280,
      "airkare_working_hours_counter": 64
    },
    "oem_parameters": {
      "smokes_fun_engine_type": 0,
      "alarm_1_threshold": 188,
      "percentage_velocity_canalized_off": 255,
      "min_time_from_p1_to_p5": 5,
      "board_alarm_temperature": 310,
      "is_flow_switch_seton": false,
      "time_for_pump_regulation": 300,
      "brushless_block_detection_time_forward": 0,
      "extractor_kp_engine": 0.05,
      "smokes_alarm_temperature": 10,
      "ash_discharge_cleaner_position": 5,
      "brushless_block_velocity_threshold_forward": 10,
      "sanitary_activation_threshold": 0,
      "buzzer_alarms_activation_time": 30,
      "autoregulation_interval_time": 5,
      "blackout_survey_time": 60,
      "brushless_block_detection_delta": 10,
      "extractor_max_speed": 2800,
      "extractor_ti_engine": 1,
      "fan_3_engine_type": 2,
      "cochlea_ti_engine": 7,
      "service_hours": 3845,
      "fan_2_engine_type": 2,
      "brushless_block_detection_time_normal": 0,
      "fan_1_engine_type": 188,
      "cochlea_max_speed": 2800,
      "is_dual_fuel": false,
      "constant_for_pump_regulation": 66.55,
      "relax_time": 511,
      "is_ekleaner_present": false,
      "compatibility": 65535,
      "appliance_type": 0,
      "idro_power_delta": 0.1,
      "extractor_min_speed": 700,
      "sending_temperature_interval": 0,
      "work_ascent_cleaner_position": 20,
      "cochlea_min_speed": 600,
      "mechanical_block_detection_time": 2,
      "poweroff_time_for_pellet_ended": 255,
      "gearmotor_type": 20,
      "is_emergency_probe_present": false,
      "stop_fans_in_reduction": false,
      "brushless_block_detection_time_unlock": 0.1,
      "is_leonardo_active_on_poweron": true,
      "is_spark_plug_traditional": false,
      "velocity_test_unlock_cochlea": 60,
      "cochlea_td_engine": 1,
      "alarm_2_threshold": 2,
      "alarm_panel_temperature": 257,
      "hysteresis_smokes_warning_temperature": 290,
      "alarm_9_threshold": 25,
      "cochlea_decrease": 1,
      "kick_pump_time": 0,
      "active_relax_mode": 0,
      "pump_min_velocity_out": 50,
      "unburnt_break_cleaner_position": 0,
      "is_brushless_cleaner_enabled": false,
      "pump_max_velocity_out": 30,
      "work_descent_cleaner_position": -95,
      "leonardo_plus": 4,
      "cochlea_increase": 44,
      "alarms_activation_time": 500,
      "heat_request_filter_time": 15,
      "leonardo_minus": 15,
      "extractor_td_engine": 29,
      "triac_alarm": 300,
      "leonardo_interval_time": 10,
      "fan_1_max_level": 0,
      "cochlea_kp_engine": 0.05,
      "relax_power": 7,
      "smokes_warning_temperature": 1,
      "ash_extraction_time": 15
    },
    "alarms_log": {
      "number": 3,
      "index": 3,
      "alarms": [
        {
          "type": 3,
          "timestamp": 1578896786
        },
        {
          "type": 4,
          "timestamp": 1578935558
        },
        {
          "type": 3,
          "timestamp": 1581661184
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        },
        {
          "type": 0,
          "timestamp": 0
        }
      ]
    },
    "cat_parameters": {
      "timeout_for_wood_on_detection": 120,
      "leonardo_in_min_power": 113,
      "counter_time_open_door": 120,
      "extractor_warm_up_emergency": 42,
      "cochlea_in_shutdown_advance_time": 10,
      "extractor_warm_up": 2000,
      "wood_off_time_temperature": 120,
      "reduced_cleaning_duration": 10,
      "fan_enviroment_2_3_deactivation_temperature": 20,
      "extractor_cooling_down_poweron": 2500,
      "wood_extractor_in_min_power": 1000,
      "extractor_speed_in_max_power": 1650,
      "wood_warmup_time_temperature": 120,
      "is_selfadjustment_disabled": true,
      "fan_activation_enviroment_1_p5": 100,
      "offset_temperature_smokes": 0,
      "fan_activation_enviroment_1_p3": 67,
      "fan_activation_enviroment_1_p4": 80,
      "p1_wood_extractor_speed_emergency": 20,
      "fan_activation_enviroment_1_p1": 40,
      "cochlea_in_standard_cleaning": 0,
      "fan_activation_enviroment_1_p2": 53,
      "smokes_wood_on_temperature": 70,
      "extractor_in_limited_poweroff_emercency": 36,
      "p2_wood_extractor_speed_emergency": 25,
      "cochlea_warm_up": 1000,
      "puffer_probe_offset": 0,
      "leonardo_warm_up": 136,
      "external_probe_offset": 0,
      "warm_up_duration": 240,
      "fan_activation_enviroment_2_p4": 85,
      "fan_activation_enviroment_2_p5": 100,
      "fan_activation_enviroment_2_p2": 70,
      "startup_cochlea": 5,
      "fan_activation_enviroment_2_p3": 75,
      "cochlea_speed_in_min_power": 1000,
      "fan_activation_enviroment_2_p1": 65,
      "fan_enviroment_1_deactivation_temperature": 30,
      "increase_pellet_time_if_ended": 60,
      "p4_wood_extractor_speed_emergency": 35,
      "extractor_in_limited_poweroff": 1000,
      "extractor_in_poweroff_emercency": 50,
      "dt_waiting_time": 480,
      "stove_temperature_off": 80,
      "p5_wood_extractor_speed_emergency": 40,
      "extractor_in_poweroff": 2500,
      "wood_warmup_delta_temperature": 20,
      "extractor_in_cooling_down": 1000,
      "is_extracotr_without_encoder": false,
      "reduced_cleaning_frequency": 45,
      "extractor_exit_p1_emergency": 35,
      "low_boiler_or_puffer_probe_offset": 0,
      "extractor_pellet_loading_emercency": 42,
      "leonardo_pellet_loading": 137,
      "exceeding_threshold_waiting_time": 300,
      "extractor_cooling_down_before_poweron": 2500,
      "wood_extractor_in_max_power": 2800,
      "smokes_temperature_increase": 10,
      "water_heater_probe_offset": 0,
      "p3_wood_extractor_speed_emergency": 30,
      "wood_restart_pellets_temperature": 90,
      "extractor_exit_p4_emergency": 38,
      "wood_on_extractor_speed_emergency": 20,
      "fan_enviroment_1_activation_temperature": 100,
      "poweroff_duration": 420,
      "extractor_in_standard_cleaning_emercency": 50,
      "boiler_probe_offset": 0,
      "leonardo_in_max_power": 123,
      "smokes_temperature_in_min_power": 160,
      "is_regeneration_function_active": false,
      "wood_off_delta_temperature": 20,
      "wood_pellet_passage_temperature": 140,
      "delta_wood_temperature_start_time": 120,
      "manual_pellet_load_time": 170,
      "extractor_poweron_2": 1800,
      "temperature_when_boiler_is_in_request": 20,
      "extractor_exit_p3_emergency": 37,
      "starting_pellet_load_time": 140,
      "heat_activation_request_temperature": 1,
      "extractor_pellet_loading": 1600,
      "extractor_poweron_2_emercency": 42,
      "starting_cleaning_time": 30,
      "extractor_cooling_down_poweron_emergency": 50,
      "compatibility": 4,
      "extractor_in_cooling_down_emercency": 36,
      "boiler_poweron_temperature": 2,
      "extractor_speed_in_min_power": 1000,
      "stove_on_temperature": 70,
      "is_extractor_antilock_function_active": false,
      "interval_cochlea_feeding_brazier_time": 300,
      "smokes_temperature_in_max_power": 260,
      "standard_cleaning_duration": 15,
      "wood_start_delta_temperature": 20,
      "wood_on_extractor_speed": 1000,
      "extractor_in_reduced_cleaning": 2200,
      "extractor_in_reduced_cleaning_emercency": 42,
      "cochlea_in_reduced_cleaning": 0,
      "cochlea_waiting_flame": 1500,
      "extractor_exit_p2_emergency": 36,
      "leonardo_poweron_2": 133,
      "extractor_in_standard_cleaning": 2500,
      "temperature_when_puffer_is_in_request": 10,
      "is_leonardo_system_active": true,
      "extractor_exit_p5_emergency": 39,
      "flame_wating_time": 50,
      "fan_enviroment_2_3_activation_temperature": 110,
      "standard_cleaning_frequency": 30,
      "fan_activation_enviroment_3_p5": 100,
      "fan_activation_enviroment_3_p4": 85,
      "fan_activation_enviroment_3_p3": 75,
      "fan_activation_enviroment_3_p2": 70,
      "fan_activation_enviroment_3_p1": 65,
      "offset_zero_position_cleaner": 0,
      "extractor_cooling_down_before_poweron_emergency": 50,
      "leonardo_value_cleaning": 136,
      "cochlea_speed_in_max_power": 2000,
      "cochlea_feeding_brazier_time": 10,
      "water_limit_temperature": 85,
      "leonardo_value_hot_cleaning": 140,
      "pump_poweroff_temperature": 2,
      "startup_extractor": 10,
      "check_over_temperature_time": 300,
      "startup_time_surcharge": 300
    },
    "manumissions": {
      "smokes_security_start": 1801912321,
      "smokes_security_end": 2007588399
    },
    "general": {
      "compatibility": 0
    },
    "user_parameters": {
      "remote_control_brightness_active": 70,
      "manual_power": 1,
      "fan_2_ventilation": 6,
      "boiler_temperature": 70,
      "fan_1_ventilation": 2,
      "language": 2,
      "is_am_pm_active": false,
      "canalization_1_ntc_probe_offset": 0,
      "wood_pellet_operation_type": 1,
      "fan_3_ventilation": 6,
      "water_temperature": 60,
      "remote_control_brightness_standby": 50,
      "puffer_temperature": 55,
      "enviroment_3_temperature": 20,
      "is_continuous_cochlea_active": 1,
      "standby_waiting_time": 300,
      "enviroment_2_temperature": 20,
      "is_relax_active": false,
      "is_sound_active": false,
      "enviroment_1_temperature": 16.5,
      "is_standby_active": false,
      "is_daylight_savings_time_active": true,
      "installation_ntc_probe_offset": 0,
      "remote_control_active_time": 15,
      "is_auto": true,
      "remote_control_standby_time": 15,
      "canalization_2_ntc_probe_offset": 0,
      "is_fahrenheit": false,
      "radio_control_ntc_probe_offset": 0,
      "compatibility": 3,
      "is_pellet_level_sensor_disabled": true,
      "time_from_web": false
    },
    "database": {
      "code": 775
    },
    "saves": {
      "alarm_type_saved": 0,
      "operation_state_saved": 0,
      "operational_phase_saved": 3,
      "sub_operational_phase_saved": 0
    },
    "total_counters": {
      "p2_working_time": 2,
      "p3_working_time": 7,
      "p4_working_time": 2,
      "p1_working_time": 8,
      "p5_working_time": 7,
      "power_ons": 98
    },
    "recognition_data": {
      "board_serial_number": "\u0007",
      "stove_serial_number": ""
    },
    "chrono": {
      "economy_temperature": 20,
      "is_active": false,
      "modality": 0,
      "comfort_temperature": 25,
      "power_ranges": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "temperature_ranges": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ]
    },
    "timestamp": 1669588898942
  },
  "status": {
    "pellet": {
      "autonomy_time": 0
    },
    "fota": {
      "ota_start_code": 0
    },
    "flags": {
      "is_borad_temperature_high": false,
      "is_fuses_to_be_check": false,
      "is_assisted_wood_ignition_in_progress": false,
      "is_warning_port_open": false,
      "is_leonardo_failed": false,
      "is_heating_on_request": false,
      "is_crono_active": false,
      "is_cat_service_required": false,
      "is_structure_to_be_check": false,
      "is_temperature_not_detectable": false,
      "is_easytimer_active": false,
      "is_pellet_in_reserve": false,
      "is_sanitary_on_request": false,
      "is_sensirion_present": true,
      "wifi_signal": 0,
      "is_relax_active": false,
      "is_eeprom_default_resetted": false,
      "is_cochlea_in_continuous_mode": true,
      "is_gearmotor_release_procedure_in_progress": false,
      "is_wood_operation_in_progress": false,
      "is_smokes_temperature_high": false,
      "is_cleaning_in_progress": false,
      "is_anti_blocking_pump_function_in_progress": false,
      "is_paramiters_default_resetted": false,
      "is_backup_battery_level_low": false,
      "is_airkare_active": false,
      "is_cleaner_blocked": false,
      "is_antiblocking_extractor_in_progress": false,
      "is_database_missing": false,
      "is_regeneration_cycle_in_progress": false,
      "is_kick_on_pump_function_in_progress": false
    },
    "led": {
      "red": false,
      "green": false,
      "rgb_green": false,
      "rgb_red": false,
      "rgb_blue": false
    },
    "remote_probe_1": {
      "temperature": 0,
      "air_quality": 0,
      "umidity": 0,
      "comunications_counter": 0
    },
    "remote_probe_3": {
      "temperature": 0,
      "air_quality": 0,
      "umidity": 0,
      "comunications_counter": 0
    },
    "remote_probe_2": {
      "temperature": 0,
      "air_quality": 0,
      "umidity": 0,
      "comunications_counter": 0
    },
    "easytimer": {
      "time": 0
    },
    "water_pressure": {
      "flow": 2,
      "value_in_mbar": 0
    },
    "temperatures": {
      "enviroment": 17.5,
      "feeler_ntc_low_accumulation": 0,
      "puffer": 0,
      "feeler_ntc_boiler": 0,
      "thermocouple": 39.4,
      "canalize_2": 0,
      "boiler": 0,
      "canalize_1": 0,
      "feeler_ntc_external": 0,
      "feeler_ntc_1": 17.5,
      "feeler_ntc_2": 0,
      "setted_thermocouple": 0,
      "feeler_ntc_3": 0,
      "board": 19.6
    },
    "boiler": {
      "set_temperature": 0
    },
    "engines": {
      "real_cochlea_speed": 0,
      "setted_smokes_fan_speed": 0,
      "exchanger_fan_1": 0,
      "exchanger_fan_3": 0,
      "exchanger_fan_2": 0,
      "wilo_pump": 0,
      "output_smokes_fan": 0,
      "real_smokes_fan_speed": 0,
      "output_cochlea": 0,
      "setted_cochlea_speed": 0
    },
    "sensirion_pressure": {
      "value_in_pascal": 0,
      "value_in_points": 103
    },
    "state": {
      "actual_power": 1,
      "stove_state": 7,
      "alarm_type": 3,
      "sub_operational_phase": 0,
      "operational_phase": 0
    },
    "pump": {
      "traditional_gearmotor_release_phase": 0,
      "repentance_time_at_shutdown": 0,
      "stop_temperature": 0,
      "flags2": {
        "is_60hz_frequency_active": false,
        "is_panel_temperature_high": false,
        "airkare_need_to_replace": false,
        "is_puffer_request": false,
        "is_kettle_request": false,
        "is_fan_1_active": false,
        "is_fan_2_active": false,
        "is_cochlea_on": false,
        "is_fan_3_active": false,
        "is_environment_request": false
      },
      "brushless_gearmotor_release_phase": 0
    },
    "commands": {
      "alarm_reset": false,
      "clear_partial_counters": false,
      "start_cold_test": false,
      "airkare_function": false,
      "start_minimum_chimney_sweep_function": false,
      "skip_operational_phase": false,
      "start_nominal_chimney_sweep_function": false,
      "power": false,
      "cat_service_reset": false,
      "perform_cochlea_loading": false
    },
    "timestamp": 1669589112662,
    "connected_devices": {
      "app": false,
      "radio": false,
      "pc": false
    },
    "brushless_cleaner": {
      "setting_value": 0,
      "ntc_panel_temperature": 0,
      "network_frequency": 50,
      "position_value": 0
    },
    "production_test": {
      "fast_test_code": 0
    },
    "counters": {
      "service_time": 1974
    },
    "restore": {
      "alarm_history": 0,
      "pc_boot": 0,
      "default_parameters": 0
    },
    "digital_in": {
      "is_storage_tank_thermostat_input_activated": false,
      "is_thermostat_input_enviroment_1_activated": false,
      "is_thermostat_input_enviroment_2_activated": false,
      "is_water_pressure_switch_activated": false,
      "is_smoke_pressure_switch_activated": true,
      "is_pellet_level_sensor_activated": true,
      "is_cleaner_limit_switch_contact_closed": false,
      "is_thermostat_input_enviroment_3_activated": false,
      "is_water_safety_thermostat_close": true,
      "is_cleaner_opening_limit_switch_activated": false,
      "is_puffer_thermostat_input_activated": false,
      "is_home_automation_contact_close": false,
      "is_pellet_safety_thermostat_close": true,
      "is_sanitary_flow_switch_activated": false
    },
    "fans": {
      "fan_1_speed": 0,
      "fan_2_speed": 0,
      "fan_3_speed": 0
    },
    "diagnostics": {
      "databases_number": 20,
      "crc16_components_info": 10221,
      "reset_cause": 64,
      "crc16_nvm": 55926,
      "remaining_time_before_standby": 0
    },
    "realtimeclock": {
      "hours": 7,
      "seconds": 54,
      "set_realtimeclock_configured": false,
      "month": 2,
      "year": 2020,
      "minutes": 9,
      "is_am_pm_format_active": false,
      "day": 14,
      "day_of_week": 4
    },
    "digital_out": {
      "is_buzzer_output_on": false,
      "is_valve_in_heating_mode": false,
      "is_auxiliary_boiler_output_on": false,
      "is_cochlea_brushless_output_in_clockwise_mode": false,
      "is_ozonator_output_on": false,
      "is_ionizer_output_on": false,
      "is_external_valve_in_heating_mode": false,
      "is_ignition_plug_on": false,
      "is_ash_extraction_output_on": false,
      "is_remote_alarm_output_on": true,
      "is_external_pump_relay_output_on": false,
      "is_safety_relay_output_on": false,
      "is_turbulators_output_and_automatic_crucible_cleaning_on": false
    },
    "cycle_time": {
      "remaining_time": 0
    },
    "air_pressure": {
      "setted_value_in_points": 0,
      "value_in_pascal": -37,
      "value_in_points": 0
    }
  }
}
```

Support different bluetooth backend

The current implementation uses simplepyble because pybluez packaging is currently buggy making it impossible to install on up to date Python environments.
Ideally we should still try to support different backends.
Also pybluez2 has the ble packaging broken so we cannot use it either at the moment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.