NEWS
PushButton ESP32/ESPHome wird getriggert. Warum/Wodurch?
-
Hi
habe an einem ESP32 an GPIO39 einen Pushbutton und das Ganze per ESPHome in IOBroker eingebunden. Nun stelle ich immer wieder fest, dass Aktionen die der PushButton triggern soll ausgelöst werden obwohl niemand den PushButton gedrückt hat.Habt ihr Tips wonach ich Suchen kann?
Der GPIO39 scheint unkritisch und ist als "Input Only" zu verwenden und geht beim Reboot nicht in den High-State.
Das heute Morgen angeworfene Logging (Nur Änderung) zeigt eine Änderung des Ack Flag und um 11:37h wo auch wieder ein Trigger ausgelöst wurde:


Das Blockly triggert aber nur auf Wert=wahr, somit kann ich mir das nicht wirklich erklären:

Liegt es für Euch am Trigger oder könnte auch die Integration über ESPHome und zB Verbindungsabbrüche das Problem sein?
Besten Dank für Eure Tips!
-
@dieter_p zeigmal das programm von dem esp.. ich musste ein delay bei mir einbauen..sonst kamen fehlermeldungen
@arteck said in PushButton ESP32/ESPHome wird getriggert. Warum/Wodurch?:
@dieter_p zeigmal das programm von dem esp.. ich musste ein delay bei mir einbauen..sonst kamen fehlermeldungen
Hoffe das steckt kein Unfug bei meiner ersten Verwendung drin:
esphome: name: esp32-flur esp32: board: m5stack-core-esp32 framework: type: arduino # Enable loggin logger: # Enable Home Assistant API api: web_server: port: 80 ota: password: "xxx" wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Optional manual IP manual_ip: static_ip: 192.168.7.xxx gateway: 192.168.7.x subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esp32-Hotspot" password: "xxx" captive_portal: ## Device-specific esp32_ble_tracker: light: - platform: fastled_clockless chipset: SK6812 pin: 27 num_leds: 1 rgb_order: GRB id: status_led name: RGB LED effects: - random: - flicker: - addressable_rainbow: binary_sensor: - platform: gpio pin: number: 39 inverted: true name: Button # Presence based on MAC address - platform: ble_presence mac_address: D2:83:60:xx:xx:xx name: "BLE Beacon1 Presence" id: beacon1_presence - platform: ble_presence mac_address: F5:5D:42:xx:xx:xx name: "BLE Beacon2 Presence" id: beacon2_presence sensor: # RSSI based on MAC address - platform: ble_rssi mac_address: D2:83:60:xx:xx:xx name: "BLE Beacon1 RSSI value" id: beacon1_rssi on_value: then: - script.execute: presence_timeout # Publish 0 if no rssi received - platform: ble_rssi mac_address: F5:5D:42:xx:xx:xx name: "BLE Beacon2 RSSI value" id: beacon2_rssi on_value: then: - script.execute: presence2_timeout # Publish 0 if no rssi received script: # Publish event every 30 seconds when no rssi received - id: presence_timeout mode: restart then: - delay: 30s - lambda: |- id(beacon1_rssi).publish_state(0); id(beacon1_presence).publish_state(0); - script.execute: presence_timeout - id: presence2_timeout mode: restart then: - delay: 30s - lambda: |- id(beacon2_rssi).publish_state(0); id(beacon2_presence).publish_state(0); - script.execute: presence2_timeout -
binary_sensor: - platform: gpio pin: number: 39 inverted: true mode: INPUT_PULLUP filters: - delayed_on_off: 1000ms name: Button # Presence based on MAC address - platform: ble_presence mac_address: D2:83:60:xx:xx:xx name: "BLE Beacon1 Presence" id: beacon1_presence - platform: ble_presence mac_address: F5:5D:42:xx:xx:xx name: "BLE Beacon2 Presence" id: beacon2_presencevergiss die formatierung nicht
-
binary_sensor: - platform: gpio pin: number: 39 inverted: true mode: INPUT_PULLUP filters: - delayed_on_off: 1000ms name: Button # Presence based on MAC address - platform: ble_presence mac_address: D2:83:60:xx:xx:xx name: "BLE Beacon1 Presence" id: beacon1_presence - platform: ble_presence mac_address: F5:5D:42:xx:xx:xx name: "BLE Beacon2 Presence" id: beacon2_presencevergiss die formatierung nicht
@arteck said in PushButton ESP32/ESPHome wird getriggert. Warum/Wodurch?:
binary_sensor: - platform: gpio pin: number: 39 inverted: true mode: INPUT_PULLUP filters: - delayed_on_off: 1000ms name: Button # Presence based on MAC address - platform: ble_presence mac_address: D2:83:60:xx:xx:xx name: "BLE Beacon1 Presence" id: beacon1_presence - platform: ble_presence mac_address: F5:5D:42:xx:xx:xx name: "BLE Beacon2 Presence" id: beacon2_presenceDanke. Probiere es mal.
vergiss die formatierung nicht
In der Tat ist mir das noch nicht eindeutig klar wie was zu formattieren ist und auch welche Reihenfolge springt ziemlich.....
-
binary_sensor: - platform: gpio pin: number: 39 inverted: true mode: INPUT_PULLUP filters: - delayed_on_off: 1000ms name: Button # Presence based on MAC address - platform: ble_presence mac_address: D2:83:60:xx:xx:xx name: "BLE Beacon1 Presence" id: beacon1_presence - platform: ble_presence mac_address: F5:5D:42:xx:xx:xx name: "BLE Beacon2 Presence" id: beacon2_presencevergiss die formatierung nicht
@arteck
der GPIO 39 scheint den PullUp Mode nicht zu erlauben?INFO Reading configuration /opt/iobroker/iobroker-data/esphome.0/esp32-flur.yaml... Failed config binary_sensor.gpio: [source /opt/iobroker/iobroker-data/esphome.0/esp32-flur.yaml:56] platform: gpio pin: [source /opt/iobroker/iobroker-data/esphome.0/esp32-flur.yaml:58] number: 39 inverted: True GPIO39 (34-39) does not support pullups. mode: INPUT_PULLUP [source /opt/iobroker/iobroker-data/esphome.0/esp32-flur.yaml:60] filters: - delayed_on_off: 1000ms name: Button -
@arteck
der GPIO 39 scheint den PullUp Mode nicht zu erlauben?INFO Reading configuration /opt/iobroker/iobroker-data/esphome.0/esp32-flur.yaml... Failed config binary_sensor.gpio: [source /opt/iobroker/iobroker-data/esphome.0/esp32-flur.yaml:56] platform: gpio pin: [source /opt/iobroker/iobroker-data/esphome.0/esp32-flur.yaml:58] number: 39 inverted: True GPIO39 (34-39) does not support pullups. mode: INPUT_PULLUP [source /opt/iobroker/iobroker-data/esphome.0/esp32-flur.yaml:60] filters: - delayed_on_off: 1000ms name: Button -
@arteck
Ok. hab den PullUp rausgenommen aber der delay ist noch drin.
Anderer GPIO geht leider nicht bei dem ESP:

