Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Pendelzugsteuerung mit Lichtschranke

    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

    Pendelzugsteuerung mit Lichtschranke

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

      Hallo Zusammen,

      ich habe ein Projekt in dem ich eine vorhandene Pendelzugsteuerung so ergänzen möchte, dass sie zu definierten Zeiten losfährt und auch wieder anhält. Aktuell muss man das Teil per Hand starten und auch wieder stoppen.
      Der Zug hat zwei Haltepunkte. Das Problem an der Sache ist, dass der Zug an einem bestimmten Haltepunkt angehalten werden muss, damit die Steuerung beim nächsten Start weiß, wo der Zug sich befindet. Ich nutze einen ESP mit einem Relais und einer Lichtschranke um mein Projekt umzusetzen. Ziel ist es, dass zu einer bestimmten Zeit der Zug gestartet wir und dann nach einem gewissen Zeitraum die Lichtschanke "scharf geschaltet" wird und wartet, bis der Zug einfährt und dann über das Relais, die Stromzufuhr unterbricht. Am nächsten Tag fängt zu einer bestimmten Zeit das ganze wieder von vorne an. Ich habe mir hierfür auch schon versucht ein Script zusammenzubauen. Das der Zug zu einer bestimmten Zeit losfährt bekomme ich hin. Jedoch stürzt dann bei mit immer die Javascript Instanz ab. Ich denke das hängt irgendwie mit dem Delay zusammen. Es gibt bestimmt auch einen schöneren Lösungsansatz als an der Stelle einfach so lange zu warten. Kann mir hier jemand vielleicht unter die Arme greifen? Ich komme so nicht mehr weiter.

      Hier noch ein Bild des Blockly Scripts und der Code:

      Script Pendelzug.png

      var schedule1;
        
      schedule1 = schedule('{"time":{"exactTime":true,"start":"22:47"},"period":{"days":1}}', async function () {
        try {
          require("request")('http://192.168.178.88/control?cmd=gpio,14,1').on("error", function (e) {console.error(e);});
        } catch (e) { console.error(e); }
      });
      await wait(10000);
      while (!(getState("mqtt.0.Pendelautomatik.Lichtschranke.State").val == 1)) {
        try {
          require("request")('http://192.168.178.88/control?cmd=gpio,14,0').on("error", function (e) {console.error(e);});
        } catch (e) { console.error(e); }
      }
      
      

      Gruß
      André

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        @andre_k sagte: stürzt dann bei mit immer die Javascript Instanz ab.

        "wiederhole bis" erzeugt eine Endlosschleife, die Ursache für den Absturz ist.

        Wenn auf die Änderung des Datenpunktes reagiert werden soll, verwende einen Trigger dafür.

        1 Reply Last reply Reply Quote 0
        • A
          andre_k last edited by

          Danke für den Hinweis. Das Problem ist allerdings, dass der Trigger ja nicht auf die Eingabe wartet, oder? Ich habe in dem Beispiel nach dem Cron eine Wartezeit von 10 Sekunden. Nach dieser Zeit muss das Script solange "warten", bis die Lichtschranke den Wert 1 zurückgibt also sprich der Zug auf seinem Ausgangspunkt steht. Während der Wartezeit dürfen die Werte, welche die Lichtschranke ausgibt nicht verwertet werden.

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @andre_k last edited by paul53

            @andre_k sagte: Während der Wartezeit dürfen die Werte, welche die Lichtschranke ausgibt nicht verwertet werden.

            Also eine Freigabe erst nach 10 s?

            Bild_2022-06-06_121538148.png

            Die Lichtschranke gibt die Werte 0 und 1 aus? Dann genügt der Trigger "ist größer als letztes".

            1 Reply Last reply Reply Quote 0
            • A
              andre_k last edited by

              Perfekt. Es hat funktioniert. Vielen Dank! 🙂

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

              Support us

              ioBroker
              Community Adapters
              Donate

              433
              Online

              31.9k
              Users

              80.1k
              Topics

              1.3m
              Posts

              2
              5
              204
              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