FHEM Forum

FHEM - Hausautomations-Systeme => KNX/EIB => Thema gestartet von: Andi291 am 04 Februar 2016, 19:04:28

Titel: Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 04 Februar 2016, 19:04:28
Abend!

Ich plane einige größere Änderungen. Nachdem ich diese nicht rückwärtskompatibel hinbekomme, werde ich ein neues Modul erstellen.

Hat noch jemand Wünsche und wäre bereit, ein neues Modul auch zu testen?

Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Michael Schmidt am 04 Februar 2016, 19:57:23
Hallo Andi

Also ich stelle mich schonmal als Tester zur Verfügung. :)

Was planst du denn für Neuerung vielleicht bringt das ja einen Denkanstoß bei den Wünschen!

Gruß
Michael
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 04 Februar 2016, 20:10:19
Ich möchte

- die Datentypen ausmisten und vervollständigen
- Offset / Faktor / Einheit per Attribut zufüttern
- Slider per Attribut rauslegen
- Die "regexerei" ein wenig ausbauen
- Generell internas massiv ausmisten - i.B. Logging und Methoden...

Ich bin noch am sammeln - aber allein der Slider reicht schon, um das Modul auf den Kopf zu stellen :-)
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: ZeitlerW am 05 Februar 2016, 06:29:25
Hallo Andi,

ich hätte da noch einen Wunsch:

p.s. Das mit dem Slider habe ich nicht ganz verstanden

lG
Wolfgang
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 05 Februar 2016, 20:07:34
Hallo Wolfgang,

die Unterscheidbarkeit (ist) und bleibt selbstverständlich drin :-)

Slider:
Aktuell kannst Du ja nur fest skalierte Slider für einige DPT rauslegen. Ich zum Beispiel hab ein riesenkonstrukt mit einem EIB, einem Dummy, und zwei Notifies für 16 Räume zusammengeschraubt, nur um meine Solltemperaturen per Slider verstellen zu können.
Ich möchte den Slider per Attribut aktivier- und skalierbar machen.

Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: guna83 am 23 Februar 2016, 08:31:34
Implementierung von X_DbLog_splitFn($) wäre toll!
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: JoeALLb am 23 Februar 2016, 08:33:19
Zitat von: guna83 am 23 Februar 2016, 08:31:34
Implementierung von X_DbLog_splitFn($) wäre toll!
Auw ja!! Dann könnte ich endlich meine stored-procedures in der datenbank deaktivieren, die versucht, mir die falsch eingetragenen Logwerte korrekt zu stellen!
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Franky1992 am 23 Februar 2016, 09:10:09
Hallo

Ich habe das Problem das alle von FHEM aus auf den Bus gesendeten Telegramme auch noch einmal lesend verarbeitet werden.
Also quasi 2x ein doif ect. Triggern.
Soweit ich gesehen habe ist das wohl nicht anders zu lösen, wäre das eine Option für das neue Modul?

M.f.G.
Frank
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 23 Februar 2016, 18:51:41
Guten Abend!

Sooo...das Projektchen macht Fortschritte, ist allerdings aufwändiger, als gedacht. Und mein Nachwuchs ist grad recht fordernd - aber ich bin dran.
Die Split-FN krieg ich wohl rein...Dürfte nicht das Ding sein. Gibt's ein Referenzmodul dafür?

@Franky: das Problem kannst Du heute bereits lösen! Mittels EIBReadingX wird für FHEM das Senden und Empfangen unterscheidbar. Mittels event-on-update-reading kannst Du dann entsprechend nur auf die Get-Events reagieren.

Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: guna83 am 23 Februar 2016, 20:09:00
Ein Referenzmodul ist mir leider nicht bekannt, aber vielleicht hilft das ja weiter:
http://www.fhemwiki.de/wiki/DevelopmentModuleIntro#X_DbLog_splitFn

Mir fehlt im Moment die Idee dazu, daher wäre es toll wenn das beim neuen Modul geht :-D. Zuerst wollte ich das Event nach Leerzeichen splitten - das funktioniert aber nicht mehr wenn man userreadings nutzt... .
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 06 März 2016, 21:59:48
Abend!

Soho...Apparat ist zum testen fertig. Mache noch ein wenig Doku. Kommendes WoE gibt's eine Testversion...

Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 08 März 2016, 21:50:59
Hallo liebe Leute,

so - ein erster, oberflächlich getesteter Stand ist fertig. Tiefere Tests mache ich die nächsten zwei Wochen...

Deutsche und englische Doku sind up-to-date. Bitte beide Module im FHEM-Verzeichnis austauschen. Zum generieren der Doku bitte im FHEM-Verzeichnis perl ./contrib/commandref_join.pl ausführen. Damit müssten Euch dann alle Info zur Verfügung stehen.

So - und nun happy testing. Bitte um zahlreiches Feedback!
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 09 März 2016, 08:34:34
Ich seh gerade 2 downloads vom KNX und 0 von der TUL.

Bitte ZWINGEND die neue TUL verwenden - wird mit der alten nicht gehen :-)
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 09 März 2016, 19:00:44
Abend!

Zefix...in der TUL war noch ein Fehler drin. Hab ich im obigen Beitrag korrigiert.
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 09 März 2016, 22:01:51
Abend zusammen!

einige fixes im Anhang. Bitte TUL und KNX übernehmen. KNX läuft nicht mit alter TUL.

Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: erwin am 10 März 2016, 11:04:08
Hi Andi!

Vorab: Danke, dass du den Aufwand treibst, das zu moderniseren!!!!

Ich habe die Version von heute mal auf einem Testsystem probiert, ein erstes Feedback:

1) Der Connect zum einem EIBD funktioniert, es kommen Pakete beim TUL an.
2) Es scheint ein Problem/Konflikt im autocreate zu geben, zwischen EIB und KNX Modul.
folgende Definition:
Internals:
   .eventMapCmd now:noArg
   .triggerUsed 0
   DEF        0/0/9:dpt10
   DEVNAME    KNXtime
   IODev      myTUL
   NAME       KNXtime
   NR         66
   STATE      16:00:05
   TYPE       KNX
   Gaddr:
     1          0/0/9
   Gcode:
     1          0009
   Model:
     1          dpt10
   Readings:
     2016-03-10 10:15:15   getG1           16:00:05
     2016-03-10 10:15:15   sender          5/1/251
     2016-03-10 10:15:15   setG1           12:59:59
     2016-03-10 10:15:15   state           16:00:05
Attributes:
   IODev      myTUL
   eventMap   /value now:now/
   listenonly 1
   room       KNXtest
   webCmd     now

Es sieht so aus, als ob der event nicht an das KNX Modul geroutet wird, sonder autocreate versucht, ein EIB device anzulegen, siehe Log:
2016.03.10 10:24:23 3: EIB Unknown device 0009 (0/0/9), Value 8a1816, please define it
in der TUL definition ist useEIB auf 0 gesetzt.
ich hab auch versucht, in der autocreate-Definition ignoreTypes auf EIB.* zu setzen, ohne Erfolg!
Die einzige Variante, wo die events im KNX Modul ankommen ist, wenn ich autocreate komplett disable!
So schaut der verbose 5 Log aus:
2016.03.10 10:56:09 5: SimpleRead msg.type: write, msg.src: 51fb, msg.dst: 0009
2016.03.10 10:56:09 5: SimpleRead data: 8a3809
2016.03.10 10:56:09 4: myTUL: B51fbw00098a3809
2016.03.10 10:56:09 5: myTUL dispatch B51fbw00098a3809
2016.03.10 10:56:09 3: EIB Unknown device 0009 (0/0/9), Value 8a3809, please define it
2016.03.10 10:56:10 5: SimpleRead msg.type: write, msg.src: 51fb, msg.dst: 0009
2016.03.10 10:56:10 5: SimpleRead data: 8a3809
2016.03.10 10:56:10 4: myTUL: B51fbw00098a3809
2016.03.10 10:56:10 5: myTUL dispatch B51fbw00098a3809
2016.03.10 10:56:10 3: EIB Unknown device 0009 (0/0/9), Value 8a3809, please define it
2016.03.10 10:56:10 5: SimpleRead msg.type: write, msg.src: 51fb, msg.dst: 0009
2016.03.10 10:56:10 5: SimpleRead data: 8a3809
2016.03.10 10:56:10 4: myTUL: B51fbw00098a3809
2016.03.10 10:56:10 5: myTUL dispatch B51fbw00098a3809
2016.03.10 10:56:10 3: EIB Unknown device 0009 (0/0/9), Value 8a3809, please define it
2016.03.10 10:56:10 5: SimpleRead msg.type: write, msg.src: 51fb, msg.dst: 0009
2016.03.10 10:56:10 5: SimpleRead data: 8a3809
2016.03.10 10:56:10 4: myTUL: B51fbw00098a3809
2016.03.10 10:56:10 5: myTUL dispatch B51fbw00098a3809
2016.03.10 10:56:10 3: EIB Unknown device 0009 (0/0/9), Value 8a3809, please define it


