[KW 29 / 25] : Was habt ihr diese Woche im Smart Home geplant / umgesetzt?

Anschlussschema ist eigentlich schon im Video und auch den Code

Interessanter ist das Auslesen und zusammensetzen des „data“ Code, ist aber auch gut beschrieben im Video

Und die Reichweite und Positionierung des Senders => hat mich heute etwas beschĂ€ftigt und habe dann gerade noch einen „Diymore PCB0100 2 Kanal Infrarot Sender Modul IR Sender“

ESPHome Code grob:

esphome:
  name: esp32c3-19
  friendly_name: ESP32C3-19

esp32:
  board: esp32-c3-devkitm-1
  framework:
    type: esp-idf

# Enable logging
logger:

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

ota:
  - platform: esphome
    password: "xxx0815xxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32C3-19 Fallback Hotspot"
    password: "xxx0815xxx"

captive_portal:

binary_sensor:
  - platform: status
    name: "Status"

button:
  - platform: restart
    name: "restart"

  - platform: template
    name: 0 Pronto Code Deckenventilator
    on_press:
      - remote_transmitter.transmit_pronto:
          data: "0000 006D 000D 0000 0015 000C 0024 001C 0014 001C 0014 001C 0014 001C 0014 001C 0014 001C 0014 001C 0014 001C 0014 001C 0014 000C 0024 001C 0014 0180 0000 006D 000D 0000 0015 000C 0024 001C 0014 001C 0014 001C 0014 001C 0014 001C 0014 001C 0014 001C 0014 001C 0014 001C 0014 000C 0024 001C 0014 0180 0000 006D 000D 0000 0015 000B 0025 001C 0014 001C 0014 001C 0014 001C 0014 001C 0013 001D 0013 001D 0014 001C 0014 001C 0014 000C 0024 001C 0014 0180 0000 006D 000D 0000 0014 000D 0023 001D 0014 001C 0013 001D 0013 001D 0013 001D 0013 001D 0013 001D 0013 001D 0013 001D 0013 000D 0023 001D 0013 0180 0000 006D 000D 0000 0014 000D 0023 001D 0013 001D 0013 001D 0013 001D 0013 001D 0013 001D 0013 001D 0013 001D 0014 001C 0014 000C 0024 001C 0014 0180 0000 006D 000D 0000 0015 000C 0024 001C 0014 001C 0014 001C 0013 001D 0013 001D 0012 001D 0012 001E 0012 001D 0012 001E 0012 000D 0023 001E 0012 0180 0000 006D 000D 0000 0014 000D 0023 001D 0013 001E 0010 001F 0014 001C 0014 001C 0013 001D 0012 001F 0013 001C 0011 0020 0013 000C 0023 001E 0011 0180"
          repeat:
            times: 20
            wait_time: 0s

  - platform: template
    name: 1 Pronto Code Deckenventilator
    on_press:
      - remote_transmitter.transmit_pronto:
          data: "0000 006D 000D 0000 0013 000E 0023 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 000D 0023 001E 0012 001E 0012 001E 0012 0181 0000 006D 000D 0000 0013 000D 0023 001E 0012 001E 0012 001E 0012 001E 0011 001F 0011 001F 0012 001E 0012 000E 0022 001E 0012 001E 0012 001E 0012 0181 0000 006D 000D 0000 0013 000E 0022 001F 0011 001E 0012 001E 0011 001F 0011 001F 0011 001F 0012 001E 0011 000E 0022 001F 0011 001F 0011 001F 0012 0181 0000 006D 000D 0000 0012 000E 0022 001F 0011 001E 0011 001F 0011 001E 0011 001E 0011 001E 0011 001F 0011 000E 0022 001E 0011 001E 0011 001E 0011 0181 0000 006D 000D 0000 0012 000E 0022 001F 0011 001F 0011 001E 0011 001E 0011 001E 0011 001F 0011 001F 0011 000E 0022 001F 0012 001E 0011 001F 0011 0181 0000 006D 000D 0000 0012 000E 0022 001F 0011 001F 0011 001F 0011 001F 0011 001F 0011 001E 0011 001F 0011 000E 0022 001F 0011 001F 0012 001E 0012 0181 0000 006D 000D 0000 0013 000D 0022 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 000F 0021 001E 0012 001F 0011 001F 0011 0181 0000 006D 000D 0000 0013 000F 0022 001E 0012 001F 0011 001E 0012 001E 0012 001E 0010 0021 0011 001E 000F 0010 0022 001E 0010 001F 0011 001F 0010 0181 0000 006D 000D 0000 0011 000F 0021 001F 0010 0020 0010 0020 0010 0020 0010 001F 0010 0020 000F 0021 000F 0010 0020 0021 000F 0021 000F 0021 000F 0181 0000 006D 000D 0000 000F 0010 001F 0021 000F 0021 000F 0021 000F 0021 000F 0021 000F 0022 000E 0022 000E 0011 001E 0022 000D 0023 000E 0022 000E 0181 0000 006D 000D 0000 000F 0012 001E 0022 000E 0022 000E 0022 000D 0023 000D 0023 000D 0023 000D 0023 000E 0012 001D 0024 000C 0024 000C 0024 000C 0181 0000 006D 000D 0000 000D 0014 001C 0024 000C 0024 000C 0024 000C 0024 000C 0024 000C 0024 000C 0024 000C 0014 001C 0024 000C 0024 000C 0024 000C 0181 0000 006D 000D 0000 000C 0015 001B 0025 000B 0025 000B 0025 000B 0025 000B 0025 000B 0025 000B 0025 000B 0015 001B 0025 000B 0025 000B 0025 000B 0181 0000 006D 000D 0000 000C 0015 001B 0025 000B 0026 000A 0026 000A 0026 000A 0026 000A 0026 000A 0026 000A 0016 001A 0026 000A 0026 000A 0026 000A 0181 0000 006D 000D 0000 000A 0017 0019 0027 0009 0027 0009 0028 0008 0028 0008 0028 0008 0028 0008 0028 0008 0018 0018 0028 0008 0028 0008 0029 0007 0181"
          repeat:
            times: 20
            wait_time: 0s

  - platform: template
    name: 2 Pronto Code Deckenventilator
    on_press:
      - remote_transmitter.transmit_pronto:
          data: "0000 006D 000D 0000 0013 000E 0023 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 000D 0022 001E 0012 001E 0012 001E 0012 001E 0012 0181 0000 006D 000D 0000 0013 000D 0023 001E 0011 001F 0012 001E 0012 001E 0012 001E 0012 001E 0012 000D 0023 001E 0012 001E 0012 001E 0012 001E 0012 0181 0000 006D 000D 0000 0013 000D 0023 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 000D 0023 001E 0012 001E 0012 001E 0012 001E 0012 0181 0000 006D 000D 0000 0013 000D 0022 001F 0012 001E 0011 001F 0012 001E 0012 001E 0012 001E 0012 000D 0022 001F 0012 001E 0011 001F 0012 001E 0012 0181 0000 006D 000D 0000 0012 000E 0022 001F 0011 001F 0011 001F 0011 001F 0012 001E 0012 001E 0011 000E 0022 001F 0011 001F 0011 001F 0011 001F 0011 0181 0000 006D 000D 0000 0012 000F 0022 001F 0011 001F 0011 001F 0011 001F 0011 001F 0011 001F 0011 000E 0022 001F 0011 001F 0011 001F 0011 001F 0011 0181 0000 006D 000D 0000 0012 000E 0022 001F 0011 001F 0011 001F 0011 001F 0012 001E 0012 001E 0012 000E 0022 001E 0012 001E 0012 001E 0012 001E 0012 0181 0000 006D 000D 0000 0013 000F 0021 001F 0011 001F 0011 001F 0011 001F 0011 001F 0011 001F 0011 000F 0020 001F 0012 001F 0010 001F 0013 001D 0012 0181 0000 006D 000D 0000 0013 000E 0021 0020 0011 001E 0011 001F 0011 001F 0011 001F 0011 001F 0011 000F 0021 001F 0011 001F 0011 001F 0010 0020 0011 0181"
          repeat:
            times: 20
            wait_time: 0s

  - platform: template
    name: 3 Pronto Code Deckenventilator
    on_press:
      - remote_transmitter.transmit_pronto:
          data: "0000 006D 000D 0000 0013 000D 0022 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 000D 0022 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 0181 0000 006D 000D 0000 0013 000D 0023 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 000D 0023 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 0181 0000 006D 000D 0000 0013 000D 0023 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 000D 0023 001E 0012 001E 0012 001E 0013 001D 0012 001E 0012 0181 0000 006D 000D 0000 0013 000E 0022 001F 0012 001E 0012 001E 0012 001E 0012 001E 0012 000D 0022 001F 0011 001F 0012 001E 0011 001F 0011 001F 0011 0181 0000 006D 000D 0000 0012 000E 0022 001F 0011 001F 0011 001F 0011 001F 0011 001F 0011 000E 0022 001F 0011 001F 0011 001F 0011 001F 0011 001F 0011 0181 0000 006D 000D 0000 0013 000E 0022 001E 0012 001E 0012 001E 0012 001E 0012 001E 0012 000F 0021 001E 0012 001F 0011 001F 0011 001F 0011 001F 0011 0181 0000 006D 000D 0000 0013 000D 0022 001E 0012 001F 0011 001E 0013 001D 0013 001D 0013 000D 0022 001E 0012 001F 0011 001E 0012 001E 0012 001E 0012 0181 0000 006D 000D 0000 0011 000F 0021 001F 0010 0020 0010 0020 0010 0020 0010 0020 0010 000F 0021 0020 0010 0020 0010 0020 0010 0020 0010 0021 000E 0181 0000 006D 000D 0000 0011 0010 0022 001E 000F 0022 0011 001E 0011 001F 0012 001E 0011 000F 0022 001E 0010 001F 0010 001F 0011 001F 0011 001F 0011 0181"
          repeat:
            times: 20
            wait_time: 0s

