FHEM Forum

FHEM - Hausautomations-Systeme => KNX/EIB => Thema gestartet von: Bubi Scholz am 18 November 2020, 21:18:08

Titel: Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Bubi Scholz am 18 November 2020, 21:18:08
Hallo,

ich habe eine KNX Anlage und als Homeserver den Raspi mit fhem laufen.
Die meisten Dinge laufen und habe ich verstanden, das Kleinzeug werde ich im Winter fertig machen.

Ich habe gerade folgende Aufgabenstellung:
Am Raspi hängt eine 8fach GPIO Karte über die ich per fehm bis jetzt 3 Relais schalte.
Ich möchte jetzt über den KNX Bus zusätzlich eines der Relais Schalten.

Ich habe für den Raspi eine eigene Unterverteilung im Keller gesetzt.
Leider ist dort nicht wirklich viel Licht.
Also eine Leuchte montiert und auf ein Relais.
Per fhem funktioniert die Leuchte jetzt soll sie zusammen mit dem Kellerlicht, KNX, zusammen angehen.

Ich möchte mich schon mal im Vorraus für das Forum bedanken, bis jetzt habe ich alles durch das Forum lösen können.
Leider finde ich gerade zu meinem Thema keinen Eintrag.

Grüße Bubi
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Otto123 am 18 November 2020, 21:34:08
Hi Bubi,

sowas in der Art sollte gehen
define n_Aktor1 notify Aktor1:o[nf]+ set Aktor2 $EVENT
Schalte Aktor2 parallel zu Aktor1

Gruß Otto
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Bubi Scholz am 27 November 2020, 17:40:25
hallo,

erst mal vielen Dank.
Werde ich ausprobieren.

Ich dachte ich kann der Busadresse irgendwie hinzufügen.
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Bubi Scholz am 27 November 2020, 20:10:16
Hallo,

klappt irgendwie nicht.

Ich habe einen Aktor im KNX und ein Relais am Raspi.
Das Steuersignal soll vom KNX kommen.
Dh ich muss irgendwie der Busadresse sagen das sie auch noch den GPIO schalten soll.

grüße
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Otto123 am 27 November 2020, 22:33:12
Zitat
klappt irgendwie nicht.
Die Tür?
List?
Versuch?
Event?
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Amenophis86 am 28 November 2020, 16:46:13
Willste das Problem hier oder im KNX FU klären? :D
Wir müssen erstmal die Grundlagen klären. Was haste du denn genau, was geht, wie heißen die Geräte in FHEM?
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Bubi Scholz am 28 November 2020, 20:16:22
Hi,

ich denke das es ein Thema für das fhem Forum ist ;-)

Ich habe einen Raspi 2 als fhem-Server laufen der per TUL Stick mit dem KNX verbunden ist.
Zudem habe ich am Raspi eine 8fach Relaiskarte installiert

Mein KNX besteht aus einem Sammelsurium von Herstellern, von 1999 bis Heute.
Die ältesten Geräte sind von Felten und Guilleaume, die haben damals mit Möller zusammen gearbeitet.
Es folgt noch Gira, Jung, Merten und die neusten Sachen sind von MDT (2020).
Es Laufen im Moment ca. 40 Geräte im KNX. 2/3 vom Haus sind schon renoviert und umgerüstet.
Mit dem reinen KNX habe ich im Moment kein Problem.
Bei den alten Geräten muss man zwar teilweise etwas mehr Rückmeldeadressen setzen, aber das habe ich alles hin bekommen.

Jetzt zum fehm.
Meiner Gartenpumpe für die Bewässerung habe ich Abschaltverzögerungen hinzugefügt, die Pumpe ist komplett im KNX eingebunden.
An der 8fach Relaiskarte sind die Haustüre via Fingerscan, zwei Schaltbare Steckdosen im Vorgarten und
die Leuchte vor der UV für den Raspi angeschlossen.

