Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. JavaScript
  5. Python3 Skript in Iobroker einbinden

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    993

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Python3 Skript in Iobroker einbinden

Geplant Angeheftet Gesperrt Verschoben JavaScript
30 Beiträge 3 Kommentatoren 3.9k Aufrufe 2 Watching
  • Ä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.
  • F Fibs

    @rrov1 Hä warte mal, kann das so überhaupt funktionieren mit den Datenpunkten Spielfeldlaenge, Spielfeldbreite und Torlaenge. Die Variablen in meinem Projekt heißen ja, l,b, und t . Die Namen kommen nur einmal vor und zwar bei der Aufforderung was einzugeben ist.

    rrov1R Offline
    rrov1R Offline
    rrov1
    schrieb am zuletzt editiert von
    #21

    @fibs Nun, die Zeile 10 wird nur dann aufgerufen, wenn die Anzahl der Parameter falsch ist. Es ist die Ausgabe vom Script die dem aufrufenden Nutzer sagt wie der das Script nutzen soll (vergleichbar mit dem Schalter -h für "Hilfe"). In der Zeile findet keine Zuweisung zu einer Variablen statt. Das passiert in den Zeilen 58, 67 und 76. Alles im grünen Bereich :-)

    F 1 Antwort Letzte Antwort
    0
    • rrov1R rrov1

      @fibs Nun, die Zeile 10 wird nur dann aufgerufen, wenn die Anzahl der Parameter falsch ist. Es ist die Ausgabe vom Script die dem aufrufenden Nutzer sagt wie der das Script nutzen soll (vergleichbar mit dem Schalter -h für "Hilfe"). In der Zeile findet keine Zuweisung zu einer Variablen statt. Das passiert in den Zeilen 58, 67 und 76. Alles im grünen Bereich :-)

      F Offline
      F Offline
      Fibs
      schrieb am zuletzt editiert von
      #22

      @rrov1 Aber grundsätzlich sollen die Motoren starten wenn ich den Button in der visu drücke oder muss ich noch irgendwas beachten?

      rrov1R 1 Antwort Letzte Antwort
      0
      • F Fibs

        @rrov1 Aber grundsätzlich sollen die Motoren starten wenn ich den Button in der visu drücke oder muss ich noch irgendwas beachten?

        rrov1R Offline
        rrov1R Offline
        rrov1
        schrieb am zuletzt editiert von
        #23

        @fibs ganz genau, erst die 3 Regler einstellen, dann den Button drücken (kannst du später immer noch optimieren). Ich denk auf ioBroker Seite sieht's soweit ganz gut aus wenn ich den letzten Screenshot wo noch der Pfad falsch war lese.

        Läuft das Script jetzt mit der Korrektur der Zeile 10 wenn du es von der Kommandozeile mit 3 sinnvollen Parametern aufrufst?

        F 1 Antwort Letzte Antwort
        0
        • rrov1R rrov1

          @fibs ganz genau, erst die 3 Regler einstellen, dann den Button drücken (kannst du später immer noch optimieren). Ich denk auf ioBroker Seite sieht's soweit ganz gut aus wenn ich den letzten Screenshot wo noch der Pfad falsch war lese.

          Läuft das Script jetzt mit der Korrektur der Zeile 10 wenn du es von der Kommandozeile mit 3 sinnvollen Parametern aufrufst?

          F Offline
          F Offline
          Fibs
          schrieb am zuletzt editiert von Fibs
          #24

          @rrov1
          Ich habe Zeile 10 ausgeklammert und das Programm manuell gestartet. Anders funktionierts noch nicht.

          F 1 Antwort Letzte Antwort
          0
          • F Fibs

            @rrov1
            Ich habe Zeile 10 ausgeklammert und das Programm manuell gestartet. Anders funktionierts noch nicht.

            F Offline
            F Offline
            Fibs
            schrieb am zuletzt editiert von
            #25

            @fibs a5951760-0555-4c92-af62-46467ab3b6b3-image.png
            Ich habe den Button über Objekte betätigt, das ist e egal oder?

            rrov1R 1 Antwort Letzte Antwort
            0
            • F Fibs

              @fibs a5951760-0555-4c92-af62-46467ab3b6b3-image.png
              Ich habe den Button über Objekte betätigt, das ist e egal oder?

              rrov1R Offline
              rrov1R Offline
              rrov1
              schrieb am zuletzt editiert von
              #26

              @fibs said in Python3 Skript in Iobroker einbinden:

              Ich habe den Button über Objekte betätigt, das ist e egal oder?

              Ja, ist egal. Das Log ist leider für mich nicht ausreichend um den Fehler zu ermitteln. Kannst du bitte noch mal das Javascript "DC-Motoren_starten" hier bereitstellen? Ich vermute mal es ist mein Script, aber vielleicht müssen wir mal etwas Code einfügen der noch ein bisschen mehr protokolliert. Es fehlt die Ausgabe des exec Aufrufst, das sollte mit "*** stdout:" anfangen und falls ein Fehler auftritt "*** stderr:".

              Zusätzlich müssen wir wahrscheinlich das Python-Skript auch mal anfassen um zu sehen ob es läuft. Momentan sehen wir ja garnichts, nicht mal das es läuft. Ich ersetze das dann meist erst mal mit was ganz trivialen, was z.B.:

              print("hello world")
              

              Dann wüsste man erst mal ob der Aufruf aus der VIS heraus sauber funktioniert (weil man das ja als stdout zurückbekommt). Dann tastet man sich weiter vor, indem man 90% vom eigentlichen Script auskommentiert, das ausführt und wenn's geht wieder 10% Kommentare entfernt, bis man mal grob eingegrenzt hat wo im Code es hängt.

              F 1 Antwort Letzte Antwort
              0
              • rrov1R rrov1

                @fibs said in Python3 Skript in Iobroker einbinden:

                Ich habe den Button über Objekte betätigt, das ist e egal oder?

                Ja, ist egal. Das Log ist leider für mich nicht ausreichend um den Fehler zu ermitteln. Kannst du bitte noch mal das Javascript "DC-Motoren_starten" hier bereitstellen? Ich vermute mal es ist mein Script, aber vielleicht müssen wir mal etwas Code einfügen der noch ein bisschen mehr protokolliert. Es fehlt die Ausgabe des exec Aufrufst, das sollte mit "*** stdout:" anfangen und falls ein Fehler auftritt "*** stderr:".

                Zusätzlich müssen wir wahrscheinlich das Python-Skript auch mal anfassen um zu sehen ob es läuft. Momentan sehen wir ja garnichts, nicht mal das es läuft. Ich ersetze das dann meist erst mal mit was ganz trivialen, was z.B.:

                print("hello world")
                

                Dann wüsste man erst mal ob der Aufruf aus der VIS heraus sauber funktioniert (weil man das ja als stdout zurückbekommt). Dann tastet man sich weiter vor, indem man 90% vom eigentlichen Script auskommentiert, das ausführt und wenn's geht wieder 10% Kommentare entfernt, bis man mal grob eingegrenzt hat wo im Code es hängt.

                F Offline
                F Offline
                Fibs
                schrieb am zuletzt editiert von
                #27

                @rrov1 ```
                import sys
                import RPi.GPIO as GPIO
                import time
                import datetime
                import math

                Anzahl Argumente prüfen

                if len(sys.argv) != 4:
                print("*** Wrong number of script arguments.")
                print("f*** call example: {sys.argv[0]} <<Spielfeldlaenge>> <<Spielfeldbreite>> <<Torlaenge>>")
                quit(-1)

                def is_float(element: any) -> bool:
                #If you expect None to be passed:
                if element is None:
                return False
                try:
                float(element)
                return True
                except ValueError:
                return False

                print("Total arguments passed:", len(sys.argv))

                in1 = 24
                in2 = 23 #Motor links
                en1 = 25

                in3 = 22
                in4 = 27#Motor rechts
                en2 = 17
                temp1=1
                #Reifen außen zu außen 45 cm
                #Reifen innen zu innen 35 cm
                #Linienbreite 10 cm
                GPIO.setmode(GPIO.BCM)

                GPIO.setup(in1,GPIO.OUT)
                GPIO.setup(in2,GPIO.OUT)
                GPIO.setup(en1,GPIO.OUT)
                GPIO.output(in1,GPIO.LOW)
                GPIO.output(in2,GPIO.LOW)

                GPIO.setup(in3,GPIO.OUT)
                GPIO.setup(in4,GPIO.OUT)
                GPIO.setup(en2,GPIO.OUT)
                GPIO.output(in3,GPIO.LOW)
                GPIO.output(in4,GPIO.LOW)

                p1=GPIO.PWM(en1,1000)
                p2=GPIO.PWM(en2,1000)

                p1.start(50) #Motor 1 Startgeschwindigkeit
                p2.start(50) #Motor 2 Startgeschwindigkeit

                l = input("Bitte geben Sie die Spielfeldlaenge in cm ein: ")
                l = float(l)
                print("Eingegeben wurde: " + str(l))
                L = l/11
                print("Benötigte Zeit in s: " + str(L)) # Nur für mich Kontrolle

                b = input("Bitte geben Sie die Spielfeldbreite in cm ein: ")
                b = float(b)
                print("Eingegeben wurde: " + str(l))
                B = b/11
                print("Benötigte Zeit in s: " + str(B))

                t = input("Bitte geben Sie die Torlaenge in cm ein: ")
                t = float(t)
                print("Eingegeben wurde: " + str(l))
                T = t/11

                s = input("Bitte geben Sie die Entfernung von Torstange zu 16ner Ecke in cm ein: ")
                s = float(s)
                print("Eingegeben wurde: " + str(s))
                S = s/11
                print("Benötigte Zeit in s: " + str(S))

                Str1 = datetime.timedelta(seconds=L) # Fährt eingegeben Strecke
                start = datetime.datetime.now()

                while datetime.datetime.now()-start < Str1:

                if(temp1==1):  
                   GPIO.output(in1,GPIO.HIGH)
                   GPIO.output(in2,GPIO.LOW)           #Sprühen
                   GPIO.output(in3,GPIO.HIGH)
                   GPIO.output(in4,GPIO.LOW)
                   print("Str1")
                   time.sleep(1)
                

                GPIO.cleanup()

                F 1 Antwort Letzte Antwort
                0
                • F Fibs

                  @rrov1 ```
                  import sys
                  import RPi.GPIO as GPIO
                  import time
                  import datetime
                  import math

                  Anzahl Argumente prüfen

                  if len(sys.argv) != 4:
                  print("*** Wrong number of script arguments.")
                  print("f*** call example: {sys.argv[0]} <<Spielfeldlaenge>> <<Spielfeldbreite>> <<Torlaenge>>")
                  quit(-1)

                  def is_float(element: any) -> bool:
                  #If you expect None to be passed:
                  if element is None:
                  return False
                  try:
                  float(element)
                  return True
                  except ValueError:
                  return False

                  print("Total arguments passed:", len(sys.argv))

                  in1 = 24
                  in2 = 23 #Motor links
                  en1 = 25

                  in3 = 22
                  in4 = 27#Motor rechts
                  en2 = 17
                  temp1=1
                  #Reifen außen zu außen 45 cm
                  #Reifen innen zu innen 35 cm
                  #Linienbreite 10 cm
                  GPIO.setmode(GPIO.BCM)

                  GPIO.setup(in1,GPIO.OUT)
                  GPIO.setup(in2,GPIO.OUT)
                  GPIO.setup(en1,GPIO.OUT)
                  GPIO.output(in1,GPIO.LOW)
                  GPIO.output(in2,GPIO.LOW)

                  GPIO.setup(in3,GPIO.OUT)
                  GPIO.setup(in4,GPIO.OUT)
                  GPIO.setup(en2,GPIO.OUT)
                  GPIO.output(in3,GPIO.LOW)
                  GPIO.output(in4,GPIO.LOW)

                  p1=GPIO.PWM(en1,1000)
                  p2=GPIO.PWM(en2,1000)

                  p1.start(50) #Motor 1 Startgeschwindigkeit
                  p2.start(50) #Motor 2 Startgeschwindigkeit

                  l = input("Bitte geben Sie die Spielfeldlaenge in cm ein: ")
                  l = float(l)
                  print("Eingegeben wurde: " + str(l))
                  L = l/11
                  print("Benötigte Zeit in s: " + str(L)) # Nur für mich Kontrolle

                  b = input("Bitte geben Sie die Spielfeldbreite in cm ein: ")
                  b = float(b)
                  print("Eingegeben wurde: " + str(l))
                  B = b/11
                  print("Benötigte Zeit in s: " + str(B))

                  t = input("Bitte geben Sie die Torlaenge in cm ein: ")
                  t = float(t)
                  print("Eingegeben wurde: " + str(l))
                  T = t/11

                  s = input("Bitte geben Sie die Entfernung von Torstange zu 16ner Ecke in cm ein: ")
                  s = float(s)
                  print("Eingegeben wurde: " + str(s))
                  S = s/11
                  print("Benötigte Zeit in s: " + str(S))

                  Str1 = datetime.timedelta(seconds=L) # Fährt eingegeben Strecke
                  start = datetime.datetime.now()

                  while datetime.datetime.now()-start < Str1:

                  if(temp1==1):  
                     GPIO.output(in1,GPIO.HIGH)
                     GPIO.output(in2,GPIO.LOW)           #Sprühen
                     GPIO.output(in3,GPIO.HIGH)
                     GPIO.output(in4,GPIO.LOW)
                     print("Str1")
                     time.sleep(1)
                  

                  GPIO.cleanup()

                  F Offline
                  F Offline
                  Fibs
                  schrieb am zuletzt editiert von Fibs
                  #28

                  @fibs said in Python3 Skript in Iobroker einbinden:

                  import sys
                  import RPi.GPIO as GPIO
                  import time
                  import datetime
                  import math
                  Anzahl Argumente prüfen
                  if len(sys.argv) != 4:
                  print("*** Wrong number of script arguments.")
                  print("f*** call example: {sys.argv[0]} <<Spielfeldlaenge>> <<Spielfeldbreite>> <<Torlaenge>>")
                  quit(-1)
                  def is_float(element: any) -> bool:
                  #If you expect None to be passed:
                  if element is None:
                  return False
                  try:
                  float(element)
                  return True
                  except ValueError:
                  return False
                  print("Total arguments passed:", len(sys.argv))
                  in1 = 24
                  in2 = 23 #Motor links
                  en1 = 25
                  in3 = 22
                  in4 = 27#Motor rechts
                  en2 = 17
                  temp1=1
                  #Reifen außen zu außen 45 cm
                  #Reifen innen zu innen 35 cm
                  #Linienbreite 10 cm
                  GPIO.setmode(GPIO.BCM)
                  GPIO.setup(in1,GPIO.OUT)
                  GPIO.setup(in2,GPIO.OUT)
                  GPIO.setup(en1,GPIO.OUT)
                  GPIO.output(in1,GPIO.LOW)
                  GPIO.output(in2,GPIO.LOW)
                  GPIO.setup(in3,GPIO.OUT)
                  GPIO.setup(in4,GPIO.OUT)
                  GPIO.setup(en2,GPIO.OUT)
                  GPIO.output(in3,GPIO.LOW)
                  GPIO.output(in4,GPIO.LOW)
                  p1=GPIO.PWM(en1,1000)
                  p2=GPIO.PWM(en2,1000)
                  p1.start(50) #Motor 1 Startgeschwindigkeit
                  p2.start(50) #Motor 2 Startgeschwindigkeit
                  l = input("Bitte geben Sie die Spielfeldlaenge in cm ein: ")
                  l = float(l)
                  print("Eingegeben wurde: " + str(l))
                  L = l/11
                  print("Benötigte Zeit in s: " + str(L)) # Nur für mich Kontrolle
                  b = input("Bitte geben Sie die Spielfeldbreite in cm ein: ")
                  b = float(b)
                  print("Eingegeben wurde: " + str(l))
                  B = b/11
                  print("Benötigte Zeit in s: " + str(B))
                  t = input("Bitte geben Sie die Torlaenge in cm ein: ")
                  t = float(t)
                  print("Eingegeben wurde: " + str(l))
                  T = t/11
                  s = input("Bitte geben Sie die Entfernung von Torstange zu 16ner Ecke in cm ein: ")
                  s = float(s)
                  print("Eingegeben wurde: " + str(s))
                  S = s/11
                  print("Benötigte Zeit in s: " + str(S))
                  Str1 = datetime.timedelta(seconds=L) # Fährt eingegeben Strecke
                  start = datetime.datetime.now()
                  while datetime.datetime.now()-start < Str1:
                  if(temp1==1): GPIO.output(in1,GPIO.HIGH)
                  GPIO.output(in2,GPIO.LOW)
                  GPIO.output(in3,GPIO.HIGH)
                  GPIO.output(in4,GPIO.LOW)
                  print("Str1") time.sleep(1)
                  GPIO.cleanup()

                  F rrov1R 2 Antworten Letzte Antwort
                  0
                  • F Fibs

                    @fibs said in Python3 Skript in Iobroker einbinden:

                    import sys
                    import RPi.GPIO as GPIO
                    import time
                    import datetime
                    import math
                    Anzahl Argumente prüfen
                    if len(sys.argv) != 4:
                    print("*** Wrong number of script arguments.")
                    print("f*** call example: {sys.argv[0]} <<Spielfeldlaenge>> <<Spielfeldbreite>> <<Torlaenge>>")
                    quit(-1)
                    def is_float(element: any) -> bool:
                    #If you expect None to be passed:
                    if element is None:
                    return False
                    try:
                    float(element)
                    return True
                    except ValueError:
                    return False
                    print("Total arguments passed:", len(sys.argv))
                    in1 = 24
                    in2 = 23 #Motor links
                    en1 = 25
                    in3 = 22
                    in4 = 27#Motor rechts
                    en2 = 17
                    temp1=1
                    #Reifen außen zu außen 45 cm
                    #Reifen innen zu innen 35 cm
                    #Linienbreite 10 cm
                    GPIO.setmode(GPIO.BCM)
                    GPIO.setup(in1,GPIO.OUT)
                    GPIO.setup(in2,GPIO.OUT)
                    GPIO.setup(en1,GPIO.OUT)
                    GPIO.output(in1,GPIO.LOW)
                    GPIO.output(in2,GPIO.LOW)
                    GPIO.setup(in3,GPIO.OUT)
                    GPIO.setup(in4,GPIO.OUT)
                    GPIO.setup(en2,GPIO.OUT)
                    GPIO.output(in3,GPIO.LOW)
                    GPIO.output(in4,GPIO.LOW)
                    p1=GPIO.PWM(en1,1000)
                    p2=GPIO.PWM(en2,1000)
                    p1.start(50) #Motor 1 Startgeschwindigkeit
                    p2.start(50) #Motor 2 Startgeschwindigkeit
                    l = input("Bitte geben Sie die Spielfeldlaenge in cm ein: ")
                    l = float(l)
                    print("Eingegeben wurde: " + str(l))
                    L = l/11
                    print("Benötigte Zeit in s: " + str(L)) # Nur für mich Kontrolle
                    b = input("Bitte geben Sie die Spielfeldbreite in cm ein: ")
                    b = float(b)
                    print("Eingegeben wurde: " + str(l))
                    B = b/11
                    print("Benötigte Zeit in s: " + str(B))
                    t = input("Bitte geben Sie die Torlaenge in cm ein: ")
                    t = float(t)
                    print("Eingegeben wurde: " + str(l))
                    T = t/11
                    s = input("Bitte geben Sie die Entfernung von Torstange zu 16ner Ecke in cm ein: ")
                    s = float(s)
                    print("Eingegeben wurde: " + str(s))
                    S = s/11
                    print("Benötigte Zeit in s: " + str(S))
                    Str1 = datetime.timedelta(seconds=L) # Fährt eingegeben Strecke
                    start = datetime.datetime.now()
                    while datetime.datetime.now()-start < Str1:
                    if(temp1==1): GPIO.output(in1,GPIO.HIGH)
                    GPIO.output(in2,GPIO.LOW)
                    GPIO.output(in3,GPIO.HIGH)
                    GPIO.output(in4,GPIO.LOW)
                    print("Str1") time.sleep(1)
                    GPIO.cleanup()

                    F Offline
                    F Offline
                    Fibs
                    schrieb am zuletzt editiert von Fibs
                    #29

                    @fibs

                    on({id: "javascript.0.GPIOSteuerung.Ausfuehren", change: "any"}, function (obj) {
                    var Spielfeldlaenge = getState("javascript.0.GPIOSteuerung.Spielfeldlaenge").val;
                    var Spielfeldbreite = getState("javascript.0.GPIOSteuerung.Spielfeldbreite").val;
                    var Torlaenge = getState("javascript.0.GPIOSteuerung.Torlaenge").val;
                    console.log("führe aus: " + 'python3 /Desktop/iobroker/DA/Main.py ' + Spielfeldlaenge + ' ' + Spielfeldbreite + ' ' + Torlaenge)
                    exec('python3 /Desktop/iobroker/DA/Main.py ' + Spielfeldlaenge + ' ' + Spielfeldbreite + ' ' + Torlaenge, function (error, stdout, stderr) {
                    console.log('*** stdout: ' + stdout);
                    if (error !== null) {
                    console.log('*** stderr: ' + error);
                    }
                    });
                    });

                    1 Antwort Letzte Antwort
                    0
                    • F Fibs

                      @fibs said in Python3 Skript in Iobroker einbinden:

                      import sys
                      import RPi.GPIO as GPIO
                      import time
                      import datetime
                      import math
                      Anzahl Argumente prüfen
                      if len(sys.argv) != 4:
                      print("*** Wrong number of script arguments.")
                      print("f*** call example: {sys.argv[0]} <<Spielfeldlaenge>> <<Spielfeldbreite>> <<Torlaenge>>")
                      quit(-1)
                      def is_float(element: any) -> bool:
                      #If you expect None to be passed:
                      if element is None:
                      return False
                      try:
                      float(element)
                      return True
                      except ValueError:
                      return False
                      print("Total arguments passed:", len(sys.argv))
                      in1 = 24
                      in2 = 23 #Motor links
                      en1 = 25
                      in3 = 22
                      in4 = 27#Motor rechts
                      en2 = 17
                      temp1=1
                      #Reifen außen zu außen 45 cm
                      #Reifen innen zu innen 35 cm
                      #Linienbreite 10 cm
                      GPIO.setmode(GPIO.BCM)
                      GPIO.setup(in1,GPIO.OUT)
                      GPIO.setup(in2,GPIO.OUT)
                      GPIO.setup(en1,GPIO.OUT)
                      GPIO.output(in1,GPIO.LOW)
                      GPIO.output(in2,GPIO.LOW)
                      GPIO.setup(in3,GPIO.OUT)
                      GPIO.setup(in4,GPIO.OUT)
                      GPIO.setup(en2,GPIO.OUT)
                      GPIO.output(in3,GPIO.LOW)
                      GPIO.output(in4,GPIO.LOW)
                      p1=GPIO.PWM(en1,1000)
                      p2=GPIO.PWM(en2,1000)
                      p1.start(50) #Motor 1 Startgeschwindigkeit
                      p2.start(50) #Motor 2 Startgeschwindigkeit
                      l = input("Bitte geben Sie die Spielfeldlaenge in cm ein: ")
                      l = float(l)
                      print("Eingegeben wurde: " + str(l))
                      L = l/11
                      print("Benötigte Zeit in s: " + str(L)) # Nur für mich Kontrolle
                      b = input("Bitte geben Sie die Spielfeldbreite in cm ein: ")
                      b = float(b)
                      print("Eingegeben wurde: " + str(l))
                      B = b/11
                      print("Benötigte Zeit in s: " + str(B))
                      t = input("Bitte geben Sie die Torlaenge in cm ein: ")
                      t = float(t)
                      print("Eingegeben wurde: " + str(l))
                      T = t/11
                      s = input("Bitte geben Sie die Entfernung von Torstange zu 16ner Ecke in cm ein: ")
                      s = float(s)
                      print("Eingegeben wurde: " + str(s))
                      S = s/11
                      print("Benötigte Zeit in s: " + str(S))
                      Str1 = datetime.timedelta(seconds=L) # Fährt eingegeben Strecke
                      start = datetime.datetime.now()
                      while datetime.datetime.now()-start < Str1:
                      if(temp1==1): GPIO.output(in1,GPIO.HIGH)
                      GPIO.output(in2,GPIO.LOW)
                      GPIO.output(in3,GPIO.HIGH)
                      GPIO.output(in4,GPIO.LOW)
                      print("Str1") time.sleep(1)
                      GPIO.cleanup()

                      rrov1R Offline
                      rrov1R Offline
                      rrov1
                      schrieb am zuletzt editiert von
                      #30

                      @fibs Das Python-Skript passt nicht. Zum einen fehlen an verschiedenen Stellen die Einrückungen, wobei ich vermute mal das liegt ein der Einbettung des Codes hier im Forum, zum anderen sind wieder die input()-Funktionsaufrufe drinnen, welche dazu führen, dass das Skript stehen bleibt und auf Eingabe wartet. Ich habe dir noch mal eine Version mit Parametern hier beigelegt: Main.py .
                      Was mir noch aufgefallen ist, du hast jetzt einen vierten Wert den du per input() Abfragst, den habe ich gleich mit als jetzt 4 Parameter eingebaut. Damit brauchst du jetzt auch einen vierten Datenpunkt in ioBroker + einen vierten Parameter im Javascript. Nicht vergessen, sonst geht das nicht.

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      590

                      Online

                      32.6k

                      Benutzer

                      82.3k

                      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