From bdd4f09df2e08608422306771dde7483cbe413c2 Mon Sep 17 00:00:00 2001 From: bes-r Date: Sat, 6 Jun 2026 21:32:08 +0200 Subject: [PATCH] 1PM-mini-gen4/detached-script.js verwijderen --- 1PM-mini-gen4/detached-script.js | 326 ------------------------------- 1 file changed, 326 deletions(-) delete mode 100644 1PM-mini-gen4/detached-script.js diff --git a/1PM-mini-gen4/detached-script.js b/1PM-mini-gen4/detached-script.js deleted file mode 100644 index 2627983..0000000 --- a/1PM-mini-gen4/detached-script.js +++ /dev/null @@ -1,326 +0,0 @@ -# ============================================================ -# ESPHome - Shelly 1PM Mini Gen4 -# Gira System 55 aan-uit schakelaar -# ============================================================ -# -# Schakelmodi: -# - Detached: Schakelaar stuurt events naar HA, relay wordt -# door HA-automations aangestuurd. -# - Toggle: Elke schakelactie togglet de lamp. -# - Volgen: Schakelaarstand = lampstatus (aan/uit). -# -# Fallback: -# Wanneer er GEEN verbinding is met Home Assistant (geen WiFi -# of API), valt de schakelaar automatisch terug op Toggle-modus -# zodat de lamp altijd lokaal bedienbaar blijft. -# -# ============================================================ -# PINOUT Shelly 1PM Mini Gen4 (ESP32-C3) -# ============================================================ -# GPIO3 - Relay -# GPIO10 - Switch input (wandschakelaar) -# GPIO4 - Deviceknop (op de Shelly zelf) -# GPIO0 - Status LED -# GPIO6 - UART TX (BL0942 energiemeting) -# GPIO7 - UART RX (BL0942 energiemeting) -# -# Controleer altijd de pinout voor jouw hardwareversie! -# ============================================================ - -substitutions: - device_name: "shelly-1pm-mini-gen4" - friendly_name: "Shelly 1PM Mini Gen4" - # Pas onderstaande aan per kamer/locatie: - light_name: "Lamp" - -esphome: - name: ${device_name} - friendly_name: ${friendly_name} - -esp32: - board: esp32-c3-devkitm-1 - framework: - type: esp-idf - -# ------------------------------------------------------------ -# Logging -# ------------------------------------------------------------ -logger: - baud_rate: 0 # Disable UART logging (UART wordt gebruikt voor BL0942) - -# ------------------------------------------------------------ -# WiFi -# ------------------------------------------------------------ -wifi: - ssid: !secret wifi_ssid - password: !secret wifi_password - - # Fallback Access Point als WiFi wegvalt - ap: - ssid: "${friendly_name} AP" - password: !secret ap_password - - # Sneller reconnecten - fast_connect: true - power_save_mode: LIGHT - -# Captive portal voor fallback AP -captive_portal: - -# ------------------------------------------------------------ -# Home Assistant API -# ------------------------------------------------------------ -api: - encryption: - key: !secret api_key - -# ------------------------------------------------------------ -# OTA Updates -# ------------------------------------------------------------ -ota: - - platform: esphome - password: !secret ota_password - -# ------------------------------------------------------------ -# Webserver (optioneel, handig voor debugging) -# ------------------------------------------------------------ -web_server: - port: 80 - -# ------------------------------------------------------------ -# Globale variabelen -# ------------------------------------------------------------ -globals: - # Schakelmodus: 0 = Detached, 1 = Toggle, 2 = Volgen - - id: switch_mode - type: int - restore_value: yes - initial_value: "0" - -# ------------------------------------------------------------ -# Relay output -# ------------------------------------------------------------ -output: - - platform: gpio - id: relay_output - pin: GPIO3 - -# ------------------------------------------------------------ -# Lamp (als Light-entity voor volledige HA-integratie) -# ------------------------------------------------------------ -light: - - platform: binary - id: lamp - name: "${light_name}" - output: relay_output - restore_mode: RESTORE_DEFAULT_OFF - -# ------------------------------------------------------------ -# Wandschakelaar (Gira System 55 aan-uit schakelaar) -# ------------------------------------------------------------ -# Een aan-uit schakelaar heeft twee stabiele standen. -# Bij elke standswijziging (hoog→laag of laag→hoog) wordt -# een actie getriggerd. We gebruiken on_state zodat BEIDE -# overgangen als schakelmoment werken. -# ------------------------------------------------------------ -binary_sensor: - - platform: gpio - id: wall_switch - name: "${light_name} Schakelaar" - pin: - number: GPIO10 - mode: - input: true - pullup: true - inverted: true - filters: - - delayed_on: 30ms - - delayed_off: 30ms - on_state: - then: - - lambda: |- - // ----------------------------------------------- - // FALLBACK: Geen API-verbinding → altijd Toggle - // ----------------------------------------------- - if (!id(ha_connected).state) { - auto call = id(lamp).toggle(); - call.perform(); - ESP_LOGD("switch", "Geen HA-verbinding → fallback toggle"); - return; - } - - // ----------------------------------------------- - // DETACHED (modus 0) - // ----------------------------------------------- - if (id(switch_mode) == 0) { - // Stuur event naar HA; HA bepaalt wat er gebeurt - // De schakelaarstand wordt als binary_sensor zichtbaar - ESP_LOGD("switch", "Detached → event naar HA"); - return; - } - - // ----------------------------------------------- - // TOGGLE (modus 1) - // ----------------------------------------------- - if (id(switch_mode) == 1) { - auto call = id(lamp).toggle(); - call.perform(); - ESP_LOGD("switch", "Toggle → lamp omgeschakeld"); - return; - } - - // ----------------------------------------------- - // VOLGEN (modus 2) - // ----------------------------------------------- - if (id(switch_mode) == 2) { - if (x) { - auto call = id(lamp).turn_on(); - call.perform(); - } else { - auto call = id(lamp).turn_off(); - call.perform(); - } - ESP_LOGD("switch", "Volgen → lamp volgt schakelaar"); - return; - } - - # Knop op de Shelly zelf - - platform: gpio - id: device_button - name: "${light_name} Knop" - pin: - number: GPIO4 - mode: - input: true - pullup: true - inverted: true - filters: - - delayed_on: 30ms - - delayed_off: 30ms - on_press: - then: - - light.toggle: lamp - - # HA-verbindingsstatus (voor fallback-logica) - - platform: status - id: ha_connected - name: "${friendly_name} Status" - internal: true - -# ------------------------------------------------------------ -# Schakelmodus selector (instelbaar vanuit HA) -# ------------------------------------------------------------ -select: - - platform: template - id: switch_mode_select - name: "${light_name} Schakelmodus" - icon: "mdi:light-switch" - options: - - "Detached" - - "Toggle" - - "Volgen" - initial_option: "Detached" - optimistic: true - restore_value: true - set_action: - - lambda: |- - if (x == "Detached") { - id(switch_mode) = 0; - ESP_LOGI("mode", "Schakelmodus → Detached"); - } else if (x == "Toggle") { - id(switch_mode) = 1; - ESP_LOGI("mode", "Schakelmodus → Toggle"); - } else if (x == "Volgen") { - id(switch_mode) = 2; - ESP_LOGI("mode", "Schakelmodus → Volgen"); - } - -# ------------------------------------------------------------ -# UART voor BL0942 energiemeting -# ------------------------------------------------------------ -uart: - tx_pin: GPIO6 - rx_pin: GPIO7 - baud_rate: 9600 - -# ------------------------------------------------------------ -# Energiemeting (BL0942) -# ------------------------------------------------------------ -sensor: - - platform: bl0942 - voltage: - name: "${light_name} Spanning" - unit_of_measurement: "V" - accuracy_decimals: 1 - filters: - - sliding_window_moving_average: - window_size: 5 - send_every: 5 - current: - name: "${light_name} Stroom" - unit_of_measurement: "A" - accuracy_decimals: 3 - filters: - - sliding_window_moving_average: - window_size: 5 - send_every: 5 - power: - name: "${light_name} Vermogen" - unit_of_measurement: "W" - accuracy_decimals: 1 - filters: - - sliding_window_moving_average: - window_size: 5 - send_every: 5 - energy: - name: "${light_name} Energie" - unit_of_measurement: "kWh" - accuracy_decimals: 3 - frequency: - name: "${light_name} Frequentie" - unit_of_measurement: "Hz" - accuracy_decimals: 1 - update_interval: 10s - - # WiFi signaalsterkte - - platform: wifi_signal - name: "${friendly_name} WiFi Signaal" - update_interval: 60s - - # Uptime - - platform: uptime - name: "${friendly_name} Uptime" - update_interval: 300s - -# ------------------------------------------------------------ -# Status LED -# ------------------------------------------------------------ -status_led: - pin: - number: GPIO0 - inverted: true - -# ------------------------------------------------------------ -# Diagnostische tekst-sensoren -# ------------------------------------------------------------ -text_sensor: - - platform: wifi_info - ip_address: - name: "${friendly_name} IP" - ssid: - name: "${friendly_name} SSID" - - - platform: version - name: "${friendly_name} ESPHome Versie" - -# ------------------------------------------------------------ -# Restart-knop vanuit HA -# ------------------------------------------------------------ -button: - - platform: restart - name: "${friendly_name} Herstart" - icon: "mdi:restart" - - - platform: safe_mode - name: "${friendly_name} Safe Mode" - icon: "mdi:shield-bug" \ No newline at end of file