# Sender
remote_transmitter:
  pin: GPIO04
#  carrier_duty_percent: 50% #IR-LEDs diese funktioniert am Denon
#  carrier_duty_percent: 100% #HF-Anwendungen wie 433-MHz-Sender der Deckenventilator UC7130T hat 433,92 MHz
  carrier_duty_percent: 50%


# EmpfÀnger IR-Receiver
remote_receiver:
  pin:
    number: GPIO03
    inverted: false
    mode:
      input: true
      pullup: false
#  dump: all
#  dump: raw
  dump: pronto

Danke dir fĂŒr deine ausfĂŒhrliche Antwort. Da werde ich mich noch intensiv einarbeiten mĂŒssen.
Ich werde mir mal die Bauteile besorgen und einfach anfangen.

Gruß
Martin

MartyBr hatte doch nach dem Sensor SCD41 Gassensormodul I2C gefragt. :thinking:

Ja, wenn du das so schreibst :grinning:

die „Antwort“ von MartyBr ist ja Chronologisch in den BeitrĂ€gen und man sieht ja gut das es an mich ging :v:
wuste aber nich auf welchen, das kannte ich garnicht

Sensor SCD41 Gassensormodul I2C:
der ist unspektakulĂ€r, als kleine Besonderheit baue ich immer die Möglichkeit eines Offset fĂŒr Hym und Temp ein, sowie Dewpoint und abs Hym als berechnete Sensoren

