Mit KNX ein GPIO auf dem Raspi schalten

Begonnen von Bubi Scholz, 18 November 2020, 21:18:08

Vorheriges Thema - Nächstes Thema

Bubi Scholz

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

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Bubi Scholz

hallo,

erst mal vielen Dank.
Werde ich ausprobieren.

Ich dachte ich kann der Busadresse irgendwie hinzufügen.

Bubi Scholz

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

Otto123

Zitatklappt irgendwie nicht.
Die Tür?
List?
Versuch?
Event?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Amenophis86

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?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Bubi Scholz

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


Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Bubi Scholz

@Amenophis

ZitatDann 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

Bubi Scholz

@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

Otto123

#10
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Amenophis86

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.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Bubi Scholz

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

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Bubi Scholz

Danke euch beiden,

es funktioniert alles :-)))))

Grüße vom Niederrhein

PS:
Hat bei mir einiges an Verständnis gebracht.