Edit: Also wird der GPIO39 wohl per Button auf GND gezogen. Durch den fehlenden Pullup ergeben sich undefinierten Zustände ....... irgendwie kann ich es nicht ganz glauben, dass er so als Produkt verkauft wird. Die Probleme müßten ja dann alle haben, die den Button nutzen.
Auch wenn die Zustände weiterhin undefiniert auftreten, würde es etwas die Situation verbessern, wenn ich nur noch auf "Longpress" triggern würde bzw. den Button im ESP auf einen Modus "Longpress" definiere (z.B. delayed_on_off: 3000ms). Anders sehe ich keine Chance in dem Setup, oder?

-
@arteck
Ok. hab den PullUp rausgenommen aber der delay ist noch drin.
Anderer GPIO geht leider nicht bei dem ESP:

Edit: Also wird der GPIO39 wohl per Button auf GND gezogen. Durch den fehlenden Pullup ergeben sich undefinierten Zustände ....... irgendwie kann ich es nicht ganz glauben, dass er so als Produkt verkauft wird. Die Probleme müßten ja dann alle haben, die den Button nutzen.
Auch wenn die Zustände weiterhin undefiniert auftreten, würde es etwas die Situation verbessern, wenn ich nur noch auf "Longpress" triggern würde bzw. den Button im ESP auf einen Modus "Longpress" definiere (z.B. delayed_on_off: 3000ms). Anders sehe ich keine Chance in dem Setup, oder?

-
habe einen Hinweis bekommen der auch für GPIO39 gilt und es könnte hiermit zu tun haben:
https://github.com/espressif/arduino-esp32/issues/4903Die SDK Version in ESPHome ist aber neuer 3.3.2
Processing esp32-flur (board: m5stack-core-esp32; framework: arduino; platform: platformio/espressif32 @ 3.3.2)Einen Pullup besitzt der GPIO39 per Hardware.

Als Workaround wird empfohlen ADC Power zu aktivieren. Mmmh bedeutet eine platform ADC in ESPHome und ich muß mir etwas für die Auswertung/Triggerung überlegen, wenn das Sinn macht....
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden