Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. GPIO Status Wemos d1 mini an iobroker senden

    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

    GPIO Status Wemos d1 mini an iobroker senden

    This topic has been deleted. Only users with topic management privileges can see it.
    • OpenSourceNomad
      OpenSourceNomad Most Active @Beowolf last edited by

      @beowolf said in GPIO Status Wemos d1 mini an iobroker senden:
      Kannst Du etwas damit machen?

      Mit Sicherheit, von unten nach oben ⬆

      Wemos D1

      esphome:
          name: Hühnerstall
      
      esp8266:
        board: d1_mini
      

      👉 https://esphome.io/components/esphome.html
      👉 https://esphome.io/components/esp8266.html

      D3, D4; //Pins für den Steppermotor STEP , DIR

      wahrscheinlich ein a4988?

      stepper:
        - platform: a4988
          id: motor
          step_pin: D3
          dir_pin: D4
      

      👉 https://esphome.io/components/stepper/index.html#a4988-component

      Wahrscheinlich willst du noch ein "cover" daraus machen? 👉 https://esphome.io/components/cover/endstop.html

      PIN 3 // Umgesteuerter GPIO für die NEO-Led (kann das ESPHome auch?)

      Pin 3 ist eigentlich RX um diesen nicht (default) als hardware serial zu verwenden ist folgende Zeile im logger nötig:

      logger:
        baud_rate: 0 # 0 to disable logging via hardware UART.
      

      👉 https://esphome.io/components/logger.html

      light:
        - platform: neopixelbus
          type: GRB
          variant: WS2811
          pin: GPIO3
          num_leds: 1
          id: led
      

      👉 https://esphome.io/components/light/neopixelbus.html

      D6; // Endschalter Tür offen
      D5; // Endschalter Tür geschlossen
      D0; // Taster Tür öffnen - für manuelles Öffnen vor Ort
      D7; // Taster Tür schließen - für schließen vor Ort
      D1; // Taster Bewegung anhalten - Lichtschranke falls sich ein Huhn im Türbereich aufhält.
      D2 // Steppermotor aktivieren/deaktivieren

      Und das sind soweit alles "Eingänge", bei esphome also binary sensors.

      binary_sensor:
        - platform: gpio
          pin: D6
          name: "Tür offen"
      
        - platform: gpio
          pin: D5
          name: "Tür geschlossen"
      
        - ...
      

      👉 https://esphome.io/components/binary_sensor/gpio.html

      Eine ws2412 LED zeigt noch den Zustand der Tür an (für den schnellen Blick durch das Küchenfenster).

      und hier kommt schon die esphome magie in's Spiel, einfach an den beiden binary sensoren von gerade eben die gewünschte funktion anhängen:

      binary_sensor:
        - platform: gpio
          pin: D6
          name: "Tür offen"
          on_press:
            then:
              - light.turn_on:
                  id: led
                  brightness: 100%
                  red: 100%
                  green: 0
                  blue: 0
          on_release:
            then:
                - light.turn_off:
                    id: led
      
        - platform: gpio
          pin: D5
          name: "Tür geschlossen"
              on_press:
                then:
                  - light.turn_on:
                      id: led
                      brightness: 100%
                      red: 0%
                      green: 100%
                      blue: 0
              on_release:
                then:
                    - light.turn_off:
                        id: led
      

      👉 https://esphome.io/components/binary_sensor/index.html#binary-sensor-automation

      Die Steuerung wollte durch ioBroker machen.

      Dann musst du dich eigentlich nur noch für die native api or mqtt entscheiden und solltest den rest über die Zentrale automatisieren können 🎉

      1 Reply Last reply Reply Quote 0
      • OpenSourceNomad
        OpenSourceNomad Most Active @Beowolf last edited by OpenSourceNomad

        @beowolf said in GPIO Status Wemos d1 mini an iobroker senden:

        Das sind die Probleme die ich meine.

        Ich sehe nur einen Fehler in deinen screenshots, wenn ich diesen google finde ich folgendes issues:

        • https://github.com/Nafaya/esphome-native-api/issues/16

        Sprich das sieht aus als ob es ein Fehler im iobroker adapter ist, sollte aber schon gelöst sein 🤔

        Welche Version von esphome (dashboard) ist denn genau im Adapter installiert? Aktuell sollte 2022.05.0 sein 👈

        Dein erster esphome node läuft ja schon wie man dem letzten screen shot entnehmen kann 💪 Gratulation 🍻

        DutchmanNL created this issue in Nafaya/esphome-native-api

        closed Error: Bad format. Expected 0 at the begin causes timeout loop #16

        B 1 Reply Last reply Reply Quote 0
        • B
          Beowolf @OpenSourceNomad last edited by

          @opensourcenomad

          Jepp ist die Version 2022.5.0.

          Ich habe meinen pi4 update und upgrade gemacht. Jetzt scheint die Meldung weg zu sein.

          Bin dran

          OpenSourceNomad 1 Reply Last reply Reply Quote 0
          • OpenSourceNomad
            OpenSourceNomad Most Active @Beowolf last edited by

            @beowolf said in GPIO Status Wemos d1 mini an iobroker senden:

            Jetzt scheint die Meldung weg zu sein.

            Wobei du auch keine api: oder mqtt Zeile in deiner yaml hattest, mit der Zentrale zu kommunizieren ist dann eigentlich unmöglich 🤔

            B 1 Reply Last reply Reply Quote 0
            • B
              Beowolf @OpenSourceNomad last edited by

              @opensourcenomad

              api habe ich

              B 1 Reply Last reply Reply Quote 0
              • B
                Beowolf @Beowolf last edited by Beowolf

                Ich habe das jetzt mal zusammen gebastelt.

                esphome:
                  name: led
                
                esp8266:
                  board: d1_mini
                
                stepper:
                  - platform: a4988
                    id: motor
                    step_pin: D3
                    dir_pin: D4
                    max_speed: 250 steps/s
                
                # Enable logging
                logger:
                  baud_rate: 0 # 0 to disable logging via hardware UART.
                
                api:
                  password: "1234"
                  
                ota:
                  password: "1234"
                
                wifi:
                  ssid: "----"
                  password: "--------"
                  
                  
                web_server:
                  port: 80
                
                
                captive_portal:
                    
                    
                # Example configuration entry
                light:
                  - platform: neopixelbus
                    type: GRB
                    variant: WS2811
                    pin: GPIO3
                    num_leds: 1
                    id: led
                    
                binary_sensor:
                  - platform: gpio
                    pin: D6
                    name: "Tür offen"
                
                  - platform: gpio
                    pin: D5
                    name: "Tür geschlossen"
                    
                  - platform: gpio
                    pin: D0
                    name: "Taster Tür öffnen"
                
                  - platform: gpio
                    pin: D7
                    name: "Taster Tür schließen"
                    
                  - platform: gpio
                    pin: D1
                    name: "Taster Bewegung anhalten"
                
                  - platform: gpio
                    pin: D2
                    name: "Steppermotor aktivieren/deaktivieren"
                    
                    
                    
                binary_sensor:
                  - platform: gpio
                    pin: D6
                    name: "Tür offen"
                    on_press:
                      then:
                        - light.turn_on:
                            id: led
                            brightness: 100%
                            red: 100%
                            green: 0
                            blue: 0
                
                    on_release:
                      then:
                          - light.turn_off:
                              id: led
                
                  - platform: gpio
                    pin: D5
                    name: "Tür geschlossen"
                    on_press:
                      then:
                        - light.turn_on:
                            id: led
                            brightness: 100%
                            red: 0%
                            green: 100%
                            blue: 0
                
                    on_release:
                      then:
                        - light.turn_off:
                            id: led
                

                Als Meldung bekomme ich das.

                meldung.jpg

                Das sagt mir das es eine doppelte Bezeichnung gibt, richtig?

                OpenSourceNomad 1 Reply Last reply Reply Quote 0
                • OpenSourceNomad
                  OpenSourceNomad Most Active @Beowolf last edited by

                  @beowolf said in GPIO Status Wemos d1 mini an iobroker senden:

                  Das sagt mir das es eine doppelte Bezeichnung gibt, richtig?

                  Genau, Zeile 72 und Zeile 45 haben beide binary_sensor:, nach yaml "Regel" dürfen diese aber nur einmal vorkommen, du musst also beide Inhalte unter einem binary_sensor: zusammen fassen. Bezüglich der Reihenfolge ist man aber völlig frei.

                  B 1 Reply Last reply Reply Quote 0
                  • B
                    Beowolf @OpenSourceNomad last edited by Beowolf

                    @opensourcenomad

                    Ich habe noch mal etwas probiert.

                    esphome:
                      name: led
                    
                    esp8266:
                      board: d1_mini
                    
                    stepper:
                      - platform: a4988
                        id: motor
                        step_pin: D3
                        dir_pin: D4
                        max_speed: 250 steps/s
                        sleep_pin: D2
                        acceleration: inf
                        deceleration: inf
                    
                    # Enable logging
                    logger:
                      baud_rate: 0 # 0 to disable logging via hardware UART.
                    
                    api:
                      password: "1234"
                      
                    ota:
                      password: "1234"
                    
                    wifi:
                      ssid: "---"
                      password: "-------"
                      
                      
                    web_server:
                      port: 80
                    
                    
                    captive_portal:
                        
                        
                    # Example configuration entry
                    light:
                      - platform: neopixelbus
                        type: GRB
                        variant: WS2811
                        pin: GPIO3
                        num_leds: 1
                        id: led
                        name: "LED"
                        
                    binary_sensor:
                    
                      - platform: gpio
                        pin: 
                          number: D0
                          inverted: true
                          mode:
                            input: true
                        name: "Taster Tür öffnen"
                        on_state:
                          then:
                          - stepper.set_target:
                              id: motor
                              target: 250
                    
                      - platform: gpio
                        pin: 
                          number: D7
                          inverted: true
                          mode:
                            input: true
                            pullup: true
                        name: "Taster Tür schließen"
                        on_state:
                          then:
                          - stepper.set_target:
                              id: motor
                              target: -250    
                        
                      - platform: gpio
                        pin: 
                          number: D1
                          inverted: true
                          mode:
                            input: true
                            pullup: true
                        name: "Taster Bewegung anhalten"
                    
                      - platform: gpio
                        pin: 
                          number: D2
                        name: "Steppermotor aktivieren/deaktivieren"
                        
                      - platform: gpio
                        pin: 
                          number: D5
                          inverted: true
                          mode:
                            input: true
                            pullup: true
                        name: "Tür offen"
                        on_state:
                          then:
                            - light.turn_on:
                                id: led
                                brightness: 100%
                                red: 100%
                                green: 0
                                blue: 0
                    
                      - platform: gpio
                        pin: 
                          number: D6
                          inverted: true
                          mode:
                            input: true
                            pullup: true
                        name: "Tür geschlossen"
                        on_state:
                          then:
                            - light.turn_on:
                                id: led
                                brightness: 100%
                                red: 0%
                                green: 100%
                                blue: 0
                    

                    Der Schrittmotor macht aber nichts.

                    Ich kann auch die Zustände unter ioBroker nicht ändern.

                    OpenSourceNomad 1 Reply Last reply Reply Quote 0
                    • OpenSourceNomad
                      OpenSourceNomad Most Active @Beowolf last edited by

                      @beowolf said in GPIO Status Wemos d1 mini an iobroker senden:

                      @opensourcenomad

                      Ich habe noch mal etwas probiert.

                      esphome:
                        name: led
                      
                      esp8266:
                        board: d1_mini
                      
                      stepper:
                        - platform: a4988
                          id: motor
                          step_pin: D3
                          dir_pin: D4
                          max_speed: 250 steps/s
                          sleep_pin: D2
                          acceleration: inf
                          deceleration: inf
                      
                      # Enable logging
                      logger:
                        baud_rate: 0 # 0 to disable logging via hardware UART.
                      
                      api:
                        password: "1234"
                        
                      ota:
                        password: "1234"
                      
                      wifi:
                        ssid: "---"
                        password: "-------"
                        
                        
                      web_server:
                        port: 80
                      
                      
                      captive_portal:
                          
                          
                      # Example configuration entry
                      light:
                        - platform: neopixelbus
                          type: GRB
                          variant: WS2811
                          pin: GPIO3
                          num_leds: 1
                          id: led
                          name: "LED"
                          
                      binary_sensor:
                      
                        - platform: gpio
                          pin: 
                            number: D0
                            inverted: true
                            mode:
                              input: true
                          name: "Taster Tür öffnen"
                          on_state:
                            then:
                            - stepper.set_target:
                                id: motor
                                target: 250
                      
                        - platform: gpio
                          pin: 
                            number: D7
                            inverted: true
                            mode:
                              input: true
                              pullup: true
                          name: "Taster Tür schließen"
                          on_state:
                            then:
                            - stepper.set_target:
                                id: motor
                                target: -250    
                          
                        - platform: gpio
                          pin: 
                            number: D1
                            inverted: true
                            mode:
                              input: true
                              pullup: true
                          name: "Taster Bewegung anhalten"
                      
                        - platform: gpio
                          pin: 
                            number: D2
                          name: "Steppermotor aktivieren/deaktivieren"
                          
                        - platform: gpio
                          pin: 
                            number: D5
                            inverted: true
                            mode:
                              input: true
                              pullup: true
                          name: "Tür offen"
                          on_state:
                            then:
                              - light.turn_on:
                                  id: led
                                  brightness: 100%
                                  red: 100%
                                  green: 0
                                  blue: 0
                      
                        - platform: gpio
                          pin: 
                            number: D6
                            inverted: true
                            mode:
                              input: true
                              pullup: true
                          name: "Tür geschlossen"
                          on_state:
                            then:
                              - light.turn_on:
                                  id: led
                                  brightness: 100%
                                  red: 0%
                                  green: 100%
                                  blue: 0
                      

                      Der Schrittmotor macht aber nichts.

                      Ich kann auch die Zustände unter ioBroker nicht ändern.

                      @beowolf said in GPIO Status Wemos d1 mini an iobroker senden:

                      Der Schrittmotor macht aber nichts.
                      Ich kann auch die Zustände unter ioBroker nicht ändern.

                      Ich habe noch nie einen Schrittmotor mein eigenen genannt, deswegen stochere ich hier ein wenig im Dunkeln:
                      Das modell a4988 ist der richtige? Was sagt der logger (kann einfach über's esphome dashboard aufgerufen werden) im Moment wenn du "Taster Tür öffnen" und "Taster Tür schließen" betätigst?

                      Wenn der Motor sich dann hoffentlich bald bewegt könnte ein endstop cover dann noch die Krönung für dein Vorhaben sein 🐔 :
                      e7f12a03-1b79-4feb-9d18-339da6639000-image.png

                      👉 https://esphome.io/components/cover/endstop.html

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        Beowolf @OpenSourceNomad last edited by

                        @opensourcenomad sagte in GPIO Status Wemos d1 mini an iobroker senden:

                        Wenn der Motor sich dann hoffentlich bald bewegt könnte ein endstop cover dann noch die Krönung für dein Vorhaben sein :

                        Leider noch nicht.

                        Die Funktion erwarte "switch." ich habe aber binary_sensor:

                        Das bekomme ich nicht zusammen.

                        OpenSourceNomad 1 Reply Last reply Reply Quote 0
                        • OpenSourceNomad
                          OpenSourceNomad Most Active @Beowolf last edited by

                          @beowolf said in GPIO Status Wemos d1 mini an iobroker senden:

                          Leider noch nicht.

                          Dann noch mal einen Schritt zurück:

                          Das modell a4988 ist der richtige? Was sagt der logger (kann einfach über's esphome dashboard aufgerufen werden) im Moment wenn du "Taster Tür öffnen" und "Taster Tür schließen" betätigst?

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            Beowolf @OpenSourceNomad last edited by

                            @opensourcenomad

                            Ich habe es jetzt so gemacht:

                            esphome:
                              name: led
                            
                            esp8266:
                              board: d1_mini
                            
                            stepper:
                              - platform: a4988
                                id: motor
                                step_pin: D3
                                dir_pin: D4
                                max_speed: 5000 steps/s
                                sleep_pin: 
                                    number: D2
                                    inverted: true
                                acceleration: inf
                                deceleration: inf
                            
                            
                            # Enable logging
                            logger:
                              baud_rate: 0 # 0 to disable logging via hardware UART.
                            
                            api:
                              password: "1234"
                              
                            ota:
                              password: "1234"
                            
                            wifi:
                              ssid: "-----"
                              password: "-------"
                              
                              
                            web_server:
                              port: 80
                            
                            
                            captive_portal:
                                
                                
                            # Example configuration entry
                            light:
                              - platform: neopixelbus
                                type: GRB
                                variant: WS2811
                                pin: GPIO3
                                num_leds: 1
                                id: led
                                name: "LED"
                                
                            binary_sensor:
                              - platform: gpio
                                pin: 
                                  number: D0
                                  inverted: true
                                  mode:
                                    input: true
                                name: "Taster Tür öffnen"
                                id: oeffnen
                                on_press:
                                  then:
                                  - stepper.set_target:
                                      id: motor
                                      target: 250000
                            
                              - platform: gpio
                                pin: 
                                  number: D7
                                  inverted: true
                                  mode:
                                    input: true
                                    pullup: true
                                name: "Taster Tür schließen"
                                id: schliessen
                                on_press:
                                  then:
                                  - stepper.set_target:
                                      id: motor
                                      target: -250000    
                                
                              - platform: gpio
                                pin: 
                                  number: D1
                                  inverted: true
                                  mode:
                                    input: true
                                    pullup: true
                                name: "Taster Bewegung anhalten"
                            
                              - platform: gpio
                                pin: 
                                  number: D5
                                  inverted: true
                                  mode:
                                    input: true
                                    pullup: true
                                name: "Tür offen"
                                id: offen
                                on_press:
                                  then:
                                    - light.turn_on:
                                        id: led
                                        brightness: 100%
                                        red: 100%
                                        green: 0
                                        blue: 0
                                        
                                    - stepper.report_position:
                                        id: motor
                                        position: 0
                                        
                                    - stepper.set_target:
                                        id: motor
                                        target: 0
                                        
                                        
                              - platform: gpio
                                pin: 
                                  number: D6
                                  inverted: true
                                  mode:
                                    input: true
                                    pullup: true
                                name: "Tür geschlossen"
                                id: geschlossen
                                on_press:
                                  then:
                                    - light.turn_on:
                                        id: led
                                        brightness: 100%
                                        red: 0%
                                        green: 100%
                                        blue: 0
                                        
                                    - stepper.report_position:
                                        id: motor
                                        position: 0
                                        
                                    - stepper.set_target:
                                        id: motor
                                        target: 0            
                            

                            Der Motor dreht in die Richtungen wie ich es möchte. Bei erreichen der Endschalter hält der Motor direkt an. Mache hiermit:

                                    - stepper.report_position:
                                        id: motor
                                        position: 0
                                        
                                    - stepper.set_target:
                                        id: motor
                                        target: 0
                            

                            Ob das die beste Methode ist - keine Ahnung.

                            Was jetzt noch nicht funktioniert ist, wenn die Tür auf ist, und ich jetzt nocht mal auf die AUF-Taste drücke geht die Tür "noch weiter" auf.

                            Ich brauche also eine "wenn" - "dann" Funktion. Geht das nur über die Lambda Methode?

                            OpenSourceNomad 1 Reply Last reply Reply Quote 1
                            • OpenSourceNomad
                              OpenSourceNomad Most Active @Beowolf last edited by

                              @beowolf said in GPIO Status Wemos d1 mini an iobroker senden:

                              Ob das die beste Methode ist - keine Ahnung.

                              Du steuerst jetzt deinen Motor direkt, kann man so machen. 👍

                              Was jetzt noch nicht funktioniert ist, wenn die Tür auf ist, und ich jetzt nocht mal auf die AUF-Taste drücke geht die Tür "noch weiter" auf.

                              Ich glaube genau dafür ist jetzt das oben ☝ verlinkte Endstop cover zuständig

                              Ich brauche also eine "wenn" - "dann" Funktion. Geht das nur über die Lambda Methode?

                              Die ist auch "normal" in der yaml syntax verfügbar 👉 https://esphome.io/guides/automations.html#if-action

                              1 Reply Last reply Reply Quote 0
                              • Andreios
                                Andreios Forum Testing @Beowolf last edited by

                                @beowolf sagte in GPIO Status Wemos d1 mini an iobroker senden:

                                @opensourcenomad

                                Ok, dann versuche ist es so.

                                Die Steuerung wollte durch ioBroker machen.

                                Die Anschlüsse:

                                D6; // Endschalter Tür offen
                                D5; // Endschalter Tür geschlossen

                                D0; // Taster Tür öffnen - für manuelles Öffnen vor Ort
                                D7; // Taster Tür schließen - für schließen vor Ort
                                D1; // Taster Bewegung anhalten - Lichtschranke falls sich ein Huhn im Türbereich aufhält.

                                Zur Sicherheit würde ich die Endschalter, die Taster und vor Allem die Lichtschranke nicht über ioBroker, sondern direkt auf dem Microcntroller steuern. Hast Du einmal eine Verzögerung in der Kommunikation, klemmt das Huhn in der Tür. 😉

                                B 1 Reply Last reply Reply Quote 1
                                • B
                                  Beowolf @Andreios last edited by

                                  @andreas-5

                                  Das soll auch auf jeden Fall so sein. Ich wollte nur durch ioBroker zusätzlich Einfluß nehmen können.

                                  1 Reply Last reply Reply Quote 1
                                  • OpenSourceNomad
                                    OpenSourceNomad Most Active last edited by

                                    @andreas-5 said in GPIO Status Wemos d1 mini an iobroker senden:

                                    Zur Sicherheit würde ich die Endschalter, die Taster und vor Allem die Lichtschranke nicht über ioBroker, sondern direkt auf dem Microcntroller steuern.

                                    Ganz richtig die Endschalter sollten ja gleich von der endstop cover component berücksichtigt werden, für die Lichtschranke ist dann natürlich noch eine extra Logik von Nöten, z.B. um beim brechen der Schranke die Tür zu öffnen wenn diese noch nicht bereits geschlossen ist.

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      Beowolf @TT-Tom last edited by

                                      @opensourcenomad

                                      Ich habe das mit COVER jetzt gelöst.

                                      # Example configuration entry
                                      cover:
                                        - platform: template
                                          name: "CoverTuer"
                                          id: CoverTuer
                                      
                                          open_action:
                                            - stepper.set_target:
                                                id: motor
                                                target: 17000
                                      
                                          close_action:
                                            - stepper.set_target:
                                                id: motor
                                                target: -17000
                                      
                                          stop_action:
                                            - stepper.set_target:
                                                id: motor
                                                target: !lambda return id(motor).current_position;      
                                      
                                          optimistic: true 
                                      

                                      Ich kann jetzt per Webbrowser den Motor in beide Richtungen drehen lassen.

                                      1 Reply Last reply Reply Quote 1
                                      • B
                                        Beowolf @TT-Tom last edited by

                                        @tt-tom sagte in GPIO Status Wemos d1 mini an iobroker senden:

                                        @beowolf
                                        Ich versuche es mal auf meinem Elektronik board die Tage mal nachzubauen. Dann teste ich dein Programm mal parallel.
                                        Gruß Tom

                                        Kannst Du schon etwas sage?

                                        Ich habe es mit esphome versucht. Das das einfacher ist kann ich jetzt so nicht bestätigen. Das Ändern des Codes geht etwas einfacher aber sonst hat es die "Programmiersprache" auch in sich. Leerzeichen sind wohl der blanke Horror für die Oberfläche.

                                        T OpenSourceNomad 2 Replies Last reply Reply Quote 0
                                        • T
                                          TT-Tom @Beowolf last edited by

                                          @beowolf
                                          Ich komme erst Montag wieder dazu. Melde mich dann hier wieder. Tom

                                          1 Reply Last reply Reply Quote 0
                                          • OpenSourceNomad
                                            OpenSourceNomad Most Active @Beowolf last edited by OpenSourceNomad

                                            @beowolf said in GPIO Status Wemos d1 mini an iobroker senden:

                                            sonst hat es die "Programmiersprache" auch in sich

                                            Der "no code" approach von esphome benutzt übrigens YAML, selbst bezeichnet sich das als „YAML Ain’t Markup Language“, sprich es soll nicht mal eine "Auszeichnungssprache" sein. Wobei YAML natürlich eine (vereinfachte) markup language ist. Wahrscheinlich mit eine der einfachsten überhaupt.

                                            Wie schon bereits erwähnt haben Leute mit Programmierkenntnisse aufgrund der Trivialität oft mehr Probleme als Mensch welcher noch keine Zeile hello world in seinem Leben geschrieben hat.

                                            Leerzeichen

                                            Das (richtige) einrücken mittels Leerzeichen (nicht tab) ist wenn yaml als block geschrieben essentiell. Neben der Pflicht jeden "key" nur einmal zu verwenden, also auf

                                            doppelte Bezeichnung

                                            zu verzichten sind dies wohl die einzigen wichtigen Vorgaben die bei YAML existieren.

                                            Grundsätzliche könnte man ja auch einfach ein quasi endloses Menü erstellen um die ganzen Parameter auszuwählen, mehr macht man in der YAML ja de facto gar nicht. Nur ist es halt total unsinnig und unübersichtlich aus vielen 100 Optionen zu wählen wenn man selbst nur 10 oder 20 braucht, daher finde ich diesen Ansatz auch ziemlich überlegen.

                                            Zum Vergleich gibt es z.B. in Tasmota mindestens 3 verschiedene Ecken um bestimmte Sachen einzustellen/definieren, ein paar gehen im webinterface, weitere müssen mit irgendwelchen set option in die Konsole gehämmert werden und wieder anderes muss schon vor der Kompilierung manuell in irgendwelche files geschrieben werden. Trotzdem wird es wahrscheinlich am Ende nicht annähernd so viel Flexibilität bieten wie esphome und ist trotzdem um einiges zeitintensiver in der Anwendung.

                                            Ich habe es mit esphome versucht. Das das einfacher ist kann ich jetzt so nicht bestätigen.

                                            Im Vergleich zu deinem selbst programmierten code welches stand heute nicht in der Lage ist mit einer Zentrale (korrekt) zu kommunizieren? Ist das nicht vielleicht ein Vergleich von Äpfel mit Birnen? Überhaupt benötigt dein Ansatz nicht weniger als (gute) Programmierkenntnisse und natürlich eine vielfaches an Zeit um überhaupt ein erfolgreiches/funktionierendes Ergebnis zu bekommen.

                                            Grundsätzlich ist "neu" nie einfach und man muss sich erst einmal einarbeiten, so viel ist klar 💡

                                            wifi:
                                              ssid: "-----"
                                              password: "-------"
                                            

                                            Um übrigens nicht in die Versuchung bzw. Möglichkeit zu kommen SSID und Passwort bzw. auch andere Passwörter zu posten empfiehlt sich eine secrets.yaml damit entfällt dann auch das repetitive ausfüllen dieser in neuen yaml's 🔒

                                            Siehe dazu u.a. 👉 https://drozmotix.github.io/languages/de/Adapter/ESPHome/08.yamlTemplates.html#secrets-yaml

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            893
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            193
                                            16668
                                            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