Optimized for mem pressure, inverted colors.
This commit is contained in:
+21
-107
@@ -44,11 +44,25 @@ wifi:
|
||||
ssid: "OWON B35T Fallback Hotspot"
|
||||
password: !secret fallback_psk
|
||||
|
||||
captive_portal:
|
||||
# Disabled to save RAM on the M5Stack Core 1. Re-enable temporarily if Wi-Fi recovery is needed.
|
||||
# captive_portal:
|
||||
|
||||
interval:
|
||||
- interval: 10s
|
||||
then:
|
||||
- lambda: |-
|
||||
ESP_LOGI("mem", "heap free=%u min_free=%u internal_free=%u internal_largest=%u dma_free=%u dma_largest=%u",
|
||||
static_cast<unsigned>(esp_get_free_heap_size()),
|
||||
static_cast<unsigned>(esp_get_minimum_free_heap_size()),
|
||||
static_cast<unsigned>(heap_caps_get_free_size(MALLOC_CAP_INTERNAL)),
|
||||
static_cast<unsigned>(heap_caps_get_largest_free_block(MALLOC_CAP_INTERNAL)),
|
||||
static_cast<unsigned>(heap_caps_get_free_size(MALLOC_CAP_DMA)),
|
||||
static_cast<unsigned>(heap_caps_get_largest_free_block(MALLOC_CAP_DMA)));
|
||||
|
||||
esp32_ble_tracker:
|
||||
scan_parameters:
|
||||
active: true
|
||||
continuous: true
|
||||
|
||||
ble_client:
|
||||
- mac_address: ${owon_mac_address}
|
||||
@@ -158,7 +172,7 @@ display:
|
||||
cs_pin: GPIO14
|
||||
dc_pin: GPIO27
|
||||
reset_pin: GPIO33
|
||||
invert_colors: false
|
||||
invert_colors: true
|
||||
color_palette: 8BIT
|
||||
rotation: 0
|
||||
update_interval: 500ms
|
||||
@@ -235,34 +249,6 @@ binary_sensor:
|
||||
name: "${friendly_name} Low Battery"
|
||||
lambda: |-
|
||||
return owon_meter.low_battery;
|
||||
- platform: template
|
||||
name: "${friendly_name} Auto Range"
|
||||
lambda: |-
|
||||
return owon_meter.auto_range();
|
||||
- platform: template
|
||||
name: "${friendly_name} Hold"
|
||||
lambda: |-
|
||||
return owon_meter.hold();
|
||||
- platform: template
|
||||
name: "${friendly_name} Relative"
|
||||
lambda: |-
|
||||
return owon_meter.relative();
|
||||
- platform: template
|
||||
name: "${friendly_name} AC"
|
||||
lambda: |-
|
||||
return owon_meter.ac();
|
||||
- platform: template
|
||||
name: "${friendly_name} DC"
|
||||
lambda: |-
|
||||
return owon_meter.dc();
|
||||
- platform: template
|
||||
name: "${friendly_name} Continuity"
|
||||
lambda: |-
|
||||
return owon_meter.continuity();
|
||||
- platform: template
|
||||
name: "${friendly_name} Diode"
|
||||
lambda: |-
|
||||
return owon_meter.diode();
|
||||
|
||||
sensor:
|
||||
- platform: ble_client
|
||||
@@ -286,7 +272,7 @@ sensor:
|
||||
name: "${friendly_name} Display Value"
|
||||
id: owon_display_value
|
||||
accuracy_decimals: 6
|
||||
update_interval: 1s
|
||||
update_interval: 2s
|
||||
lambda: |-
|
||||
return owon_meter.has_reading && !owon_meter.overload ? owon_meter.value() : NAN;
|
||||
|
||||
@@ -294,95 +280,23 @@ sensor:
|
||||
name: "${friendly_name} Base Value"
|
||||
id: owon_base_value
|
||||
accuracy_decimals: 9
|
||||
update_interval: 1s
|
||||
update_interval: 2s
|
||||
lambda: |-
|
||||
return owon_meter.has_reading && !owon_meter.overload ? owon_meter.value_base() : NAN;
|
||||
|
||||
- platform: template
|
||||
name: "${friendly_name} Voltage"
|
||||
device_class: voltage
|
||||
unit_of_measurement: "V"
|
||||
accuracy_decimals: 6
|
||||
update_interval: 1s
|
||||
lambda: |-
|
||||
return owon_meter.kind() == owon_b35t::Meter::KIND_VOLTAGE && !owon_meter.overload ? owon_meter.value_base() : NAN;
|
||||
|
||||
- platform: template
|
||||
name: "${friendly_name} Current"
|
||||
device_class: current
|
||||
unit_of_measurement: "A"
|
||||
accuracy_decimals: 6
|
||||
update_interval: 1s
|
||||
lambda: |-
|
||||
return owon_meter.kind() == owon_b35t::Meter::KIND_CURRENT && !owon_meter.overload ? owon_meter.value_base() : NAN;
|
||||
|
||||
- platform: template
|
||||
name: "${friendly_name} Resistance"
|
||||
unit_of_measurement: "Ω"
|
||||
accuracy_decimals: 3
|
||||
update_interval: 1s
|
||||
lambda: |-
|
||||
return owon_meter.kind() == owon_b35t::Meter::KIND_RESISTANCE && !owon_meter.overload ? owon_meter.value_base() : NAN;
|
||||
|
||||
- platform: template
|
||||
name: "${friendly_name} Frequency"
|
||||
device_class: frequency
|
||||
unit_of_measurement: "Hz"
|
||||
accuracy_decimals: 3
|
||||
update_interval: 1s
|
||||
lambda: |-
|
||||
return owon_meter.kind() == owon_b35t::Meter::KIND_FREQUENCY && !owon_meter.overload ? owon_meter.value_base() : NAN;
|
||||
|
||||
- platform: template
|
||||
name: "${friendly_name} Capacitance"
|
||||
unit_of_measurement: "F"
|
||||
accuracy_decimals: 12
|
||||
update_interval: 1s
|
||||
lambda: |-
|
||||
return owon_meter.kind() == owon_b35t::Meter::KIND_CAPACITANCE && !owon_meter.overload ? owon_meter.value_base() : NAN;
|
||||
|
||||
- platform: template
|
||||
name: "${friendly_name} Temperature"
|
||||
device_class: temperature
|
||||
unit_of_measurement: "°C"
|
||||
accuracy_decimals: 2
|
||||
update_interval: 1s
|
||||
lambda: |-
|
||||
if (owon_meter.kind() == owon_b35t::Meter::KIND_TEMP_C && !owon_meter.overload) return owon_meter.value();
|
||||
if (owon_meter.kind() == owon_b35t::Meter::KIND_TEMP_F && !owon_meter.overload) return (owon_meter.value() - 32.0f) * 5.0f / 9.0f;
|
||||
return NAN;
|
||||
|
||||
- platform: template
|
||||
name: "${friendly_name} Duty Cycle"
|
||||
unit_of_measurement: "%"
|
||||
accuracy_decimals: 2
|
||||
update_interval: 1s
|
||||
lambda: |-
|
||||
return owon_meter.kind() == owon_b35t::Meter::KIND_DUTY && !owon_meter.overload ? owon_meter.value() : NAN;
|
||||
|
||||
text_sensor:
|
||||
- platform: template
|
||||
name: "${friendly_name} Reading"
|
||||
update_interval: 1s
|
||||
update_interval: 2s
|
||||
lambda: |-
|
||||
return owon_meter.reading_text();
|
||||
- platform: template
|
||||
name: "${friendly_name} Unit"
|
||||
update_interval: 1s
|
||||
update_interval: 2s
|
||||
lambda: |-
|
||||
return std::string(owon_meter.scale()) + owon_meter.unit();
|
||||
- platform: template
|
||||
name: "${friendly_name} Mode"
|
||||
update_interval: 1s
|
||||
update_interval: 2s
|
||||
lambda: |-
|
||||
return owon_meter.mode_text();
|
||||
- platform: template
|
||||
name: "${friendly_name} Meter Type"
|
||||
update_interval: 1s
|
||||
lambda: |-
|
||||
return owon_meter.is_plus ? std::string("B35T+") : std::string("B35T");
|
||||
- platform: template
|
||||
name: "${friendly_name} Selected Button"
|
||||
update_interval: 1s
|
||||
lambda: |-
|
||||
return std::string(owon_meter.selected_button_name());
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
#include <cstring>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "esp_heap_caps.h"
|
||||
#include "esp_system.h"
|
||||
#include "esphome/core/helpers.h"
|
||||
#include "esphome/core/log.h"
|
||||
#include "esphome/components/display/display.h"
|
||||
|
||||
Reference in New Issue
Block a user