3)Was mir noch aufgefallen ist:
bei gesetzem Attr: listenonly, sollte ein GET funktionieren, oder ?
bei gesetzem Attr: listenonly, könnte man die SET option komplett weglassen?

l.g. und danke erwin
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 10 März 2016, 13:04:34
Hallo Erwin,

sehr gerne :-)

Muss ich nachstellen. Doofe Frage vorab: die TUL hast Du auch ersetzt, oder? Mit der "alten" TUL wird der KNX nicht getriggert...

Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: erwin am 10 März 2016, 13:09:11
Doofe Frage gibts nicht.....

Ja, TUL hab ich ersetzt, sonst wär das attr useEIB ncht da gewesen.

l.g. & danke erwin
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 10 März 2016, 20:05:25
Hallo Erwin,

das zeigt mir, dass nach Programmieren nach 14h "normaler" Arbeit Mist ist :-P
Der Event-Fehler ist repariert. Hättest Du useEIB auf 1 gestellt, hätte der KNX funktioniert :-)

Bei ListenOnly soll kein get gehen, bei readonly schon (bei den Namen bin ich flexibel).

Mit dem Ausblenden des set hast Du recht - aber das will ich nicht dynamisch machen. Wäre unübersichtlich (im Code) und irgendwie nicht sooo der wahnsins-use-case...

Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: erwin am 11 März 2016, 13:19:43
Hi Andi,

danke fürs update funktioniert!

Next one: wenn ein Telegram mit dpt5 (oder dpt5.001) empfangen wird und der value 0 ist - dann geht das schief!
Siehe:
2016.03.11 12:21:34 5: decode model: dpt5.001, code: dpt5, value: 00
2016.03.11 12:21:34 5: decode model: dpt5.001, code: dpt5, value: 00, numval: 0, state:  %
2016.03.11 12:21:34 5: received hash: HASH(0x3bb58c0) name: Jalousie_Balkon_posstatus, STATE:  %, GNO: 1, SENDER: 510a

Abhilfe schafft die folgende Änderung in der 10_KNX.pm (ca. Zeile 1179)
#               $state = sprintf ("%.0d", $state);
                $state = sprintf ("%d", $state);

Ich hab bisher nur mit dpt5 versucht, denke aber das gilt auch für alle anderen numerischen Werte....
l.g. erwin
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: EIB-Fan am 11 März 2016, 14:41:56
Hallo Andi,

danke für die Weiterentwicklung im Bereich KNX.

Ich habe mein Fhem schon komplett auf 10_KNX.pm umgetsellt. Die Grundfunktionen laufen. Bin hier weiter am testen.

Die Probleme mit dem Wert "0", wie es Erwin beschrieben hat, habe ich auch.

Viele Grüße
Jens
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 12 März 2016, 07:48:12
Morgen Ihr beiden,

schau ich mir morgen an - Erwins Vorschlagt schein plausibel.

Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 12 März 2016, 18:26:42
...und repariert.

Hinweis: die TUL ist unverändert. Aber dann muss niemand suchen :-)

EDIT:
Einen hab ich noch - Syntax von redaingRegex und writingRegex hab ich geändert. Neu: /zu suchender String1/neuer String/ /getG2:// zweiter Fall schneidet getG2: aus.
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: EIB-Fan am 18 März 2016, 09:50:18
Hallo Andi,

bisher läuft mein System ohne Auffälligkeiten.  8)

Nur beim Senden der Zeit hängt sich Fhem immer wieder auf.

Per Telnet konnte ich beobachten, dass "perl" immer mehr Speicher benötigt ("schaukelt sich hoch").

Im fhem.log war der Eintrag "Out of memory!" ohne Zeitstempel. Nach Neustart funktionierte Fhem wieder normal.


define timedev KNX 0/2/0:dpt10
attr timedev IODev tul
attr timedev webCmd now


Wenn ich, wie in der commandref beschrieben,

set timedev value now

nutze, hängt sich fhem auf.

Wenn ich

set timedev value 09:32:00

nutze, wird die Zeit gesendet und fhem funktioniert weiter.

Kannst du dir das bei Gelegenheit bitte noch einmal anschauen.

Noch ein kleiner Hinweis zur commandref. In den Beispielen zu KNX ist noch mehrfach von "EIB" statt "KNX" die Rede.

Viele Grüße
Jens

Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 18 März 2016, 17:09:43
Servus Jens!

Interessant  - ich hatte so was befürchtet. Lass mich raten, useEIB steht auf 1, aber Du hast kein EIB-Device angelegt?
Dann nämlich setzt FHEM alle empfangenen Meldungen parallel auf EIB und KNX ab. Wenn EIB nie abgerufen wird - ...

Kannst Du vom Timedev ein verbose-5-Log schicken? Bei mir ist alles gut:

2016.03.16 20:39:57 5: set timedev: model: dpt10, GAD: 15/2/15, GAD hex: f20f, gno: 1
2016.03.16 20:39:57 5: check value: now, gno: 1
2016.03.16 20:39:57 5: check value: now, gno: 1, model: dpt10, pattern: (?^:((2[0-4]|[0?1][0-9]):(60|[0?1-5]?[0-9]):(60|[0?1-5]?[0-9]))|([nN][oO][wW]))
2016.03.16 20:39:57 5: encode value: now, gno: 1
2016.03.16 20:39:57 5: encode model: dpt10, code: dpt10, value: now
2016.03.16 20:39:57 5: encode normalized value: now
2016.03.16 20:39:57 5: encode model: dpt10, code: dpt10, value: 116:39:57, numval: 13903673, hexval: 00d42739
2016.03.16 20:39:57 5: set timedev: cmd: value, value: now, translated: 00d42739
2016.03.16 20:39:57 5: decode value: 00d42739, gno: 1
2016.03.16 20:39:57 5: decode model: dpt10, code: dpt10, value: 00d42739
2016.03.16 20:39:57 5: decode model: dpt10, code: dpt10, value: 00d42739, numval: 13903673, state: 20:39:57
2016.03.16 20:39:57 5: exit set


Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: EIB-Fan am 18 März 2016, 18:38:27
Hallo Andi,

danke für die schnelle Antwort!

Hier das List vom tul


Internals:
   AckLineDef
   Clients    :KNX:EIB:
   DEF        eibd:localhost 1.1.250
   DevType    EIBD
   DeviceAddress 11fa
   DeviceName eibd:localhost
   FD         41
   NAME       tul
   NR         27
   PARTIAL
   RAWMSG     C110dw22211e46
   REFUSED
   STATE      Initialized
   TYPE       TUL
   tul_MSGCNT 4355
   tul_TIME   2016-03-18 18:11:47
   Matchlist:
     2:KNX      ^C.*
     3:EIB      ^B.*
Attributes:
   room       System
   useEIB     0


Während der Umstellung EIB --> KNX hatte zwischenzeitlich useEIB=1 genutzt. Jetzt steht es auf 0.

Habe verbose 5 bei timedev eingestellt und folgende Ergebnisse:

1. set timedev value 18:18:18 (Zeit wird korrekt auf demn Bus gesendet)

2016.03.18 18:17:43 5: enter set timedev: hash: HASH(0xa601c8), attributes: timedev, value, 18:18:18
2016.03.18 18:17:43 5: set timedev: model: dpt10, GAD: 0/2/0, GAD hex: 0200, gno: 1
2016.03.18 18:17:43 5: check value: 18:18:18, gno: 1
2016.03.18 18:17:43 5: check value: 18:18:18, gno: 1, model: dpt10, pattern: (?^:((2[0-4]|[0?1][0-9]):(60|[0?1-5]?[0-9]):(60|[0?1-5]?[0-9]))|([nN][oO][wW]))
2016.03.18 18:17:43 5: encode value: 18:18:18, gno: 1
2016.03.18 18:17:43 5: encode model: dpt10, code: dpt10, value: 18:18:18
2016.03.18 18:17:43 5: encode normalized value: 18:18:18
2016.03.18 18:17:43 5: encode model: dpt10, code: dpt10, value: 18:18:18, numval: 1184274, hexval: 00121212
2016.03.18 18:17:43 5: set timedev: cmd: value, value: 18:18:18, translated: 00121212
2016.03.18 18:17:43 5: decode value: 00121212, gno: 1
2016.03.18 18:17:43 5: decode model: dpt10, code: dpt10, value: 00121212
2016.03.18 18:17:43 5: decode model: dpt10, code: dpt10, value: 00121212, numval: 1184274, state: 18:18:18
2016.03.18 18:17:43 5: exit set
2016.03.18 18:17:43 5: parse device hash: HASH(0xa601c8) name: timedev, GADDR: 0/2/0, GCODE: 0200, MODEL: dpt10
2016.03.18 18:17:43 5: decode value: 121212, gno: 1
2016.03.18 18:17:43 5: decode model: dpt10, code: dpt10, value: 121212
2016.03.18 18:17:43 5: decode model: dpt10, code: dpt10, value: 121212, numval: 1184274, state: 18:18:18
2016.03.18 18:17:43 5: received hash: HASH(0xa601c8) name: timedev, STATE: 18:18:18, GNO: 1, SENDER: 0000


