2
0

3 Incheckningar 1b56094afa ... c6fd56561b

Upphovsman SHA1 Meddelande Datum
  Patryk M. Gutowski c6fd56561b esphome relay 6ch 10 månader sedan
  Patryk M. Gutowski 8959289041 new esphome config style 10 månader sedan
  Patryk M. Gutowski 7b347ba3c7 Added LSC Plug 03 1 år sedan
3 ändrade filer med 414 tillägg och 1 borttagningar
  1. 2 1
      bath_basic.yaml
  2. 172 0
      bl-relay6-01.yaml
  3. 240 0
      lscp03.yaml

+ 2 - 1
bath_basic.yaml

@@ -12,7 +12,8 @@ packages:
 # Basic Config
 esphome:
   name: $devicename
-  platform: ESP8266
+
+esp8266:
   board: esp8285
 
 web_server:

+ 172 - 0
bl-relay6-01.yaml

@@ -0,0 +1,172 @@
+substitutions:
+  devicename: bl-relay6-01
+  low_devicenaeme: bl-relay6-01
+  friendly_name: Waveshare Relay Board Garaz Podlewanie
+  area: "Garage"
+
+esphome:
+  name: ${devicename}
+  friendly_name: ${friendly_name}
+  area: ${area}
+  # name_add_mac_suffix: true
+  # project:
+  #   name: waveshare.esp32-s3-relay-6ch
+  #   version: 1.0.0
+
+esp32:
+  board: esp32-s3-devkitc-1
+  framework:
+    type: arduino
+
+# Enable Home Assistant API
+api:
+  services:
+    - service: play_rtttl
+      variables:
+        song_str: string
+      then:
+        - rtttl.play:
+            rtttl: !lambda "return song_str;"
+
+packages:
+  # Enable Home Assistant API
+  esphome: !include common/keys.yaml
+
+# Enable logging
+logger:
+
+wifi:
+  ssid: !secret iot_ssid
+  password: !secret iot_password
+  domain: .int.mmax.cloud
+
+web_server:
+  port: 80
+
+time:
+  - platform: homeassistant
+    id: homeassistant_time
+
+binary_sensor:
+  - platform: status
+    name: "Status"
+
+  - platform: gpio
+    name: "Boot Button"
+    pin:
+      number: 0
+      ignore_strapping_warning: true
+      mode:
+        input: true
+      inverted: true
+    disabled_by_default: true
+    on_press:
+      then:
+        - button.press: restart_button
+
+text_sensor:
+  - platform: version
+    name: "Firmware Version"
+  - platform: wifi_info
+    ip_address:
+      name: "IP Address"
+      entity_category: diagnostic
+    ssid:
+      name: "Connected SSID"
+      entity_category: diagnostic
+    mac_address:
+      name: "Mac Address"
+      entity_category: diagnostic
+
+switch:
+  - platform: gpio
+    pin: GPIO1
+    id: relay1
+    name: Relay 1
+    restore_mode: RESTORE_DEFAULT_OFF
+  - platform: gpio
+    pin: GPIO2
+    id: relay2
+    name: Relay 2
+    restore_mode: RESTORE_DEFAULT_OFF
+  - platform: gpio
+    pin: GPIO41
+    id: relay3
+    name: Relay 3
+    restore_mode: RESTORE_DEFAULT_OFF
+  - platform: gpio
+    pin: GPIO42
+    id: relay4
+    name: Relay 4
+    restore_mode: RESTORE_DEFAULT_OFF
+  - platform: gpio
+    pin:
+      number: GPIO45
+      ignore_strapping_warning: true
+    id: relay5
+    name: Relay 5
+    restore_mode: RESTORE_DEFAULT_OFF
+  - platform: gpio
+    pin:
+      number: GPIO46
+      ignore_strapping_warning: true
+    id: relay6
+    name: Relay 6
+    restore_mode: RESTORE_DEFAULT_OFF
+    
+uart:
+  tx_pin: GPIO17
+  rx_pin: GPIO18
+  baud_rate: 115200
+
+# buzzer
+output:
+  - platform: ledc
+    pin: GPIO21
+    id: buzzer
+
+rtttl:
+  output: buzzer
+  id: rtttl_buzzer
+  gain: 30%
+
+light:
+  - platform: neopixelbus
+    type: RGB
+    variant: 800KBPS
+    pin: GPIO38
+    num_leds: 1
+    name: "RGB LED"
+    id: rgb_led
+
+button:
+  - platform: restart
+    name: "Restart"
+    id: restart_button
+    entity_category: config
+
+  - platform: factory_reset
+    name: "Factory Reset"
+    id: reset
+    entity_category: config
+
+  - platform: safe_mode
+    name: "Safe Mode"
+    internal: false
+    entity_category: config
+
+sensor:
+  - platform: wifi_signal
+    name: "WiFi Signal"
+    id: wifi_signal_db
+    update_interval: 60s
+    entity_category: diagnostic
+
+  # Reports the WiFi signal strength in %
+  - platform: copy
+    source_id: wifi_signal_db
+    name: "WiFi Strength"
+    filters:
+      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
+    unit_of_measurement: "%"
+    entity_category: diagnostic

