ESPEASY GPIO Status abfragen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Karl222
    Extension Master
    • 07.09.2015
    • 166

    #1

    ESPEASY GPIO Status abfragen

    Hallo Leute,
    ich hab mir eine Sonoff S20 WLAN Steckdose geholt und mit ESPEASY geflasht. Mit dem Befehl http://10.0.0.91/control?cmd=status,gpio,12, kann ich den Status des Relais-Ausgangs abfragen. Dies ist wichtig, weil man die S20 auch über einen Push-Button am Gerät ein- und ausschalten kann.
    Im MS lege ich dann einen EIB-Taster an und spiele mir den Status der Abfrage rein und habe so die Feedbackschleife.

    Ich komme aber aber beim virtuellen http-Eingang nicht weiter. Kann mir bitte wer helfen, wie ich den anlegen muss und welche Parameter ich hinterlegen muss, damit es funktioniert.

    danke
    karl
  • Karl222
    Extension Master
    • 07.09.2015
    • 166

    #2
    Die Ausgabe ergibt übrigens folgendes:
    {
    "log": "",
    "plugin": 1,
    "pin": 12,
    "mode": "output",
    "state": 1
    }

    Kommentar

    • romildo
      Lebende Foren Legende
      • 25.08.2015
      • 5160

      #3
      Hallo,
      Beim Virtuellen HTTP Eingang kommt in die URL:
      Code:
      http://10.0.0.91/control?cmd=status,gpio,12
      Beim Eingangsbefehl in die Befehlskennung:
      Code:
      "state": \v
      Die kleinste einstellbare Abfragezykluszeit ist allerdings 10s.

      Wenn Du das "Ding" mit ESPEASY geflasht hast, müsstest Du doch auch zugriff auf die Rules haben und dort müsste man doch auch ein SendToUDP zum Miniserver anlegen können, oder liege ich da falsch?
      lg Romildo

      Kommentar

      • Karl222
        Extension Master
        • 07.09.2015
        • 166

        #4
        Hi,
        danke vorerst mal!

        Ja, kann udp, hab's auch konfiguriert und hatte eh auch schon die überlegung den espeasy eine udp message schicken zu lassen, damit ich nicht dauernd abfragen muss...

        hab aber absolut keine ahnung, wie ich das angehe.

        in den rules steht schon code, damit der taster richtig eingebunden wird:

        on Schaltsteckdose#Switch do
        if [SchaltsteckdoseStatus#Switch]=0
        gpio,12,1
        else
        gpio, 12,0
        endif
        endon

        was müsste ich da ergänzen, damit sendtoudp funktioniert... und was muss dann in loxone angelegt werden.

        ich gebe dir recht, das wäre die smarteste lösung!!!!!

        danke schon mal

        Kommentar

        • romildo
          Lebende Foren Legende
          • 25.08.2015
          • 5160

          #5
          Im Prinzip müsste es so funktionieren:
          Code:
          on Schaltsteckdose#Switch=0 do
          SendToUDP IP-Miniserver,Port,Ausgang12 1
          endon
          on Schaltsteckdose#Switch=1 do
          SendToUDP IP-Miniserver,Port,Ausgang12 0
          endon
          Aber auf eigene Verantwortung, da bei Fehlern der ESP unter Umständen nicht mehr erreichbar ist und neu geflasht werden muss.

          Dann im Miniserver einen Virtuellen UDP Eingang anlegen
          Senderadresse: IP von ESP
          UDP Empfangsport: Port wie oben
          Darunter legst Du UDP Eingangsbefehle an (hier gibt es zwei Möglichkeiten, Analog und Digital)
          Fürs Beispiel legen wir also 3 Eingangsbefehle an
          1. UDP Eingangsbefehl als Digital
          Befehlserkennung: Ausgang12 1
          2. UDP Eingangsbefehl als Digital
          Befehlserkennung: Ausgang12 0
          3. UDP Eingangsbefehl als Analog
          Befehlserkennung: Ausgang12 \v

          Für die digitalen Eingänge verwenden wir im Beispiel einen Tasterblock, damit man sieht ob dieser schaltet.
          1. UDP Eingangsbefehl kommt an Eingang O von Tasterblock
          2. UDP Eingangsbefehl kommt an Eingang R von Tasterblock

          Den Analogen einfach in die Config ziehen, da dieser ja den Wert behält, bis er geändert wird.

          Für die endgültige Anwendung wirst Du ja nur Analog oder Digital verwenden, daher habe ich beide Beispiele beschrieben.
          Zuletzt geändert von romildo; 12.03.2017, 20:17.
          lg Romildo

          Kommentar

          • Karl222
            Extension Master
            • 07.09.2015
            • 166

            #6
            Super!

            Kannst du mir bitte noch erklären, wie ich den code in den vorhandenen code integriere...?

            danke

            Kommentar


            • romildo
              romildo kommentierte
              Kommentar bearbeiten
              Wenn Du den jetzigen beibehalten willst, einfach darunter einfügen.
          • Karl222
            Extension Master
            • 07.09.2015
            • 166

            #7
            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image_8615.jpg
Ansichten: 4135
Größe: 117,7 KB
ID: 89071Klicke auf die Grafik für eine vergrößerte Ansicht  Name: sonoff.JPG Ansichten: 1 Größe: 32,6 KB ID: 89069Klicke auf die Grafik für eine vergrößerte Ansicht  Name: sonoff rules.JPG Ansichten: 1 Größe: 73,0 KB ID: 89070Klicke auf die Grafik für eine vergrößerte Ansicht  Name: befehl analog.JPG Ansichten: 1 Größe: 122,3 KB ID: 89072Klicke auf die Grafik für eine vergrößerte Ansicht  Name: befehl digital 1.JPG Ansichten: 1 Größe: 110,2 KB ID: 89073

            So, hab jetzt alles so umgesetzt, bekomme es aber nicht ans laufen:

            udp monitor zeigt nichts, auch der live view zeigt nichts...

            sorry, dass die dinger so durcheinander sind, aber ich bekomme die Editierfunktion nicht unter kontrolle... ;-)
            Zuletzt geändert von Karl222; 13.03.2017, 21:33.

            Kommentar

            • Karl222
              Extension Master
              • 07.09.2015
              • 166

              #8
              hier noch die Abbildung mit dem Taster

              Klicke auf die Grafik für eine vergrößerte Ansicht

Name: taster.JPG
Ansichten: 4016
Größe: 22,3 KB
ID: 89077

              Kommentar

              • romildo
                Lebende Foren Legende
                • 25.08.2015
                • 5160

                #9
                Ich kann da keinen Fehler finden.

                Du hast ja nur die zusätzlichen Zeilen in Rules eingefügt, oder nicht?
                Was hast Du in Config -> Main Settings unter Protocol drin?
                Welche ESP Easy Version unter Main -> System Info Build?

                Die http Statusmeldung funktioniert aber noch, oder auch nicht?

                Und davon, dass Du den Push-Button "Schaltsteckdose" betätigst, gehe ich mal aus.
                Zuletzt geändert von romildo; 14.03.2017, 07:21.
                lg Romildo

                Kommentar

                • Karl222
                  Extension Master
                  • 07.09.2015
                  • 166

                  #10
                  Hi Romildo,

                  danke für deinen Hinweis... wenn man den Knopf an der S20 drückt, dann meldet sie brav zurück... das war der entscheidende Hinweis ;-)

                  danke
                  Karl

                  Kommentar

                  • romildo
                    Lebende Foren Legende
                    • 25.08.2015
                    • 5160

                    #11
                    Schön wenn's funktioniert.
                    Wenn Du möchtest könntest Du noch den Rules Eintrag etwas vereinfachen.
                    Folgende Zeilen sollten zum gleichen Ergebnis führen:
                    Code:
                    on Schaltsteckdose#Switch do
                      if [SchaltsteckdoseStatus#Switch]=0
                       gpio,12,1
                       SendToUDP 10.0.0.56,9042,Ausgang12 1
                      else
                       gpio,12,0
                       SendToUDP 10.0.0.56,9042,Ausgang12 0
                      Endif
                    endon
                    Zuletzt geändert von romildo; 19.03.2017, 09:15.
                    lg Romildo

                    Kommentar

                    • Karl222
                      Extension Master
                      • 07.09.2015
                      • 166

                      #12
                      Funktioniert ausgezeichnet!

                      Many thanks

                      Kommentar

                      • Gast

                        #13
                        Hallo,

                        ich denke um die Steckdose wirklich richtig zu integrieren, müsste man den Status auch beim "Neustart" der Steckdose schicken, sonst stimmt der Status ja nicht immer.
                        => wie würde man den status (bzw ist dieser ja 0 beim anstecken der Sonoff Steckdose) beim "Neustart" an den MS schicken?

                        Weiters müsste beim Neustart des MS ja auch der Status abegfragt werden.
                        => wie schaut hier die vorgehensweise aus?

                        LG,
                        retodor

                        Kommentar

                        • Robert L.
                          MS Profi
                          • 26.08.2015
                          • 922

                          #14
                          >Dies ist wichtig, weil man die S20 auch über einen Push-Button am Gerät ein- und ausschalten kann.

                          nein ist es nicht
                          ich hab das so gemacht, dass ich den PushButton an loxone sende, und loxone dann die Steckdose schaltet

                          code braucht man so auch keinen, geht alles mit den "Generic UDP" protocoll
                          irgendwo muss noch ein "Timeout" verkürzt werden, damit es schnell genug ist..
                          kann dir am Abend vielleicht nachschauen was ich genau alles eingestellt habe (z.b auch dass die LED nicht leuchtet usw.)

                          Kommentar

                          • Gast

                            #15
                            naja es gibt ja auch die möglichkeit, dass die sonoff ein ist und von der steckdose gezogen wird. nachdem sie wieder angesteckt wird ist die steckdose aus aber die rückmeldung ist ein

                            Kommentar


                            • Robert L.
                              Robert L. kommentierte
                              Kommentar bearbeiten
                              ja, stimmt auch wieder
                              müsste man aber ein
                              SendToUDP 10.0.0.56,9042,Ausgang12 0
                              beim starten von SonOff hinbekommen
                          Lädt...