2bit = dtp2 Präsenzmelder Zwangsführung in FHEM

Begonnen von Weisnich, 12 März 2017, 14:24:20

Vorheriges Thema - Nächstes Thema

Weisnich

Hallo Leute,

nachdem ich nun meine ersten Kellerlampen dazu bekommen habe, auf FHEM zu hören, will ich die nächste Stufe angehen: Meine Präsenzmelder-gesteuerten Leuchten.

Nehme ich z.B. das Flurlicht.
Hier ist über ETS ein Präsenzmelder programmiert:
- 2/1/0 Ausgang (1bit lesen, schaltet die Lampe)
- 2/1/4 Zwangsführung (2bit schreiben, der Input)

und die Lampe
- 5/1/0 Schalten (1bit schreiben, per ETS-Programmierung verbunden mit 2/1/0)
- 5/1/1 Sperren (1bit schreiben, aktuell nicht benutzt, aber wer weiß..)
- 5/1/2 Status (1bit lesen, Bestätigung, ob die Lampe denn nun an ist)

Ich erhalte damit folgende Zustände durch setzen der Zwangsführung 2/1/4:
- 0 :Auto, also Ausgang=Lampen an bei Präsenz im Dunkeln und aus sonst
- 2 :Aus
- 3 :An

Nun hat FHEM kein dtp2, genauer dtp2.001, die Definition ist damit als dtp2-Device nicht möglich.

Dann habe ich irgendwo gelesen, mann kann auch die Prozent-dtp nehmen und dann 0, 75 und 100% übergeben, also probiere ich
define L_EG_FlurKNX 2/1/0:dpt3:zwangsfuehrung 5/1/2:dpt1.001:status 5/1/1:dpt1.001:sperren

und erhalte
Unknown module 2/1/0:dpt3:zwangsfuehrung

Wer sagt mir (=noob) nun, wie ich das mit dem Präsenzmelder hinbekomme. FHEM kann doch Präsenzmelder, oder?


Gruß und Dank,
Weisnich

EIB-Fan

Hallo Weisnich,

da fehlt doch (erst einmal) ein Leerzeichen zwischen "L_EG_Flur" und "KNX".

Probier mal die Definition.

define L_EG_Flur KNX 2/1/0:dpt3:zwangsfuehrung 5/1/2:dpt1.001:status 5/1/1:dpt1.001:sperren

Viel Erfolg!

Gruß Jens

Andi291

Schaust Du bei den DPT:

ZitatDPT2:
Without priority control 0 0
Without priority control 0 1
With priority control function corresp. 1 0
With priority control function corresp. 1 1

Mit DPT3 abbilden wird schwierig, weil:
- Länge passt nicht
- DPT3 kann kein "0"


Weisnich

Hallo Leute

@EIB-Fan: ...manchmal sieht man den Wald vor lauter Bäumen nicht mehr... DANKE!

@Andi: die Idee ist wie ich verstanden habe, dass nur die ersten beiden bits verarbeitet werden und das letzte verschluckt wird. Keine gute Lösung, aber eine Lösung. Vielleicht gibt es ja doch irgendwann 2 bits für die armen KNX-Noobs wie mich

Was soll ich sagen? Löppt:
define L_EG_Flur KNX 2/1/4:dpt3:zwangsfuehrung 5/1/2:dpt1.001:status 5/1/1:dpt1.001:sperren
attr L_EG_Flur IODev KNX
attr L_EG_Flur alias EG Flur
attr L_EG_Flur devStateIcon status-get.off:FS20.off  zwangsfuehrung-set.-50:FS20.off status-get.on:FS20.on zwangsfuehrung-set.0:dim50% zwangsfuehrung-set.-25:FS20.on
attr L_EG_Flur eventMap /value -50 zwangsfuehrung:AUS/value 0 zwangsfuehrung:AUTO/value -25 zwangsfuehrung:AN
attr L_EG_Flur group Beleuchtung
attr L_EG_Flur room LandDerVerlorenenBits
attr L_EG_Flur stateRegex /getG2:/status:/ /setG1:/zwangsfuehrung:/ /setG3:/sperren:/
attr L_EG_Flur webCmd AUS:AUTO:AN


... fast: Solange ich die commands nur einmal anklicke.
Klicke ich sie 2x an sendet FHEM ein
zwangsfuehrung-set-100

Wo das herkommt? Ich weiß es nicht.

Verbesserungsvorschläge?


Gruß und Dank,
Weisnich

Shadow3561

habe es bei mir anders gelöst,
ich habe einfach die option "Kanal sperren" im Aktor genutzt um das Licht dauerhaft ein zu schalten.
welchen Präsenzmelder nutzt du!
evtl gibt es dort noch eine andere Möglichkeit.

mfg

Weisnich

Hallo Shadow,

Zitat von: Shadow3561 am 21 März 2017, 19:13:22
habe es bei mir anders gelöst,
ich habe einfach die option "Kanal sperren" im Aktor genutzt um das Licht dauerhaft ein zu schalten.
Hmm... ich bin eigentlich ein Fan davon, die Fuktionalitäten der einzelnen KNX-Geräte als solches zu nutzen. Z.B. kann man bei meinen Meldern eine Rückfallzeit einstellen. Benutze ich dein Workaround, ist es damit Essig.

