Konnex-Reglerstatus bzw Betriebsmodus RTR auswerten

Begonnen von speedschmidt, 01 August 2015, 12:00:04

Vorheriges Thema - Nächstes Thema

speedschmidt

Hallo zusammen,

ich habe mich schon diesbezgl. durch das wiki und das Forum geackert, aber kann dazu überhaupt nichts finden. Weil es wohl sehr EIB/KNX-lastig ist:

Wie kann man den Betriebsmodus im fhem-web richtig zur Anzeige bringen? Klar ist soweit für mich, dass das mit event-map nur begrenzt funktioniert (oder ich habe es nicht vollständig durchparametriert).

eventMap  24:Standby 28:Frostschutz 36:Comfort deleteattr

Die Reglerstatis werden in den Gira-RTR 's generiert und als 1-Byte-Wert auf den EIB geschickt, . Aber selbst in der ETS4 ist am ehesten DPT 6.020 treffend. Aber da nutzt es mir wenig, da ich mit der ets4 keine Visu machen möchte. Gibt es schon hier (im fhem) fertige Module die man dann via include implementieren müsste/könnte, die das dann können?
Ich meine ja da kommt ja nicht viel:
Frost-/Hitzeschutz
Standby
Comfort (ohne Anspruch auf Vollständigkeit)

ich denke hier gibt es betsimmt jemand der dieses Prblem schon gelöst hat und mir - zumindest mit einem Quellenhinweis - helfen kann. Dafür schon mal vorab DANKE.

Ingo

Andi291

Hallo Ingo,

also bei einem Gira 2100 müsste dies ein DPT5 - unsinged Byte sein. DPT6 wäre signed - glaub ich eher weniger.

Auswertung müsste so gehen:

#Annahme: 0 = Frostschutz, 1 = Automatik, 3 = Heizen

define myStatus EIB 1/2/3
attr myStatus IODev tul
attr myStatus model dpt5
attr myStatus alias Reglerbetriebszustand
attr myStatus devStateIcon 1:status_frost 2:status_automatic 3:light_toggle
#Empfehlung für Readonly
attr myStatus webCmd :
#Beispiel für RW
attr myStatus webCmd Frostschutz:Automatik:Heizen
#Brauchts nur für RW
attr myStatus eventMap 1:Frostschutz 2:Automatik 3:Heizen


Grobe Erklärung:

DevStateIcon mach die Anzeige (Icons) aus den Werten
Eventmap schlüsselt die Kommandos aus WebCmd um in "busverträgliche" Werte
WebCmd definiert den "Befehlsvorrat". Bei Click auf das Symbol wird durchgetoggelt, also 1-2-3-1...

Grüße, Andi

P.S.: Beispiel oben ist ausm Kopf. Kann sein, dass Du noch ein wenig fummeln muss.

speedschmidt

#2
High Andi,

sorry, ich habe da was durcheinandergewürfelt:
Reglerstatus ist nicht gleich Betriebsmodus (habe mir noch mal die Doku vom Objektregler Gira 2101XX vorgeknöpft)

Reglerstatus (Reglerausgang/Obj. 36) besteht aus 8bit:
Bit 0: 1: Komfortbetrieb aktiv
Bit 1: 1: Standbybetrieb aktiv
Bit 2: 1: Nachtbetrieb aktiv
Bit 3: 1: Frost-/Hitzeschutz aktiv
Bit 4: 1: Regler gesperrt
Bit 5: 1: Heizen; 0: Kühlen
Bit 6: 1: Regler inaktiv (Totzone)
Bit 7: 1: Frostalarm (T Raum ≤ + 5 °C)
Bei mir wird in fhem eine Dezimalwert bei Frostschutz von 28 (EDIT: zumindest mit DPT 5oder 6) angezeigt (auch in der ets4, der rechnet zwar in % um aber der Rohwert ist $28). Das müsste ich dann bitweise auflösen um darzustellen? Wobei ich die "2" vorne noch nicht nachvollziehen kann (und ich hatte auch schon mal "3" gesehen).

Betriebsmodus (Reglereingang/Obj. 28) sieht so aus:
01 = Komfort
02 = Standby
03 = Nacht
04 = Frost-/Hitzeschutz
00 = letzter gültig eingestellter Modus
abhängig noch von Objekt 32 (Zwangsmodus, da muss 00 drinstehen)

Mir wäre momentan die Anzeige des richtigen Betriebsmodus wichtig und das bekomme ich mit deinen Hinweisen schon hin, denke ich und danke dir nochmal. Dem Reglerstatus widme ich mich später, eins nach dem anderen.

Ingo

speedschmidt

Hallo zusammen,

ich habe da was bzgl. Reglerstatus gefunden:

http://knx-user-forum.de/forum/öffentlicher-bereich/knx-eib-forum/6503-misterhouse-konnex-betriebsmodiumschaltung-welcher-eis-dpt-type

