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.
Ankündigung
Einklappen
Keine Ankündigung bisher.
GPIO Plugin: Fehler im Eingangskanal
Einklappen
X
-
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.
Kommentar
-
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
Kommentar
-
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.
Kommentar
-
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 - falschpullupdown 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.
Kommentar
-
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
Kommentar
-
Ich hab die Inputs, sowohl auf Masse als auch auf 3,3V gelegt und verschiedenste Varianten durchprobiert. Ich denke, dass ich es einfach mit einem externen Widerstand versuchen muss. Wenn ich es allerdings über die Konsole mit pigpio versuche, funktioniert es einwandfrei auch ohne externen Widerstand. Es scheint wirklich ein Problem des Plugins zu sein.
Kommentar
-
Das habe ich noch nicht getan, habe es jetzt versucht und es ändert leider nichts. Smarthomeng wird auch als user "smarthome" ausgeführt. Ein Neustart brachte auch keinen Erfolg. Gibt es eine Möglichkeit, auszulesen, welche Rechte für den Ordner vergeben sind? Ich versuche mich da gerade einzuarbeiten, aber einige Kenntnisse im Umgang mit Linux fehlen mir da leider.
Kommentar
-
Zitat von Schuetti Beitrag anzeigenEs scheint wirklich ein Problem des Plugins zu sein.
Bei mir läuft es. Also liegt es nicht (nur) am Plugin.
- Likes 1
Kommentar
Kommentar