2. set timedev value now (Zeit kommt auf dem Bus nicht an)

2016.03.18 18:17:51 5: enter set timedev: hash: HASH(0xa601c8), attributes: timedev, value, value, now
2016.03.18 18:17:51 5: set timedev: model: dpt10, GAD: 0/2/0, GAD hex: 0200, gno: 1
2016.03.18 18:17:51 5: check value: value, gno: 1


3. set timedev now (Fhem hängt sich auf - Out off Memory!)

2016.03.18 18:19:00 5: enter set timedev: hash: HASH(0xa601c8), attributes: timedev, value, now
2016.03.18 18:19:00 5: set timedev: model: dpt10, GAD: 0/2/0, GAD hex: 0200, gno: 1
2016.03.18 18:19:00 5: check value: now, gno: 1
2016.03.18 18:19:00 5: check value: now, gno: 1, model: dpt10, pattern: (?^:((2[0-4]|[0?1][0-9]):(60|[0?1-5]?[0-9]):(60|[0?1-5]?[0-9]))|([nN][oO][wW]))
2016.03.18 18:19:00 5: encode value: now, gno: 1
2016.03.18 18:19:00 5: encode model: dpt10, code: dpt10, value: now
2016.03.18 18:19:00 5: encode normalized value: now
2016.03.18 18:19:00 5: encode model: dpt10, code: dpt10, value: 178:19:0, numval: 22156032, hexval: 001521300


Unter 10_EIB.pm hatte ich immer mit now ohne Probleme (model time) gearbeitet.

Ich hoffe die Infos helfen dir weiter.

Viele Grüße
Jens
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 18 März 2016, 20:06:28
Hm - also bei mir geht's anstandslos. Kannst Du bitte mit den beiden Dateien nochmal retesten?

Nicht, dass ich unwissentlich was geändert habe :-)

Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 18 März 2016, 20:18:28
Noch ne Frage zum Speicherüberlauf:

Hast Du Autocreate ein oder aus?
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: EIB-Fan am 19 März 2016, 08:09:59
Guten Morgen Andi,

Autocreate ist bei mir an.


define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log


Habe die beiden Dateien (TUL,KNX) noch einmal ersetzt. Die Problematik besteht weiterhin. :(

Bin jetzt erst einmal für 3 Tage im Urlaub.  :)

Danke erst einmal bis hierher für deine Unterstützung!

Viele Grüße
Jens
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 19 März 2016, 18:43:45
Hallo Jens,

sorry, ich kriegs nicht kaputt...

Magst mir mal Deine fhem.cfg und ein komplettes verbose 5 log schicken? Gerne auch per PN...

Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: EIB-Fan am 22 März 2016, 12:00:23
Hallo Andi,

nach deinem Hinweis, dass du dein System nicht "kaputt" bekommst, habe ich mich noch einmal mit dem Problem beschäftigt.

Zum Schluss war es eine einfache >:( Lösung.

Ich habe die Device von datedev & timedev gelöscht und neu definiert ... und siehe da ... es funktioniert.  :D

Aus meiner Sicht ist der Fehler bei der Umstellung von EIB auf KNX entstanden, da ich dies größtenteils in der fhem.cfg augetauscht hatte. Asche auf mein Haupt :( , habe ca. 3000 Zeilen Code.

Ich möchte nochmals für dir für deine Unterstützung danken!!!

Viele Grüße
Jens
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 22 März 2016, 19:28:13
Abend!

Ein Traum - bin beruhigt :-)

Ich mach über Ostern noch ein bisschen was, dann checke ich das Modul ein, und schreibe einen Umstellungsthread.

Grüße, Andi
Titel: Antw:Feature requests für den EIB-Nachfolger
Beitrag von: Andi291 am 03 April 2016, 21:49:28
Abend zusammen,

so, einige Sachen hab ich noch ausgemerzt und einiges noch geändert.
Die finale Version ist hochgeladen.

Viel Erfolg damit :-P

Grüße, Andi

P.S.: siehe auch hier: https://forum.fhem.de/index.php/topic,51758.0.html (https://forum.fhem.de/index.php/topic,51758.0.html)