Da hat ganz hinten RaK einen schönen Code geschnippselt, der meiner Meinung nach passen sollte, zumindest soweit, dass man es versuchen sollte. Jetzt die Frage:
Wie bekomme ich den Code (der ja auch nach Perl aussieht, für mich) in fhem rein. Ich hätte es in die myUtilsTemplate.pm kopiert und die mit include übernommen (oder ist die automatisch schon dabei?). Aber da mache ich - als blutiger fhem-Beginner - mit Sicherheit was falsch. Was mache ich da falsch?

Ich hätte mir gedacht, wenn das funzt, kann ich bei attr - model den dpt 20.XXx wählen und dann passt das, aber da gehe ich wohl viel zu blauäugig ran (in meinem jugendlichen Leichtsinn - was die fhem-Ausblidung betrifft).

Ingo

Andi291

Hm - wie ich das sehe, hast Du drei Möglichkeiten:

1.
Nehme die Einzelbits
Mappe jeden Status auf eine GA
Definiere so viele Objekte im FHEM, wie Du dafür brauchst
Lege für jedes Objekt ein Notify an
Definiere ein Dummyobjekt zur Visualisierung
Schalte das Dummyobjekt mit jedem Notify in den aktuellen Status

Vorteil: Es wird immer nur ein Status angezeigt. Es gilt der zuletzt Empfangene. Zudem recht einfach. So hab ich das bei mir gelöst.


2.
Du bleibst bei meinem ersten Post, und machst Dir die Arbeit, alle 255 möglichen Zustände einmal abzutippen. Durch die Verwendung eines Notify mit Parameter kannst Du "n" Reglerobjekte mit einem Konstrukt erschlagen.

Vorteil: Weniger Gruppenadressen. Wenn der Regler mehrere Zustände schickt, können diese Clever kombiniert und visualisiert werden.


3.
Du kannst in einem Notify beliebigen Perl-Code einbauen. Im Prinzip musst Du acht mal verunden. Hier würd ich dann jedenfalls auch ein Dummyobjekt zur Visualisierung anlegen, und Dein eigentliches KNX-Objekt nicht anzeigen.

Vorteil: Sicherlich die eleganteste Lösung...


Beispiel für Perl-Code im Notify:

define Notify_licht_schlafzimmer_szene_slider notify licht_schlafzimmer_szene {if (not($value{"licht_schlafzimmer_slider"}==$value{"licht_schlafzimmer_szene"})){ my $i=$value{"licht_schlafzimmer_szene"};; fhem("set licht_schlafzimmer_slider $i")}}

Wenns der Regler hergibt, würde ich mich für Möglichkeit 1 Entscheiden. Wenn nicht, dann Nummer 2. Nummer 3 wäre mit zu viel Gefrickel. Das versteh ich in vier Wochen nicht mehr :-)

Andi291

P.S.: Die 28 kann ich mir gut erklären...

28 == 0x1C == 11100

Nach Deiner Tabelle bedeutet das:

Bit 2: 1: Nachtbetrieb aktiv
und
Bit 3: 1: Frost-/Hitzeschutz aktiv
und
Bit 4: 1: Regler gesperrt

Meine Siemens-Regler arbeiten ähnlich. O.g. Konfig im Siemens-Regler würde bedeuten: Taupunktbetrieb aktiv. Keine Regelung bis zur eingestellen Alarmtemperatur.

Ich persönlich nutze nur (R und W) Nachtbetrieb, Komfortbetrieb, Absenkbetrieb / Frostschutz. Von allem anderen lasse ich die Finger.
Beim Einsatz von gebrauchten Reglern musste ich diese bei Installation z.T. manuell Rücksetzen, also z.B: Regler gesperrt auf 0...

speedschmidt

High,

zu1.)
Ich denke das wäre für mich momentan das einfachste.

zu2.)
ich denk insgesamt werden es ja von der Logik her ja nicht 255. Standby und Komfort schließen sich ja gegenseitig aus etc. Ich werde mir mal nach einer gewissen Zeit (auch erst im Winterbetrieb) die Log ansehen und auswerten. Muss man sich mal eine Tabelle bauen und den Überblick gewinnen.

zu3.)
Soweit bin ich ehrlich gesagt noch nicht.

Aber mal eine ganz andere Frage: Mir ist schon öfter aufgefallen dass du deine GA in der Form 1/2/3 angibst, so wie sie auch tatsächlich sind. Was müsste ich tun, damit die mir auch so schön angezeigt werden. Weil mit dem Format 1203 hadere ich doch schon massiv. Für Hinweise, auch auf Quellen wäre ich sehr dankbar.

Ingo

Andi291

Hallo Ingo,

kann Dir ehrlich gesagt nicht ganz folgen. In der FHEM.cfg und in der Visu hab ich alles mit 1/2/3 angegeben - ist so auch lesbar.
Ansonsten ist das recht einfach - Syntax ist immer so: a/b/c == abcc.

Grüße, Andi

Andi291

Hallo Ingo,

ich hab mir das mal genauer angeschaut.
Der DPT20 ist nichts anderes, als ein DPT5. Auf dem Bus gibt es keine Unterschiede, welchen Du benutzt.

Einziger Benefit wäre die Implementierung der Untertypen, und hier steht Preis / Leistung glaube ich nicht im Verhältnis.

Kommst DU mit dem DPT5 und den Bitverknüpfungen so weit klar?