Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. PWM-Display dimmen: Python-Skript sinnvoll steuern

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.8k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    747

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.2k

PWM-Display dimmen: Python-Skript sinnvoll steuern

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
8 Beiträge 3 Kommentatoren 784 Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • E Offline
    E Offline
    e-i-k-e
    schrieb am zuletzt editiert von e-i-k-e
    #1

    Guten Abend zusammen,

    ich habe auf einem Raspberry Pi mit einem ioBroker-Slave das unten aufgeführte Python-Skript laufen. Dieses steuert die Helligkeit eines angeschlossenen Displays, indem es Werte zwischen 0 % und 100 % entgegennimmt und umwandelt.

    66c92a64-c72d-40c0-97ea-b30995952a74-image.png

    Um das Skript durch den Benutzer „iobroker“ ausführen zu lassen, habe ich es entsprechend ( /usr/local/bin/) verschoben.

    Über den ioBroker Slave/JS-Adapter kann ich das Skript aktivieren, und der erste Wert wird korrekt geschrieben.

    190f7077-43d6-492f-801a-dda58c623624-image.png

    Wenn ich allerdings versuche, einen weiteren Wert zu schreiben, funktioniert das nicht, da das Skript bei einer erneuten Ausführung offenbar nicht wie erwartet reagiert.

    b16c0560-74a7-4997-8480-6b86847a8150-image.png

    Wie kann ich Blockly so anpassen, dass es, nachdem das Skript einmal gestartet wurde, weiterhin einzelne Werte vorgeben kann?

    Anbei das verwendete Skript:

    import sys
    from gpiozero import PWMLED
    from time import sleep
    
    def main():
        led = PWMLED(18)
    
        # Check if a value is passed as an argument
        if len(sys.argv) > 1:
            try:
                value = float(sys.argv[1])
                if value > 100:
                    led.value = 1
                elif value < 0:
                    led.value = 0
                else:
                    led.value = value / 100
            except ValueError:
                sys.exit(1)
        else:
            led.value = 1  # Default to full brightness
    
        # Optional interactive loop
        try:
            while True:
                try:
                    value = input()
                    if value.lower() == "exit":
                        break
                    value = float(value)
                    if value > 100:
                        led.value = 1
                    elif value < 0:
                        led.value = 0
                    else:
                        led.value = value / 100
                except ValueError:
                    pass
                sleep(1)
        except KeyboardInterrupt:
            # Clean exit on Ctrl+C
            sys.exit(0)
    
    if __name__ == "__main__":
        main()
    
    

    Viele Grüße

    1 Antwort Letzte Antwort
    0
    • E Offline
      E Offline
      e-i-k-e
      schrieb am zuletzt editiert von
      #2

      Hat hier jemand eine Idee dazu ?

      arteckA B 2 Antworten Letzte Antwort
      0
      • E e-i-k-e

        Hat hier jemand eine Idee dazu ?

        arteckA Offline
        arteckA Offline
        arteck
        Developer Most Active
        schrieb am zuletzt editiert von
        #3

        @e-i-k-e du musst die zahl in eine variable schreiben und diese dann verwenden. zur zeit rufst du hardcoded 0 oder 100 auf

        zigbee hab ich, zwave auch, nuc's genauso und HA auch

        E 2 Antworten Letzte Antwort
        0
        • arteckA arteck

          @e-i-k-e du musst die zahl in eine variable schreiben und diese dann verwenden. zur zeit rufst du hardcoded 0 oder 100 auf

          E Offline
          E Offline
          e-i-k-e
          schrieb am zuletzt editiert von
          #4

          @arteck sagte in PWM-Display dimmen: Python-Skript sinnvoll steuern:

          @e-i-k-e du musst die zahl in eine variable schreiben und diese dann verwenden. zur zeit rufst du hardcoded 0 oder 100 auf

          Kann ich das direkt über ein Blockly machen?

          1 Antwort Letzte Antwort
          0
          • arteckA arteck

            @e-i-k-e du musst die zahl in eine variable schreiben und diese dann verwenden. zur zeit rufst du hardcoded 0 oder 100 auf

            E Offline
            E Offline
            e-i-k-e
            schrieb am zuletzt editiert von
            #5

            @arteck sagte in PWM-Display dimmen: Python-Skript sinnvoll steuern:

            @e-i-k-e du musst die zahl in eine variable schreiben und diese dann verwenden. zur zeit rufst du hardcoded 0 oder 100 auf

            Kannst du mich da etwas unter die Arme greifen?

            1 Antwort Letzte Antwort
            0
            • arteckA Offline
              arteckA Offline
              arteck
              Developer Most Active
              schrieb am zuletzt editiert von
              #6

              sry blockly ist nicht so meinz

              zigbee hab ich, zwave auch, nuc's genauso und HA auch

              1 Antwort Letzte Antwort
              0
              • E e-i-k-e

                Hat hier jemand eine Idee dazu ?

                B Offline
                B Offline
                Blockmove
                schrieb am zuletzt editiert von
                #7

                @e-i-k-e said in PWM-Display dimmen: Python-Skript sinnvoll steuern:

                Hat hier jemand eine Idee dazu ?

                Schmeiss mal den Teil raus

                    # Optional interactive loop
                    try:
                        while True:
                            try:
                                value = input()
                                if value.lower() == "exit":
                                    break
                                value = float(value)
                                if value > 100:
                                    led.value = 1
                                elif value < 0:
                                    led.value = 0
                                else:
                                    led.value = value / 100
                            except ValueError:
                                pass
                            sleep(1)
                    except KeyboardInterrupt:
                        # Clean exit on Ctrl+C
                        sys.exit(0)
                

                So wie ich es sehe wartet das Script da auf eine Eingabe von der Tastatur.
                Einfach mal probieren ... Bin nicht so der Python - Raspi - Fachmann.

                The difference beetween Man and Boys:
                The price of their toys 😀

                E 1 Antwort Letzte Antwort
                0
                • B Blockmove

                  @e-i-k-e said in PWM-Display dimmen: Python-Skript sinnvoll steuern:

                  Hat hier jemand eine Idee dazu ?

                  Schmeiss mal den Teil raus

                      # Optional interactive loop
                      try:
                          while True:
                              try:
                                  value = input()
                                  if value.lower() == "exit":
                                      break
                                  value = float(value)
                                  if value > 100:
                                      led.value = 1
                                  elif value < 0:
                                      led.value = 0
                                  else:
                                      led.value = value / 100
                              except ValueError:
                                  pass
                              sleep(1)
                      except KeyboardInterrupt:
                          # Clean exit on Ctrl+C
                          sys.exit(0)
                  

                  So wie ich es sehe wartet das Script da auf eine Eingabe von der Tastatur.
                  Einfach mal probieren ... Bin nicht so der Python - Raspi - Fachmann.

                  E Offline
                  E Offline
                  e-i-k-e
                  schrieb am zuletzt editiert von
                  #8

                  @blockmove sagte in PWM-Display dimmen: Python-Skript sinnvoll steuern:

                  @e-i-k-e said in PWM-Display dimmen: Python-Skript sinnvoll steuern:

                  Hat hier jemand eine Idee dazu ?

                  Schmeiss mal den Teil raus

                      # Optional interactive loop
                      try:
                          while True:
                              try:
                                  value = input()
                                  if value.lower() == "exit":
                                      break
                                  value = float(value)
                                  if value > 100:
                                      led.value = 1
                                  elif value < 0:
                                      led.value = 0
                                  else:
                                      led.value = value / 100
                              except ValueError:
                                  pass
                              sleep(1)
                      except KeyboardInterrupt:
                          # Clean exit on Ctrl+C
                          sys.exit(0)
                  

                  So wie ich es sehe wartet das Script da auf eine Eingabe von der Tastatur.
                  Einfach mal probieren ... Bin nicht so der Python - Raspi - Fachmann.

                  Danke für deinen Vorschlag.
                  Die Eingabeeinforderung wird beendet, allerdings funktioniert das Skript dann nicht mehr - es wird nicht mehr gedimmt.

                  1 Antwort Letzte Antwort
                  0

                  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
                  Antworten
                  • In einem neuen Thema antworten
                  Anmelden zum Antworten
                  • Älteste zuerst
                  • Neuste zuerst
                  • Meiste Stimmen


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  423

                  Online

                  32.9k

                  Benutzer

                  83.0k

                  Themen

                  1.3m

                  Beiträge
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2025
                  logo
                  • Anmelden

                  • Du hast noch kein Konto? Registrieren

                  • Anmelden oder registrieren, um zu suchen
                  • Erster Beitrag
                    Letzter Beitrag
                  0
                  • Home
                  • Aktuell
                  • Tags
                  • Ungelesen 0
                  • Kategorien
                  • Unreplied
                  • Beliebt
                  • GitHub
                  • Docu
                  • Hilfe