Das schalten der Relaiskarte über fhem sind kein Problem, auch das eingreifen vom fhem in den KNX klappt.
Hier gibt es sehr viele Anleitungen.
Ich kann, programmiertechnisch, ohne große Probleme Anleitungen auf meine Bedürfnisse anpassen.
Leider habe ich noch nie richtig programmieren gelernt, bin halt mehr der Handwerker :-) (und alt ;-)
Ohne Anleitung bin ich halt meist aufgeschmissen.
Ich habe im Netz keine einzige Anleitung gefunden wie ich mit dem KNX auf dem fhem was machen kann.

Was habe ich noch vor:
- erst mal das Relais schalten.
- Meine Heizungssteuerung erweitern mit WLAN Heizungsthermosthaten.
- Wetterstation
- Szenensteurungen vertiefen
- Raspi automatische Datensicherung

Und da mein KNX läuft habe ich mit allem keinen Stress.
Jetzt kommt die kalte Zeit und ich versuche alles in Ruhe anzugehen.

Grüße vom Niederrhein

Bubi

Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Otto123 am 28 November 2020, 20:36:03
Hallo Bubi,

dann probier es mit einem notify https://wiki.fhem.de/wiki/Notify
Vom Prinzip her so:
Schaust Du im Eventmonitor https://wiki.fhem.de/wiki/Event_monitor
suchst den KNX Event auf den Du reagieren willst. Lässt Dir ein notify erzeugen
Und packst in den Ausführungsteil ein set Relais on

Gruß Otto
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Bubi Scholz am 28 November 2020, 21:13:09
@Amenophis

Zitat
Dann helfen wir mal. Du sagst, dass du den Bus via fhem schalten kannst. Wie machst du das? Und hast du die Gruppenadressen in fhem selbst angelegt oder per autocreate anlegen lassen? Siehst du in fhem die Gruppenadresse für den Status des Keller Lichts?

Die Gruppenadressen sind per autocreate eingebunden von mir Schaltbar gemacht, umbenannt und Räumen zugeordnet.
Sind bedienbar über KNX und fhem, da wo ich schon alle Rückmeldeobjekte eingearbeitet habe funktionieren auch die Statusmeldungen.

Anbei Raum Keller und KNX
Beim Keller ist der erste Test mit notify dabei
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Bubi Scholz am 28 November 2020, 21:16:31
@Otto123

Hallo,

ich glaube das ich falsch denke.
Muss ich noch ein zusätzliches Element im fhem erzeugen?
Mein Gedanke ist es einfach dem einen zu sagen das er den anderen mitsteuern muss.
Oder habe ich dann drei Objekte.
Licht Keller 1 & Licht Keller 2 & die Verknüpfung der beiden?

Grüße Bubi
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Otto123 am 29 November 2020, 00:41:28
Hallo Bubi,

Objekt1 ist das KNX Licht
Objekt2 ist das GPIO Licht.
Objekt3 ist die Kopplung zwischen beiden: ein notify im einfachsten Fall.

So in der Art (Edit: Fehler beseitigt)
define n_Objekt3 notify Objekt1:on|Objekt1:off set Objekt2 $EVENT
Ob Du Dein GPIO in die KNX Logik integriert bekommst um der "einfach zu sagen" weiß ich nicht. Glaub ich aber nicht.
Das genau macht ja FHEM: Welt1 koppeln mit Welt2 ;)

Gruß Otto
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Amenophis86 am 29 November 2020, 13:51:41
Damit wäre durch Otto alles erklärt ;)

Noch ein Hinweis, Bilder sind zwar ok aber besser ist es für Geräte mit dem Befehl list <devicename> zu arbeiten um im Forum etwas zu zeigen.
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Bubi Scholz am 29 November 2020, 15:12:45
Erst mal danke euch beiden,

Die habe ich ausprobiert
define Verknuepfung_Kellertreppe Licht_Keller_Treppe:on|Licht_Keller_Treppe:off set Licht_Keller $EVENT
define Verknuepfung_Kellertreppe Licht_Keller_Treppe:g1|Licht_Keller_Treppe:g1 set Licht_Keller $EVENT
define Verknuepfung_Kellertreppe Licht_Keller:on|Licht_Keller:off set Licht_Keller_Treppe $EVENT
define Verknuepfung_Kellertreppe Licht_Keller_Treppe:g1 set Licht_Keller $EVENT