+ 240 - 0
lscp03.yaml

@@ -0,0 +1,240 @@
+# https://github.com/FlorianSoler/OpenBeken-Action-lsc-smartplug-with-monitoring-guide/tree/main?tab=readme-ov-file
+substitutions:
+  devicename: lscp03
+  low_devicename: lscp03
+  friendly_devicename: LSC Plug 03
+  update_interval_seconds: "15s"
+  
+esphome:
+  name: $devicename
+  friendly_name: $friendly_devicename
+
+bk72xx:
+  board: generic-bk7231t-qfn32-tuya
+  #framework:
+  #   version: dev
+
+packages:
+  # Enable Home Assistant API
+  esphome: !include common/keys.yaml
+
+logger:
+
+web_server:
+  port: 80
+
+wifi:
+  ssid: !secret iot_ssid
+  password: !secret iot_password
+  domain: .int.mmax.cloud
+
+
+sensor:
+  - platform: wifi_signal
+    name: "WiFi Signal Sensor"
+    update_interval: 60s
+
+  - platform: uptime
+    name: Uptime Sensor
+    id: uptime_sensor
+    update_interval: 60s
+    on_raw_value:
+      then:
+        - text_sensor.template.publish:
+            id: uptime_human
+            state: !lambda |-
+              int seconds = round(id(uptime_sensor).raw_state);
+              int days = seconds / (24 * 3600);
+              seconds = seconds % (24 * 3600);
+              int hours = seconds / 3600;
+              seconds = seconds % 3600;
+              int minutes = seconds /  60;
+              seconds = seconds % 60;
+              return (
+                (days ? to_string(days) + "d " : "") +
+                (hours ? to_string(hours) + "h " : "") +
+                (minutes ? to_string(minutes) + "m " : "") +
+                (to_string(seconds) + "s")
+              ).c_str();
+#
+# power monitoring
+#
+    # PC191HA includes a BL0937 chip for measuring power consumption
+    #     and BL0937 is a variation of hlw8012, but using inverted SEL pin functionality
+  - platform: hlw8012
+    model: BL0937     # note that the model must be specified to use special calculation parameters
+    sel_pin:          # I believe that cf_pin reports either Voltage or Current depending on this select pin
+      inverted: true  # determine whether true reports Voltage
+      number: P11
+    cf1_pin:
+      inverted: true 
+      number: P24
+    cf_pin: 
+      inverted: true 
+      number: P26
+    update_interval: 5s
+    change_mode_every: 4
+    # update_interval: 5s
+    # initial_mode: "VOLTAGE"
+    # change_mode_every: 4294967295
+    # Adjust according to the actual resistor values on board to calibrate the specific unit
+    # voltage_divider:  "895"               # LOWER VALUE GIVES LOWER VOLTAE
+    # current_resistor: "0.0006"          # HIGHER VALUE GIVES LOWER WATTAGE
+    voltage_divider: "795"
+    current_resistor: "0.001"
+    # how the power monitoring values are returned to ESPHome
+    voltage:
+      name: $friendly_devicename Voltage
+      id:   ${low_devicename}_voltage
+      unit_of_measurement: V
+      accuracy_decimals: 1
+      filters:
+        - skip_initial: 2
+        - sliding_window_moving_average:
+            window_size: 4
+            send_every: 2
+      on_value:
+        component.update: ${low_devicename}_apparent_power
+    power:
+      name: $friendly_devicename Power
+      id:   ${low_devicename}_power
+      unit_of_measurement: W
+      accuracy_decimals: 0
+      on_value:
+        component.update: ${low_devicename}_power_factor
+      filters:
+        # - skip_initial: 15
+        - skip_initial: 2
+        - sliding_window_moving_average:
+            window_size: 4
+            send_every: 2
+    current:
+      name: $friendly_devicename Current
+      id:   ${low_devicename}_current
+      unit_of_measurement: A
+      accuracy_decimals: 3
+      filters:
+        # - multiply: 1
+        - multiply: 0.450
+        - skip_initial: 2
+        - sliding_window_moving_average:
+            window_size: 4
+            send_every: 2
+
+    # power is simply current x voltage -- except that the pc191ha doesn't follow that formula.
+        # Setting current_resistor to give an accurate Amperage does NOT also give the correct Wattage
+        # my work-around is to calculate current from power / voltage
+        #  - platform: template  
+        #    name: $friendly_devicename Current
+        #    id:   ${low_devicename}_current
+        #    unit_of_measurement: A
+        #    accuracy_decimals: 2
+        #    update_interval: $update_interval_seconds
+        #    lambda: |-
+        #      return (id(${low_devicename}_power).state / id(${low_devicename}_voltage).state);
+        #    filters:  
+        #      - skip_initial: 5     # give time for data to settle to avoid NaN
+  - platform: total_daily_energy
+    name: $friendly_devicename daily consumption
+    id: ${low_devicename}_total_daily_energy
+    power_id: ${low_devicename}_apparent_power
+    filters: 
+      - multiply: 0.001 # to kWh
+    unit_of_measurement: kWh
+  - platform: template
+    name: "Apparent power"
+    id: ${low_devicename}_apparent_power
+    unit_of_measurement: VA
+    device_class: apparent_power
+    lambda: |-
+      return id(${low_devicename}_voltage).state * id(${low_devicename}_current).state;
+    update_interval: never
+    on_value:
+        component.update: ${low_devicename}_power_factor
+  - platform: template
+    name: "Power factor"
+    id: ${low_devicename}_power_factor
+    unit_of_measurement: ''
+    device_class: power_factor
+    lambda: |-
+      return id(${low_devicename}_power).state / id(${low_devicename}_apparent_power).state;
+    filters:
+      - clamp:
+          min_value: 0
+          max_value: 1
+    update_interval: never
+
+
+
+text_sensor:
+  - platform: template
+    name: Uptime Human Readable
+    id: uptime_human
+    icon: mdi:clock-start
+  - platform: wifi_info
+    ip_address:
+      name: IP Address
+      entity_category: diagnostic
+
+light:
+  - platform: binary
+    name: "led"
+    internal: true
+    id: led
+    output: red_led
+
+
+output:
+  - platform: gpio
+    id: red_led
+    pin:
+      number: P8
+      # inverted: true
+
+
+status_led:
+    pin:
+      number: P10
+      # inverted: true
+
+binary_sensor:
+  - platform: status
+    name: Status
+    entity_category: diagnostic
+
+  - platform: gpio
+    pin:
+      number: P7
+      mode:
+        input: true
+        pullup: true
+      inverted: true
+    id: button1
+    filters:
+      - delayed_on: 50ms
+      - delayed_off: 50ms
+    on_click:
+      - switch.toggle: outlet
+
+  - platform: status
+    name: ${friendly_devicename} status
+
+switch:
+  - platform: gpio
+    name: ${friendly_devicename} Outlet
+    id: outlet
+    pin: P6
+    icon: mdi:power-socket-eu
+    on_turn_on:
+      - light.turn_on: led
+    on_turn_off:
+      - light.turn_off: led
+    restore_mode: RESTORE_DEFAULT_OFF
+  # Switch to restart the plug
+  - platform: restart
+    name: ${friendly_devicename} Restart Switch
+
+# Enable time component to reset energy at midnight
+time:
+  - platform: homeassistant
+    id: homeassistant_time