Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. PushButton ESP32/ESPHome wird getriggert. Warum/Wodurch?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    PushButton ESP32/ESPHome wird getriggert. Warum/Wodurch?

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Dieter_P last edited by Dieter_P

      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:
      68ddb3bf-6e40-45dc-bbbc-459ccdd85aa0-grafik.png
      3c1c33b3-72df-4a31-9b82-78a1a934c65d-grafik.png
      Das Blockly triggert aber nur auf Wert=wahr, somit kann ich mir das nicht wirklich erklären:
      48e9cf4f-e12b-4295-8475-7669578fb930-grafik.png

      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!

      arteck 1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active @Dieter_P last edited by

        @dieter_p zeigmal das programm von dem esp.. ich musste ein delay bei mir einbauen..sonst kamen fehlermeldungen

        D 1 Reply Last reply Reply Quote 0
        • D
          Dieter_P @arteck last edited by

          @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
          
          
          
          1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active last edited by arteck

            @dieter_p

            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_presence
            

            vergiss die formatierung nicht

            D 2 Replies Last reply Reply Quote 0
            • D
              Dieter_P @arteck last edited by

              @arteck said in PushButton ESP32/ESPHome wird getriggert. Warum/Wodurch?:

              @dieter_p

              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_presence
              

              Danke. 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.....

              1 Reply Last reply Reply Quote 0
              • D
                Dieter_P @arteck last edited by

                @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 1 Reply Last reply Reply Quote 0
                • arteck
                  arteck Developer Most Active @Dieter_P last edited by arteck

                  @dieter_p dann nimm den raus..oder du nimmst einen anderen GPIO

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    Dieter_P @arteck last edited by Dieter_P

                    @arteck
                    Ok. hab den PullUp rausgenommen aber der delay ist noch drin.
                    Anderer GPIO geht leider nicht bei dem ESP:
                    c65143ee-c554-4a74-aa9d-bf21443931ac-grafik.png

                    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?
                    6304e73e-b82b-4298-93a3-3958ce18aaeb-grafik.png

                    arteck 1 Reply Last reply Reply Quote 0
                    • arteck
                      arteck Developer Most Active @Dieter_P last edited by

                      @dieter_p und mit dem delay geht auch nicht ??

                      D 2 Replies Last reply Reply Quote 0
                      • D
                        Dieter_P @arteck last edited by Dieter_P

                        @arteck

                        Hab das Delay jetzt auf 3 Sekunden gesetzt und bisher keine ungewollte Triggerung mehr.

                        1 Reply Last reply Reply Quote 0
                        • D
                          Dieter_P @arteck last edited by Dieter_P

                          @arteck

                          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/4903

                          Die 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.
                          5b06c679-e3d0-44b4-8e27-acbb375c715f-grafik.png

                          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....

                          stuartpittaway created this issue in espressif/arduino-esp32

                          closed GPIO36 "fake" falling interrupts #4903

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          571
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          esp32 esphome trigger
                          2
                          11
                          466
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo