DTSU666 + modbus - częstotliwość

Cześć.
Udało mi się uruchomić odczyty z chint dtsu666 za pomocą esp32 rs485 i esphome do home assistanta.
Wszystkie wartości wydają się być w normie, “na oko”, za wyjątkiem częstotliwości. Spodziewałbym się 50Hz, ale mam 174,08 Hz. Nie wiem czego to jest częstotliwość.
Logi:

[11:37:03][D][modbus_controller.sensor:025]: Sensor new state: 17408.00
[11:37:03][D][sensor:094]: 'Częstotliwość': Sending state 174.08000 Hz with 2 decimals of accuracy

Dokumentacja:
image
image

Konfiguracja:

esphome:
  name: main-meter
  friendly_name: main_meter

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "***"

ota:
  - platform: esphome
    password: "***"

wifi:
  ssid: "***"
  password: "***"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Main-Meter Fallback Hotspot"
    password: "8yretuaeJSX8"

captive_portal:
    ###
uart:
  id: mod_bus
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 9600
  stop_bits: 1
  # debug:
  #   direction: BOTH
  #   dummy_receiver: false
  #   after:
  #     delimiter: "\n"
  #   sequence:
  #     - lambda: UARTDebug::log_string(direction, bytes);

modbus:
  #flow_control_pin: 23
  send_wait_time: 200ms
  id: mod_bus_vcx

modbus_controller:
  - id: vcx
    modbus_id: mod_bus_vcx
    command_throttle: 100ms
    setup_priority: -10
    update_interval: 10s

text_sensor:
  - platform: template
    name: "Main-meter Uptime (human readable)"
    id: uptime_human
    icon: "mdi:clock-start"
    update_interval: 5s
sensor:
#------------------------------------------------------
# Napięcia 
#------------------------------------------------------
  - platform: modbus_controller
    id: faza_l1_napiecie
    name: "Faza L1 napięcie"
    state_class: measurement
    register_type: read
    address: 0x2006
    unit_of_measurement: "V"
    value_type: FP32
    accuracy_decimals: 1
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    id: faza_l2_napiecie
    name: "Faza L2 napięcie"
    state_class: measurement
    register_type: read
    address: 0x2008
    unit_of_measurement: "V"
    value_type: FP32
    accuracy_decimals: 1
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    id: faza_l3_napiecie
    name: "Faza L3 napięcie"
    address: 0x200A
    state_class: measurement
    unit_of_measurement: "V"
    register_type: read
    value_type: FP32
    accuracy_decimals: 1
    filters:
      - multiply: 0.1
      
#------------------------------------------------------
# Częstotliwość 
#------------------------------------------------------
  - platform: modbus_controller
    id: czestotliwosc
    name: "Częstotliwość"
    register_type: read
    state_class: measurement
    address: 0x2044
    unit_of_measurement: "Hz"
    value_type: S_WORD
    accuracy_decimals: 2
    filters:
      - multiply: 0.01

#------------------------------------------------------
# Prąd 
#------------------------------------------------------
  - platform: modbus_controller
    id: faza_l1_prad
    name: "Faza L1 prąd"
    register_type: read
    state_class: measurement
    address: 0x200C
    unit_of_measurement: "A"
    value_type: FP32
    accuracy_decimals: 1
    filters:
      - multiply: 0.001  
  - platform: modbus_controller
    id: faza_l2_prad
    name: "Faza L2 prąd"
    register_type: read
    state_class: measurement
    address: 0x200E
    unit_of_measurement: "A"
    value_type: FP32
    accuracy_decimals: 1
    filters:
      - multiply: 0.001  
  - platform: modbus_controller
    id: faza_l3_prad
    name: "Faza L3 prąd"
    register_type: read
    state_class: measurement
    address: 0x2010
    unit_of_measurement: "A"
    value_type: FP32
    accuracy_decimals: 1
    filters:
      - multiply: 0.001

#------------------------------------------------------
# Moc chwilowa 
#------------------------------------------------------
  - platform: modbus_controller
    id: faza_l1_moc_czynna
    name: "Faza L1 moc czynna"
    register_type: read
    state_class: measurement
    address: 0x2014
    unit_of_measurement: "W"
    value_type: FP32
    accuracy_decimals: 0
    filters:
      - multiply: 0.1 
  - platform: modbus_controller
    id: faza_l2_moc_czynna
    name: "Faza L2 moc czynna"
    register_type: read
    state_class: measurement
    address: 0x2016
    unit_of_measurement: "W"
    value_type: FP32
    accuracy_decimals: 0
    filters:
      - multiply: 0.1 
  - platform: modbus_controller
    id: faza_l3_moc_czynna
    name: "Faza L3 moc czynna"
    register_type: read
    state_class: measurement
    address: 0x2018
    unit_of_measurement: "W"
    value_type: FP32
    accuracy_decimals: 0
    filters:
      - multiply: 0.1 
  - platform: modbus_controller
    id: calkowita_moc_czynna
    name: "Całkowita moc czynna"
    register_type: read
    state_class: measurement
    address: 0x2012
    unit_of_measurement: "kW"
    value_type: FP32
    accuracy_decimals: 0
    filters:
      - multiply: 0.1 

#------------------------------------------------------
# Energia 
# ------------------------------------------------------
  - platform: modbus_controller
    id: moc_czynna_pobrana
    name: "Moc czynna pobrana"
    register_type: read
    icon: mdi:circle-slice-3
    device_class: energy
    state_class: total_increasing
    address: 0x401E
    unit_of_measurement: "kWh"
    value_type: FP32
    accuracy_decimals: 2
    #skip_updates: 60
    filters:
      - multiply: 1    
  - platform: modbus_controller
    id: moc_czynna_oddana
    name: "Moc czynna oddana"
    register_type: read
    icon: mdi:circle-slice-3
    device_class: energy
    state_class: total_increasing
    address: 0x4028
    unit_of_measurement: "kWh"
    value_type: FP32
    accuracy_decimals: 2
    #skip_updates: 60
    filters:
      - multiply: 1 

#------------------------------------------------------
# wifi signal
#------------------------------------------------------     
  - platform: wifi_signal
    id: dtsu_wifi_signal
    name: "WiFi Signal main-meter"
    update_interval: 60s
    icon: "mdi:wifi"

  - platform: uptime
    id: inverter_uptime
    name: "Main-meter Uptime"
    filters:
      - lambda: return x / 60.0;
    unit_of_measurement: minutes
    icon: "mdi:clock-start"

  - platform: uptime
    name: Main-meter Uptime
    id: uptime_sensor
    update_interval: 5s
    icon: "mdi:clock-start"
    internal: true
    on_raw_value:
      then:
        - text_sensor.template.publish:
            id: uptime_human
            state: !lambda |-
              int seconds = round(id(uptime_sensor).raw_state);
              seconds = seconds % (24 * 3600);
              int hours = seconds / 3600;
              seconds = seconds % 3600;
              int minutes = seconds /  60;
              seconds = seconds % 60;
              return (
                (hours ? to_string(hours) + "h " : "") +
                (minutes ? to_string(minutes) + "m " : "") +
                (to_string(seconds) + "s")
              ).c_str();

  - platform: template
    unit_of_measurement: "%"
    name: "Main-meter WiFi Signal (human readable)"
    accuracy_decimals: 0
    update_interval: 30s
    device_class: "signal_strength"
    icon: "mdi:wifi"
    lambda: return (-0.0134 * (id(dtsu_wifi_signal).state * id(dtsu_wifi_signal).state ) ) + (-0.2228 * id(dtsu_wifi_signal).state) + 100.2;

Dobra, tutaj jest błąd. Powinno być value_type: FP32

1 polubienie