egal wie, es kommt folgende Fehlermeldung:
Unknown module Licht_Keller_Treppe:on|Licht_Keller_Treppe:off
und es wird nichts angelegt


Licht_Keller über GPIO
Internals:
   CFGFN     
   DEF        21
   FUUID      5fb57c35-f33f-6638-7cd9-b6642a27900e5bb5
   GPIO_Basedir /sys/class/gpio
   GPIO_Nr    21
   NAME       Licht_Keller
   NR         38150
   STATE      off
   TYPE       RPI_GPIO
   WiringPi_gpio
   READINGS:
     2020-11-29 14:58:34   Pinlevel        low
     2020-11-27 20:23:55   state           off
   fhem:
     interfaces switch
Attributes:
   active_low yes
   direction  output
   room       Keller


Licht_Keller_Treppe über KNX
Internals:
   DEF        1/4/6:dpt1
   DEVNAME    Licht_Keller_Treppe
   EIB_MSGCNT 176
   EIB_RAWMSG C01164w0140600
   EIB_TIME   2020-11-29 13:54:24
   FIRSTGADNAME g1
   FUUID      5f091154-f33f-6638-648b-8b0b2a7a23804d89
   GETSTRING  g1:noArg
   IODev      EIB
   LASTInputDev EIB
   MSGCNT     176
   NAME       Licht_Keller_Treppe
   NR         53
   NTFY_ORDER 50-KNX_0104006
   SETSTRING  g1:off,on
   STATE      off
   TYPE       KNX
   GADDETAILS:
     g1:
       CODE       01406
       GROUP      1/4/6
       MODEL      dpt1
       NO         1
       OPTION     
       RDNAMEGET  getG1
       RDNAMEPUT  putG1
       RDNAMESET  setG1
       SETLIST    :off,on
   GADTABLE:
     01406      g1
   READINGS:
     2020-11-29 13:54:24   getG1           off
     2020-11-29 13:54:24   last-sender     1/1/100
     2020-11-27 20:23:52   setG1           off
     2020-11-29 13:54:24   state           off
Attributes:
   IODev      EIB
   room       KNX,Keller
   webCmd     on:off
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: MadMax-FHEM am 29 November 2020, 15:18:32
Da ist Otto wohl (mir auch schon passiert) ein "Fehler" unterlaufen, er hat das "Modul" notify "vergessen" ;)

Also:

define n_Objekt3 notify Objekt1:on|Objekt1:off set Objekt2 $EVENT

Bei dir dann so in etwa:

define Verknuepfung_Kellertreppe notify Licht_Keller_Treppe:on|Licht_Keller_Treppe:off set Licht_Keller $EVENT

oder (so würde ich tun):
define Verknuepfung_Kellertreppe notify Licht_Keller_Treppe:(on|off) set Licht_Keller $EVENT

Ob man nun die Klammern braucht oder nicht: keine Ahnung ;)

Ich hab das so... :)

Gruß, Joachim
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Bubi Scholz am 29 November 2020, 15:34:51
Danke euch beiden,

es funktioniert alles :-)))))

Grüße vom Niederrhein

PS:
Hat bei mir einiges an Verständnis gebracht.
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: Otto123 am 29 November 2020, 15:54:52
Da ist Otto wohl (mir auch schon passiert) ein "Fehler" unterlaufen, er hat das "Modul" notify "vergessen" ;)
in meiner ersten Antwort #1 war es schon mal komplett.  ;D

Ich habe es korrigiert.

Zitat
Ob man nun die Klammern braucht oder nicht: keine Ahnung ;)
Braucht man! sonst triggerst Du mMn auf das regExp Licht_Keller_Treppe:on und das Gerät off
In #1 stand die kurze "gute" Form :) (Stichwort NOTIFYDEV)
Titel: Antw:Mit KNX ein GPIO auf dem Raspi schalten
Beitrag von: MadMax-FHEM am 29 November 2020, 16:45:48
Ah, dann hab ich Antwort #1 wohl übersehen...
...nicht weit genug zurück "gerudert" wo es her kam...
...sondern beim 1. Treffer rückwärts gestoppt... ;)

Und Klammern: intuitiv richtig gemacht :)
Erklärung macht Sinn...

Gruß, Joachim