Zitat von: Shadow3561 am 21 März 2017, 19:13:22
welchen Präsenzmelder nutzt du!
mdt P360K4

Zitat von: Shadow3561 am 21 März 2017, 19:13:22
evtl gibt es dort noch eine andere Möglichkeit.

Mittlerweile bin ich eigentlich zufrieden mit der Lösung.... zufrieden ist nicht das richtige Wort. Eigentlich finde ich es seltsam, dass FHEM alle Datentypen ausser 2bit ermöglicht. Scheinbar ist der Überlapp zwischen den Leuten, die KNX benutzen und den Leuten, die wissen, wie man Datentypen erstellt, nicht sehr groß.


Gruß,
Weisnich

Andi291

#6
Doch, ich denke schon.
Wenn Du mir sagst, wie ich vier Zustände in einen DPT bringe, ohne für alle anderen DPT die Dropdownliste beim "set" zu zerstören, impelemtier ich auch den dpt2.

P.S.:
Preislich höherwertige Geräte bieten durchaus Spielraum beim parametrieren. Merten und wie sie alle heißen bieten zum Beispiel virtuelle Ein- und Ausgänge...

Weisnich

#7
Hallo Andi
Zitat von: Andi291 am 06 April 2017, 19:12:45
Doch, ich denke schon.
Wenn Du mir sagst, wie ich vier Zustände in einen DPT bringe, ohne für alle anderen DPT die Dropdownliste beim "set" zu zerstören, impelemtier ich auch den dpt2.
Was spricht gegen
00 = off oder ooff
01 = on oder oon
10 = xoff
11 = xon

Zitat von: Andi291 am 06 April 2017, 19:12:45
P.S.:
Preislich höherwertige Geräte bieten durchaus Spielraum beim parametrieren. Merten und wie sie alle heißen bieten zum Beispiel virtuelle Ein- und Ausgänge...
Frech, wie ich bin habe ich folgendes ausprobiert:

define di_AuswahlPrasenzmelder DOIF (d_Weisnich eq "Krösus") (set d_Einkaufen Merten) DOELSE (set d_Einkaufen mdt)

Anzeige lautet: mdt   ;D

Gruß,
Michael

Shadow3561

Zitat
Frech, wie ich bin habe ich folgendes ausprobiert:
Code: [Auswählen]
define di_AuswahlPrasenzmelder DOIF (d_Weisnich eq "Krösus") (set d_Einkaufen Merten) DOELSE (set d_Einkaufen mdt)
Anzeige lautet: mdt   ;D

Gruß,
Michael

;D ;D

habe dein doif mal modifiziert

define di_AuswahlPrasenzmelder DOIF (d_Weisnich ne "Krösus") (set d_Einkaufen MDT) DOELSE (set d_Einkaufen Voltus.de)
;)

Dort ist es fast immer billiger als bei meinem Grosshändler viieeelll Rabatt.
ps.: beziehe keine Provision von Vo****.de


Mit freundlichen Grüßen

Andi291

Zu Deiner Frage
Zitat
Was spricht gegen
00 = off oder ooff
01 = on oder oon
10 = xoff
11 = xon

ich bin nicht gewillt, die Setlist zuzumüllen. Das hab ich bisher konsequent vermieden und werde es auch weiter tun.
Ein (unschöner und nicht fehlhandlunssicherer) Konsens wäre evtl. über value 00, etc.

Andi291

Ein Workaround könnte aber die Nutzung des Einganges

ZitatExterner Eingang –
Lichtgruppe 1

darstellen. Es steht leider nicht genau in der TPB (wie so manches), aber ich interpretiere mal, dass das Signal mit dem Ausgang verodert ist - also eine Zwangsführung mit DPT1 darstellt.

Weisnich

Hallo Andi,
Zitat von: Andi291 am 08 April 2017, 20:40:27
ich bin nicht gewillt, die Setlist zuzumüllen. Das hab ich bisher konsequent vermieden und werde es auch weiter tun.
Ich verstehe das ernsthaft. Trotzdem ist 2bit offiziell von knx definiert und daher sollte FHEM das sinnvollerweise auch können.

Wie ich schon mal geschrieben habe, habe ich mich in den letzten Jahren mit einem EibPC gequält. Das sage ich jetzt, nachdem ich euch gefunden und einen kleinen Teil des Systems verstanden habe.
Mittlerweile habe ich mir gerade den zweiten Rasperry gekauft, damit ich mein neues Programm bauen kann, das nicht sehr viel mit meinem ersten Versuch zu tun hat, der gerade mein Haus steuert (!).
Es ist wirklich beeindruckend, was ich damit jetzt schon hinbekommen habe: Das Modul PRESENCE überwacht die Geräte, verschiedene Kalender, die wirklich gelungenen Module RESIDENTS/ROOMMATE ansprechen...
Ich bin mehr als begeistert, was ihr alles geleistet habt und auch ich werde versuchen, auch etwas beizutragen.

Zitat von: Andi291 am 08 April 2017, 20:40:27
Ein (unschöner und nicht fehlhandlunssicherer) Konsens wäre evtl. über value 00, etc.
Wie auch immer. Leider kann ich nicht wirklich mitreden, da ich nur über User-Fähigkeiten verfüge. Aktuell gibt es ja den workaround mit dtp3 und vielleicht habt ihr eine zündende Idee dafür.

Gruß und Dank,
Weisnich