hÀngt ja eh gerade hier drann:


(I2C meist SDA auf SDL und umgekehrt, so ist es hier auch)

Rest Code von oben

i2c:
  sda: GPIO07
  scl: GPIO06
  scan: true
  id: bus_a

sensor:
  - platform: scd4x
#    temperature_offset: 4
    co2:
      name: "SCD41 CO2"
      filters:
        - offset: 0.00 # offset noch ermitteln  
    temperature:
      name: "SCD41 Temperature"
      id: scd41_temp
      accuracy_decimals: 2
      filters:
        - round: 2 # will round to 2 decimal place
        - offset: -1.50 # offset noch ermitteln  
    humidity:
      name: "SCD41 Humidity"
      id: scd41_hum
      accuracy_decimals: 2
      filters:
        - round: 2 # will round to 2 decimal place
        - offset: 0.00 # offset noch ermitteln  
    update_interval: 10s

  - platform: absolute_humidity
    name: "SCD41 Absolute Humidity"
    temperature: scd41_temp
    humidity: scd41_hum

  - platform: template
    name: "SCD41 Dewpoint"
    lambda: |-
      return (243.5*(log(id(scd41_hum).state/100)+((17.67*id(scd41_temp).state)/
      (243.5+id(scd41_temp).state)))/(17.67-log(id(scd41_hum).state/100)-
      ((17.67*id(scd41_temp).state)/(243.5+id(scd41_temp).state))));
    unit_of_measurement: °C
    update_interval: 30s # 60s ist default

