# Butterfly EDFA Rack: snippet to merge into Home Assistant's configuration.yaml. # # The rack's sensors, switches and numbers arrive automatically over MQTT # discovery (the ESP32 firmware publishes homeassistant/.../config topics), so # this file only adds what discovery cannot: mW optical-power sensors derived # from the dBm telemetry, and the YAML-mode dashboard registration. # # These are top-level keys. Merge them into the existing configuration.yaml on # the HA host (do not drop its default_config:, frontend:, etc.). If an `mqtt:` # key already exists there, merge the sensors into it rather than adding a # second `mqtt:` block. # # The internal PDs read ~0.5 dB optimistic, so treat the mW figures as # indicative, not calibrated. mqtt: sensor: - name: "Output Power mW" unique_id: butterfly_edfa_rack_out_mw state_topic: "lab/laser/butterfly_edfa_rack/amp/output1_power_dbm" value_template: "{{ (10 ** (value | float / 10)) | round(1) }}" unit_of_measurement: "mW" device_class: power state_class: measurement availability_topic: "lab/laser/butterfly_edfa_rack/availability" payload_available: "online" payload_not_available: "offline" device: { identifiers: ["butterfly_edfa_rack"] } # EDFA input PD = seed AFTER the external attenuators (not seed output power). - name: "Amp Input Power mW" unique_id: butterfly_edfa_rack_ampin_mw state_topic: "lab/laser/butterfly_edfa_rack/amp/input_power_dbm" value_template: "{{ (10 ** (value | float / 10)) | round(3) }}" unit_of_measurement: "mW" device_class: power state_class: measurement availability_topic: "lab/laser/butterfly_edfa_rack/availability" payload_available: "online" payload_not_available: "offline" device: { identifiers: ["butterfly_edfa_rack"] } - name: "Pre-amp Power mW" unique_id: butterfly_edfa_rack_preamp_mw state_topic: "lab/laser/butterfly_edfa_rack/amp/preamp_power_dbm" value_template: "{{ (10 ** (value | float / 10)) | round(1) }}" unit_of_measurement: "mW" device_class: power state_class: measurement availability_topic: "lab/laser/butterfly_edfa_rack/availability" payload_available: "online" payload_not_available: "offline" device: { identifiers: ["butterfly_edfa_rack"] } # YAML-mode dashboard registration. Points at ui-lovelace-butterfly.yaml, which # must sit next to configuration.yaml in HA's /config directory. lovelace: mode: storage dashboards: butterfly-rack: mode: yaml title: Butterfly EDFA Rack icon: mdi:laser-pointer show_in_sidebar: true filename: ui-lovelace-butterfly.yaml