Ankündigung

Einklappen
Keine Ankündigung bisher.

GPIO Plugin: Fehler im Eingangskanal

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Morg
    antwortet
    Wie sind die Inputs denn verschaltet?

    Einen Kommentar schreiben:


  • Schuetti
    antwortet
    Ich habe bei den Items auch schon diverse Versuche unternommen mit
    Code:
    gpio_invert: True
    oder
    Code:
    gpio_pud: down
    . Hat alles nicht verändert.

    Einen Kommentar schreiben:


  • Schuetti
    antwortet
    Moin! Das Item sieht so aus:
    Code:
    Eingang_Bewegung_Halle:
        type: bool
        visu_acl: rw
        gpio_in: 16
    und das Plugin ist so konfiguriert:
    Code:
    GPIO:
    plugin_name: gpio
    mode: BCM
    pullupdown: down

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Wie ist deine Konfiguration? Plugin, Items, ...?

    Einen Kommentar schreiben:


  • Schuetti
    antwortet
    Moin!
    Ich hole den Thread hier nochmal raus: Ich habe das gleiche Problem: GPIO_inputs schalten die flanken bei Kontakt willkürlich. Außerdem funktionieren die Itemattribute gpio_invert, gpio_init und gpio_pud auch nicht. Egal was ich verändere, die Relais müssen immer auf true gesetzt werden, damit sie abfallen. Bei jedem Neustart ziehen sie dann einmal an. Da ich damit ein Tor steuern möchte, äußerst unpraktisch. Hat noch jemand ne Idee? Vielleicht ne andere Relaiskarte, die nur bei high schaltet? Aber das muss doch irgendwie zu lösen sein...
    Beste Grüße
    Christoph

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Dann würde mich mal dein aktuelles Log (mit pullupdown: updown) interessieren - das gibt es nämlich nicht, default ist "up", auch bei ungültigen Werten ("updown").
    Kannst du nochmal beschreiben, wie genau der Eingangspin beschaltet ist? Ich vermute, dass die Beschaltung und pullupdown nicht zusammenpasst...

    Deine Vermutung ist - Programmierfehler ausgenommen - falsch pullupdown steuert die interne Beschaltung bzw. Auswertelogik der IN-Pins (siehe auch https://de.wikipedia.org/wiki/Pullup-Widerstand).

    Flankenerkennung hat damit nichts zu tun, auch wenn man die zusätzlich definieren könnte (Plugindatei __init__.py, Zeile 115, "PiGPIO.BOTH" heißt "beide Flanken", also steigend und fallend). Das bietet das GPIO-Plugin aber derzeit nicht an.

    Einen Kommentar schreiben:


  • TobiasG
    antwortet
    Ursache gefunden, Problem gelöst!

    @Morg: Du hast mich auf eine Idee gebracht: Statt up oder down im Parameter "pullupdown" einzutragen, habe ich es mit "updown" probiert. Jetzt reagiert es auf beide Flanken. Da muss man erstmal dhinter kommen ⚜

    Einen Kommentar schreiben:


  • TobiasG
    antwortet
    Ja, sorry ist ein Tippfehler. Die Parameter habe ich über das Admin Interface eingetragen und so nichts an der Parameterbezeichnung verändert. Das Startlog sieht wie folgt aus:

    2020-07-14 09:33:54 WARNING __main__ -------------------- Init SmartHomeNG 1.7.2.master (3828810e) --------------------
    2020-07-14 09:33:54 WARNING __main__ Running in Python interpreter 'v3.7.3 final' on Linux-4.19.118-v7+-armv7l-with-debian-10.4 (pid=14988)
    2020-07-14 09:33:55 WARNING lib.shtime Nutze Feiertage für Land 'DE', Provinz 'BW', State '', 1 benutzerdefinierte Feiertagsdefinition(en) definiert
    2020-07-14 09:34:04 WARNING lib.item load_itemdefinitions(): For testing the joined item structs are saved to /usr/local/smarthome/etc/structs_joined.yaml
    2020-07-14 10:34:06 INFO plugins.gpio Adding event detection for input pin 22, initial value is True
    2020-07-14 10:34:06 INFO plugins.mqtt _start_subscription: Subscribing to topic pool/wasserfall/schalten, payload_type 'bool' for item Pool.Wasserfall.Schalten (callback=<bound method MqttPlugin._on_mqtt_message of <plugins.mqtt.Mqtt2 object at 0x685b1b90>>)
    2020-07-14 10:34:06 INFO plugins.mqtt _start_subscription: Subscribing to topic pool/zulaufsteuerung/schalten, payload_type 'num' for item Pool.Zulaufsteuerung.Schalten (callback=<bound method MqttPlugin._on_mqtt_message of <plugins.mqtt.Mqtt2 object at 0x685b1b90>>)
    2020-07-14 10:34:06 INFO plugins.gpio Read pin 22 with value 1 after event_detection
    2020-07-14 10:34:07 INFO plugins.gpio Read pin 22 with value 1 after event_detection
    2020-07-14 10:34:07 INFO plugins.gpio Read pin 22 with value 1 after event_detection
    2020-07-14 10:34:08 INFO plugins.gpio Read pin 22 with value 1 after event_detection
    2020-07-14 10:34:09 INFO plugins.gpio Read pin 22 with value 1 after event_detection
    2020-07-14 10:34:09 INFO plugins.gpio Read pin 22 with value 1 after event_detection
    2020-07-14 10:34:10 INFO plugins.gpio Read pin 22 with value 1 after event_detection
    2020-07-14 10:34:18 INFO plugins.database remove_older_than_maxage: Worklist filled with 10 items

    so wie es scheint, wird nur das Event für das Schalten auf "1" erkannt.

    Einen Kommentar schreiben:


  • Morg
    antwortet
    In der Hoffnung, dass es keine copy-and-paste-Fehler ist: der Parameter heißt "pullupdown", nicht "pulldown". Hast du den in der plugin.yaml korrekt eingetragen?

    Ggf. kannst du ja mal ein Debug-Log vom Start von shng.py posten, idealerweise mit zwei oder drei Änderungen am Eingangspegel.

    Gerade, dass das mit einem zweiten RPi genauso nicht geht, lässt mich auf eine erfolgreiche Fehlersuche hoffen

    Einen Kommentar schreiben:


  • TobiasG
    antwortet
    Hallo Morg,

    ja ich habe ein anderes Raspi 2b installiert. Dort habe ich das gleiche Problem. Komischerweise funktioniert der Eingang unter wiringpi einwandfrei. ich kann jede Änderung am Eingang sofort sehen. In im gpio Plugin in smathomeng wird der Wert einmal beim Klicken des Schalters geändert, dann ist keine weitere Änderung mehr möglich. Die Relais lassen sich perfekt über die gpio Ausgänge schalten.

    Die Konfig des gpio Plugin ist:

    mode: board
    bouncetime: 300
    pulldown: up


    irgendwas scheint hier leider nicht zu passen.

    Einen Kommentar schreiben:


  • TobiasG
    antwortet
    Hallo Morg, nein leider bisher noch nicht. Bin gerade nicht zuhause aber RPi 4 ist bestellt. Werde es mal damit probieren. Wird aber noch etwas dauern.

    Einen Kommentar schreiben:


  • Morg
    antwortet
    @aschwith: Danke fürs Finden, das habe ich tatsächlich übersehen.

    Leider hilft das Tobias wohl nicht, da gab es ja Probleme mit dem Eingang.

    @Tobias: Hast du etwas rausfinden können?

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    Mit einem der letzten Commits wurde ein Fehler in das GPIO plugin gebracht, welches dazu geführt hat, dass GPIO out pins nicht mehr korrekt gesetzt worden sind. Der Fehler ist jetzt behoben. Fix liegt im Develop branch.

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Habe gerade nen RPi1 Mod B mit 8-Kanal Relais und 4 Eingängen auf GPIO aufgesetzt, da hat das funktioniert. Wundert mich, dass das auf jedem Eingang so ist. Würde mich eher auf ein systemisches Problem tippen lassen als auf einen - oder zufällig viele - kaputte Kanäle im GPIO...

    Sind da ggf. noch Treiber geladen? I2C, SPI, Onewire,...? Kannst du ggf. in raspi-config prüfen.

    Einen Kommentar schreiben:


  • TobiasG
    antwortet
    Ja, das hatte ich alles schon ausprobiert. Leider immer derselbe Effekt. Vielleicht liegt es an meinem Raspi. Werde es mal mit einem neueren Modell probieren.

    Einen Kommentar schreiben:

Lädt...
X