ich verwende auch gerne dieses „Expansion Board“ fĂŒr den mini C3/C6


hat zwar eine Reihe Pinleisten zu viel, wird halt nicht verwendet und die mini C3/C6 werden oben eingesteckt (21 und 0 bleiben frei!)

in meinem Beispiel sehr schön mit 3x 5V sowie 3x GND

1 „GefĂ€llt mir“

Ein Projekt ist leider etwas Gescheitert :wink:
aber ich habe viel gelernt :v:
Leistungs-Ampel mit 2x 10 WLED fĂŒr 100er und 10er Stellen der Watt alles intern im ESP (bis auf eine abfrage eines Sensors von HA)

Da fĂŒr jede VerĂ€nderung der ZustĂ€nde (der 20 adressierbaren LED) mĂŒssen auch alle On/Off gesetzt werden

also so einen Block:

  - platform: template
    id: n_zehner_1
    lambda: |-
      if (id(bitshake_10er).state == 1 && id(bitshake).state > 0)  {
        return {1};
      } else {
        return {0};
      }
    internal: true
    on_press:
      then:
        - light.turn_on:
            id: PL01_rmt_1
            effect: "Effect Rot"
        - light.turn_off:
            id: PL02_rmt_1
        - light.turn_off:
            id: PL03_rmt_1
        - light.turn_off:
            id: PL04_rmt_1
        - light.turn_off:
            id: PL05_rmt_1
        - light.turn_off:
            id: PL06_rmt_1
        - light.turn_off:
            id: PL07_rmt_1
        - light.turn_off:
            id: PL08_rmt_1
        - light.turn_off:
            id: PL09_rmt_1
        - light.turn_off:
            id: PL10_rmt_1

das fĂŒhrt dazu das der Code 3713 Zeilen lang geworden ist :stuck_out_tongue_winking_eye:

Das mögen die ESP`s wohl nicht

  • C6 mag zwei WLED noch nicht
  • C3 verweigert das starten bei ca. 2500 Zeilen
  • normaler ESP32 (entwicklungs board) verweigert das starten bei ca. 2500 Zeilen

neuster im Bunde

  • ESP32-S3-WROOM-1 n16r8
    nimmt den Code, stĂŒrzt dann aber irgendwann ab und das flashen geht nicht Wireless, also nur ĂŒber USB Kabel

Der heiß ersehnte Glasfaser-Anschluss ist nun endlich aktiviert.
Daran habe ich, ĂŒber ein Fiber-Modem, eine neue Fritz!Box 5690 pro angeschlossen.In Verbindung mit 4 im Haus verteilten Mesh-Repeatern klappt das bisher sehr gut.
Es waren nur wenig Eingriffe nötig, um Home Assistant mit allen Funktionen Automationen Sensoren und Aktoren zum Laufen zu bringen.
Aaaaaber - Der Alexa Media Player :sob:
Mit der neuen Fritz!Box passte die Authentifizierung nicht mehr.
Eigentlich ganz einfach - Integration entfernen - neu installieren und gut ist. Dem war aber nicht so. Der Amazon Server hat sich wehement dagegen gewehrt.
Mal stimmte der 2FA-Code nicht, mal gab es Server Error 500. Erst nach Deaktivierung von 2FA hat es dann geklappt.

1 „GefĂ€llt mir“

Du weißt aber, dass der 2FA-Code nicht unter HA eingegeben wird, da das immer fehlschlĂ€gt. Man wird ja dann zu Amazon weitergeleitet und erst dort gibt man den Code ein. So klappt es zumindest bei mir prima.
Bei mir hat das Update auf AMP 5.7.4 nix gebracht. Alle GerÀte werden danach nicht mehr angezeigt und ich bin wieder auf 5.7.3.

3 „GefĂ€llt mir“

Das wusste ich nicht.

Aber zurzeit funktioniert mit AMP 5.7.4 unter Core 2025.7.2 alles einwandfrei.

Bei mir lÀuft jetzt auch alles wieder, aber erst nachdem ich diesen Patch in die entsprechende Datei eingepflegt hatte.
Doch leider klappt „notify.alexa_media_last_called“ immer noch nicht.

Ich bin noch in meiner Findungsphase zum Thema „IR-Fernbedienungen Deckenventilator“ mit der Statusabfrage bzw. Leistungsmessung :nerd_face:

Der Befehl geschieht ĂŒber einen Button in HA (Aus/Stufe1/Stufe2/Stufe3)
Frage ist jetzt aber wie zuverlÀssig das ist, habe das ja gemerkt bei der Positionierung des Sensors.

Mögliche Varianten die mir so einfallen:

    1. einen NOUS A8T Plug in der Zuleitung (habe ich auch gerade fĂŒr die Leistungserfassung)
      Die Leistungsmessung sowie Zustandsvisualisierung wĂ€re ja dann zuverlĂ€ssig ĂŒber die Leistungsaufnahme des A8T
      Nachteil: wÀre ein weiteres GerÀt sowie der zusÀtzliche Stromverbrauch
    1. einen „pzemac“ Sensor zusĂ€tzlich im ESP installieren (PZEM004T) den hĂ€tte ich auch noch hier und wĂŒrde auch noch an den ESP32C3 passen
      Status und LeistungsĂŒberwachung ist ja dann auch kein Problem mehr und alles ist zentral im ESP
      Nachteil: ist natĂŒrlich etwas Aufwand um den current transformer (CT) in der Zuleitung zu installieren (ist aber bei mir technisch möglich)
  • 2.1 zusĂ€tzliche noch ein Relais am ESP um die Stromzufuhr zum Deckenventilator zu unterbrechen => spart ca. 1W an Standby

    1. einfach stur ĂŒber einen zusĂ€tzlichen Sensor in HA den Zustand der Button als Trigger verwenden um den Zustand auszugeben und mit einem zweiten Sensor in HA dann stur die Leistung setzen und dann noch einen Energy Sensor erstellen fĂŒr das Energie Dashboard
      Nachteile: wenn ein Befehl nicht ankommt beim Deckenventilator stimmt nichts mehr und wenn jemand die eigene Fernbedienung verwendet natĂŒrlich auch
      Auch ziemlich viel Aufwand fĂŒr die Sensoren, z.B. Stufe 2 wird noch einmal gesendet

Was wĂŒrdet ihr machen?

Deckenventilator Leistungsdaten:

Mein Dreame L10 ultra hat Anfang der Woche seinen Geist aufgegeben. Er ist immer nur noch 5 Meter gefahren und dann ausgegangen. Der ist jetzt gerade mal 1 1/2 Jahre alt und die Batterie ist down. Das ist schon traurig, aber kannte ich auch schon von meinem dreame F9. Naja jedenfalls neuen Akku nachbestellt und eingebaut, jetzt lÀuft er wieder.

Der Austausch an sich ist schnell gemacht, Stecker ziehen neuen Akku rein und Deckel wieder verschrauben. Schaut mal auf den alten Akku, entweder der ist von 2022 oder 2018. Das wÀre jedenfalls beides ein Ding, weil der Sauger erst im Dezember 2023 gekauft wurde und in 2022 gab es den noch nicht einmal.

3 „GefĂ€llt mir“

Zum GlĂŒck kann man den Akku austauschen :slight_smile: Das ist ja auch nicht selbstverstĂ€ndlich bei vielen GerĂ€ten..

1 „GefĂ€llt mir“

Gehen die wirklich so schnell drauf? Ich war ja schon genervt als ich bei meinem alten Xiaomi Robot Vacuum Mop Pro von 2020 in 2024 den Akku tauschen musste, weil er nicht mehr die ganze Wohnung auf Turbo geschafft hat, nur noch auf Medium. Nach 1 1/2 Jahren gar nicht mehr fahren können ist schon krass im Vergleich.

@olex bei meinem dreame F9 hat es zwei Jahre gedauert, bis der Akku tot war. Hatte leider nicht geschaut, von wann der war. Auf jeden Fall ist es jetzt das zweite GerĂ€t von Dreame bei dem mir das auffĂ€llt. Leider ist die Navigation fĂŒr mich immer noch ungeschlagen. Die Akku sind letztlich teuere Teile in so einem Roboter und wenn man dort Ă€ltere/gĂŒnstigere Akku verwenden kann, ist das wahres Geld. Gerade auf die Masse gerechnet, rechnen sich da ein paar Cent schon.

Habe noch einen dritten L10 Pro, der lĂ€uft bisher gut und der mĂŒsste etwas ĂŒber zwei Jahre alt sein. Also ganz pauschal kann man es anscheinend auch nicht sehen.

@MarzyHA Ja zum GlĂŒck, sicherlich auch ein Grund, warum sie das so leicht zu gĂ€nglich machen und der Akku einfach per Stecker getauscht werden kann. :wink:

erst einmal Variante 1 mit NOUS A8T Plug zum Testen

  • 1 Template fĂŒr einen BinĂ€rsensor
{{states('sensor.nous_a8t_01_power')| float(0) > 5}}
  • 2 Template Sensor
{% set a8t = (states('sensor.nous_a8t_01_power')| float(0)) %}
{% if a8t < 5 %}
Stufe 0
{% elif a8t >= 5 and a8t <= 26 %}
Stufe 1
{% elif a8t > 26 and a8t <= 36 %}
Stufe 2
{% elif a8t > 36 and a8t <= 50 %}
Stufe 3
{% else %}
unbekannt
{% endif %}

Jetzt wird erst einmal die ZuverlÀssigkeit des IR Sensors ermittelt :v:

Ich habe einen Àhnlich non-smarten Ventilator per fan template recht gut in HA integriert

NĂ€chste Woche kann ich da gerne noch mehr Infos dazu geben

1 „GefĂ€llt mir“

Deinen Beitrag hatte ich gelesen, natĂŒrlich schon wieder verdrĂ€ngt :hugs:

Hast du mal deinen Code fĂŒr die Fan Card? Sieht schon nett aus

Bei mir gibs bei dem „alten Deckenventilator“ aber nur diese 4 verwendbare Tasten (Licht ist nicht installiert)

Daher lohnt der Aufwand eigentlich nicht, Schieberegler eigentlich auch nicht

Komme im Moment nicht an den Code, melde mich aber aber bald damit