Magic Reader - reaktywacja

Kupiłem dawno temu Magic reader. Zdaje sie że V3.

Leżał w szafie bardzo długo, aż teraz dostałem od Energa licznik Otus3 i przysłali mi klucz deszyfrujący. Chciałbym więc w końcu tego użyć.skąd pobrać aktualny plik konfiguracyjny YAML repo github?Znalazłem jakieś szczepanleon ale nie wiem która wersja jest dla mnie, wgrywam jakieś konfigi z githuba +gemini ale ciągle tylko bootloopy.

Mój kod wygląda tak, nie korzystam już z tego modułu ale kod na pewno działający.

dashboard_import:
  package_import_url: github://MariuszWoszczynski/WMBUS-reader/WMBUS-reader.yaml@main
  import_full_config: true

substitutions:
  name: "wmbus-reader"
  friendly_name: "wmbus-reader"

esphome:
  name: "${name}"
  friendly_name: "${friendly_name}"
  project:
    name: esphome.wmbus_reader
    version: "1.0"
  # only for RPI 
  # compile_process_limit: 1  
  
esp32:
  board: nodemcu-32s
  framework:
    type: arduino

external_components:
    
  - source: github://SzczepanLeon/esphome-components@version_3
    components: [ wmbus ]
    refresh: 0d
    
    
time:
 - platform: sntp
   id: time_sntp


# Enable logging
logger:
  level: debug

# Enable Home Assistant API
api:
  encryption:
    key: "9p2efbtoh/7izZ93LRVsgSXsL1JAoP07YQeoyATI7IE="



ota:
  platform: esphome
  password: ""  

wifi:
  ssid: !secret hAP_wifi_ssid
  password: !secret hAP_wifi_password
  power_save_mode: none
  fast_connect: true
  reboot_timeout: 10min
#  static IP configuration (instead of data from the secret file)
#  ssid: "MY_WIFI"
#  password: "0123456789"
#  reboot_timeout: 10min
  manual_ip:
    static_ip: 192.168.1.105
    gateway: 192.168.1.10
    subnet: 255.255.255.0
  
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "WMBUS Reader - Fallback Hotspot"
    password: "12345678"

#your mqtt parameters
#mqtt:
#  broker: 10.10.10.10  
#  port: 1883
#  username: username 
#  password: password 

captive_portal:

web_server: 
  port: 80
  version: 3

wmbus:
  frequency: 868.950  #default
  sync_mode: False    #default
  log_unknown: true   #default
  
  mosi_pin: GPIO32
  clk_pin:  GPIO33 
  miso_pin: GPIO19
  gdo2_pin: GPIO21
  gdo0_pin: GPIO22
  cs_pin:   GPIO23
 
  led_pin: GPIO2
  led_blink_time: "1s"


      
sensor:
    # Reports the WiFi signal strength/RSSI in dB
  - platform: wifi_signal 
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"
# first sensor (water)
#  - platform: wmbus
#    meter_id: 0x00000000
#    type: izar
#    add_prefix: false
#    lqi:
#      name: "My lqi"
#    rssi:
#      name: "My RSSI"
#    total_water_m3:
#      name: "My cold water"
   #  filters:              #optional
   #    - offset: 123.4567  #the difference between the indications of the radio overlay and the counter (if you have a used overlay)
#    last_month_total_water_m3:
#      name: "Last month total water"
#    current_month_total_water_l:
#      name: "Current month toal water"
#    transmit_period_s:
#      name: "Transmit period [s]"
#    remaining_battery_life_y:
#      name: "Remaining battery life [Y]"
#    current_alarms:
#      name: "Current alarms"
#    previous_alarms:
#      name: "Previous alarms"
  # second sensor (zimna woda)
  - platform: wmbus
    meter_id: 0x0022****
    type: apator162
    add_prefix: false
    key: "00000000000000000000000000000000"
    lqi:
      name: "My lqi zimna"
    rssi:
      name: "My RSSI zimna"
    total_water_m3:
      name: "Moja zimna woda"


  # second sensor (ciepla woda)
  - platform: wmbus
    meter_id: 0x0020****
    type: apator162
    add_prefix: false
    key: "00000000000000000000000000000000"
    lqi:
      name: "My lqi ciepla"
    rssi:
      name: "My RSSI ciepla"
    total_water_m3:
      name: "Moja ciepla woda"

  # third sensor (gas)
  #- platform: wmbus
  #  meter_id: 0x00000000
  #  type: unismart
  #  add_prefix: false
  #  key: "00000000000000000000000000000000"
  #  lqi:
  #    name: "My lqi"
  #  rssi:
  #    name: "My RSSI"
  #  total_gas_m3:
  #    name: "My gas"
  # fourth sensor (electricity)
  #- platform: wmbus
  #  meter_id: 0x00000000
  #  type: amiplus
  #  add_prefix: false
  #  mode: T1C1
  #  rssi:
  #    name: "My RSSI"
  #  total_energy_consumption_kwh:
  #    name: "My consumption in kWh"
  #    icon: "mdi:power-plug"
  #  current_power_consumption_kw:
  #    name: "My current power consumption in kW"
  #  total_energy_production_kwh:
  #    name: "My total energy production in kWh"
  #  current_power_production_kw:
  #    name: "My current power production in kW"
  #  voltage_at_phase_1_v:
  #    name: "My V1"
  #  voltage_at_phase_2_v:
  #    name: "My V2"
  #  voltage_at_phase_3_v:
  #    name: "My V3"
  # more options on https://github.com/SzczepanLeon/esphome-components

Musisz tylko zmienić parametry pod siebie.

czy każdy jest aktualny to nie wiem, ale dla różnych wersji sprzętu YAMLe masz tam

Dziękuję za pomoc. Razem z AI i waszymi sugestiami dostałem działający kod

substitutions:
  name: "wmbus-reader-v4"
  friendly_name: "WMBUS Reader V4"

esphome:
  name: "${name}"
  friendly_name: "${friendly_name}"
  project:
    name: esphome.wmbus_reader
    version: "1.0"
  
esp32:
  board: nodemcu-32s
  framework:
    type: esp-idf

external_components:
  - source: github://SzczepanLeon/esphome-components@main
    components: [ wmbus_radio, wmbus_common, wmbus_meter ]
    refresh: 0s

# Status LED for connection
status_led:
  pin:
    # Blue LED
    number: GPIO02
    ignore_strapping_warning: true   
    
mdns:
  disabled: false
  
time:
 - platform: sntp
   id: time_sntp

# Enable logging
logger:
  level: DEBUG

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

ota:
  - platform: esphome
    password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  output_power: 18dB
  
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Wmbus-Reader-V4 Fallback Hotspot"

captive_portal:

web_server: 
  port: 80
  version: 3

# Definicja magistrali SPI
spi:
  clk_pin: GPIO33 
  mosi_pin: GPIO32
  miso_pin: GPIO19

# Konfiguracja modułu radiowego CC1101
wmbus_radio:
  radio_type: CC1101
  cs_pin: GPIO23
  irq_pin: GPIO22
  frequency: 868.900MHz

# Konfiguracja Twojego licznika AMIPLUS
wmbus_meter:
  - id: amiplus_meter
    meter_id: 0x13595330
    type: amiplus
    key: "F961572BCDB2EB792DF3E865A2157CD4"

sensor:
  - platform: wifi_signal
    name: "Sygnał WiFi (dBm)"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"

  - platform: copy
    source_id: wifi_signal_db
    name: "Sygnał WiFi (%)"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "%"
    entity_category: "diagnostic"
    
  - platform: wmbus_meter
    parent_id: amiplus_meter
    name: "Całkowita energia pobrana"
    field: total_energy_consumption_kwh
    accuracy_decimals: 3
    unit_of_measurement: "kWh"
    device_class: "energy"
    state_class: "total_increasing"

  - platform: wmbus_meter
    parent_id: amiplus_meter
    name: "Aktualny pobór mocy"
    field: current_power_consumption_kw
    accuracy_decimals: 3
    unit_of_measurement: "kW"
    device_class: "power"
    state_class: "measurement"

  - platform: wmbus_meter
    parent_id: amiplus_meter
    name: "Całkowita energia oddana"
    field: total_energy_production_kwh
    accuracy_decimals: 3
    unit_of_measurement: "kWh"
    device_class: "energy"
    state_class: "total_increasing"

  - platform: wmbus_meter
    parent_id: amiplus_meter
    name: "Aktualna moc oddawana"
    field: current_power_production_kw
    accuracy_decimals: 3
    unit_of_measurement: "kW"
    device_class: "power"
    state_class: "measurement"

  - platform: wmbus_meter
    parent_id: amiplus_meter
    name: "Napięcie - Faza 1"
    field: voltage_at_phase_1_v
    accuracy_decimals: 1
    unit_of_measurement: "V"
    device_class: "voltage"
    state_class: "measurement"

  - platform: wmbus_meter
    parent_id: amiplus_meter
    name: "Napięcie - Faza 2"
    field: voltage_at_phase_2_v
    accuracy_decimals: 1
    unit_of_measurement: "V"
    device_class: "voltage"
    state_class: "measurement"

  - platform: wmbus_meter
    parent_id: amiplus_meter
    name: "Napięcie - Faza 3"
    field: voltage_at_phase_3_v
    accuracy_decimals: 1
    unit_of_measurement: "V"
    device_class: "voltage"
    state_class: "measurement"
    
  - platform: wmbus_meter
    parent_id: amiplus_meter
    name: "Sygnał radiowy licznika (RSSI)"
    field: rssi_dbm
    accuracy_decimals: 0
    unit_of_measurement: "dBm"
    device_class: "signal_strength"
    state_class: "measurement"
    entity_category: "diagnostic"

pojawiły się takie sensory:

Jeszcze jakieś sugestie?

Trochę szkoda, że nie mam podziału na L1/L2/L3 prezy energii pobieranej oddawanej do sieci.

Czy jest szansa, że Energa Operator udostępni mi takie dane? Czy w ogóle może legalnie to zrobić?

Driver nie ma takich pól więc nie zobaczysz takich wartości - dostaniesz tylko sumę eksportu.
Take info dostaniesz z Falownika - jak je liczy czy wystawia.
Lub osobny miernik fazowy który Ci to ogarnie.
Jedyne pole które zobaczysz w obecnej sytuacji ( jak tak masz ) to : Energia oddanie total + taryfa 1/2/3

Aktualną sytuację masz opisaną przez @Krzyszof_K

Hipotetycznie jest to możliwe - zależnie od spełnienia kilku warunków:

  • czy ustrój pomiarowy licznika umożliwia w ogóle takie pomiary (w rozsądnych konstrukcjach umożliwia, zobacz jakie parametry OBIS masz dostępne na wyświetlaczu)
  • czy ten model w ogóle może raportować te parametry radiowo (zestawy predefiniowanych telegramów są zazwyczaj opisane w głęboko zakopanej dokumentacji producenta, bądź przy odrobinie szczęścia mogą być w SWZ przetargu na te liczniki)
  • jeśli 2 warunki wyżej zostaną spełnione to czy operator zgodzi się przekonfigurować licznik (warto pamiętać, że duże zestawy danych wymagają rzadszego raportowania - i częstość raportowania to jest kwestia uregulowana prawnie)

Co do kwestii prawnych nie ma ograniczeń - wręcz masz prawo do dostępu do takiego samego zestawu danych pomiarowych, jakim dysponuje operator.

Natomiast w kwestii ograniczeń technicznych - skoro obecny driver nie ma takich pól, to być może licznik nawet raportuje pożądane dane (analiza rzeczywistych telegramów może tu pomóc - nakarm AI surowymi telegramami), tylko nikt nie napisał części drivera umożliwiającej ich odkodowanie.

Kolega by chciał diagnostykę tylko Producent świadomie ograniczył zakres pod cel (rozliczenie) + ograniczenia protokołu + ekonomia certyfikacji.