Hi KNX-Community!
Nach einem Jahr Weiterentwicklung des KNX-Moduls (siehe:
https://forum.fhem.de/index.php/topic,116737.0.html)
habe ich jetzt in Abstimmung mit dem bisherigen Maintainer (Andi291) die Ownership des Moduls übernommen.
Das Modul ist im SVN verfügbar.
Danke Allen Testern, die Ideen, Vorschläge,Zeit und Geduld zum Testen hier eingebracht haben!
In Summe: Es ist ein heftiger rewrite des Moduls geworden, die wesentlichen Änderungen hier nochmal zusammengefasst:
Device Definition:Keine Änderungen, aber eine strengere Auslegung der syntax - siehe cmdref. Beim ersten start nach dem update bitte das Log auf Fehlermeldungen checken.
Tip: vor dem shutdown-restart die fhem.cfg file sichern....
Changes:1) Viele neue/geänderte (sub)-dpts. Als value wird der Text lt. KNX-Standard verwendet. Das kann evtl. Inkompatibilitäten für notifies, doif's,
readingsproxy, ... Definitionen haben, bitte um Check bzw. Anpassung.
z.B. wird ein dpt1.023 jetzt als <b>move_up_down</b> / <b>move_and_step_mode</b> dargestellt, bisher on/off.
Alle Texe mit mehr als einem Wort sind mittels '_' verbunden, sonst funktioniert das FHEM-WEB pulldown nicht!
2) Set CMD Syntax - Im Log gibts Meldungen: "KNX_Set_oldsyntax: you are still using "old syntax",..." - funktioniert trotzdem, nur als Hinweis...
Alte und neue Set-cmd syntax gabs auch im bisherigen Modul, wird auch noch einige Zeit beibehalten, eleganter finde ich die neue syntax...
3) autocreate: Es wird kein neuer Log angelegt und das device wird disabled, bis ein dpt definiert wurde und das disabled attribute gelöscht wird!
Begründung: Das device funktioniert sowieso nicht, bis ein korrekter dpt (manuell) definiert wurde und es ist sinnvoller ein gemeinsames Log
für alle autocreate-KNX-devices zu definieren. Im Normalfall wird das device einen "sinnvollen" Namen bekommen, mittels rename <device>. Siehe Bsp. in der cmdref.
4) Neu: Attribute disable
5) Neu: Attribute KNX_toggle - Details siehe cmdref
6) fix DbLog_split Funktion
7) dpt10 compatibility with widgetoverride :time
8) package FHEM::KNX
9) Anpassung cmdref.
Change History29.08.: fixed fhem-crash when using KNX_toggle Attribute
04.10.: IODev specification on define is now deprecated (but still working...)
check for valid IO-Module during IODev-Attr definition
changed policy on forbidden GADNames e.g.: onConnect is now allowed
removed "private" eversion
removed unnecessary "return $UNDEF"
removed sub KNX_Notify - not needed!
fixed "old syntax" dpt16 set Forum #122779
modified examples in cmdref - added wiki link
prevent deletion of Attr disable until a valid dpt is defined
changed AnalyzePerlCommand to AnalyzeCommandChain to allow multiple fhem cmds in eval's
code cleanup
15.10 fix dpt1.004, .011, .012, .018 encoding
fix stateregex (KNX_replacebyregex)
fix off-for-timer
add wiki links
new cmd: blink dpt1, dpt1.001
02.11. rework decode- encode- ByDpt (cascading if/else != performance)
fix stateregex once more
removed examples from cmdref -> now avail in wiki
18.11. bugfixes: dpt10 "now", fix dpt19 workingdays, dpt3 encode 0 != 1
### 2022 ###
07.01. feature: KNX_scan utility, support for FHEM2FHEM as IO-Device
18.03. feature: dpt22.101 (receive only), dpt20 deccode fix, UTF8 (units)
07.04. allow 'nosuffix' as only option in define, minor corrections to cmdref
29.04. minor additions to cmdref & some cleanup
19.10. cleanup, replace doubleqoutes in Log3, sprintf,pack,....
add devicename to every Log msg
rework doKNXscan, stateregex
add dpt4, dpt15, added sub-dpts for dpts 3,5,8,9,14; corrected min/max/pattern values in dpts
fix dpt19, dpt11 parsing
unify Log-Msg's
prevent setting deprecated (since 2018!) Attr: readonly,listenonly,slider - with errormsg
prevent setting IODev in define...
.... both will be completly removed with next version
new: Internal "RAWMSG" shows msg from Bus while device is disabled (debugging)
bugfix: allowed group-format corrected: was 0-31/0-15/0-255 -> now: 0-31/0-7/0-255 lt.KNX-spec
30.10. changed package name FHEM::KNX -> KNX
changed svnid format
fix dpt4,dpt16 encode/decode (ascii vs. ISO-8859-1)
fix dpt14.057 unit 'dpt14.057' { cosφ vs. cosφ ) =>need UTF8 in DbLog spec !
new dpt217 - for EBUSD KNX implementation
no default slider in FHEMWEB-set/get for dpt7,8,9,12,13 - use widgetoverride slider !
13.11. cleanup, cmd-ref formatting
05.12. fix dpt217 range/fomatting, cmd-ref links,
remove support for IODev in define
modify disabled logic
27.12. device define starts after init_complete
remove $hash->{DEVNAME}
modify autocreate, get/set logic
changed not user relevant internals to {.XXXX}
changed DbLog_split function
disabled StateFn - no longer needed
### 2023 ###
22.01. simplify DbLogSplitFn
modify KNX_parse - reply msg code
modify KNX_set
add pulldown menu for attr IODev with vaild IO-dev
KNX_scan now avail also from cmd-line - details: see "help KNX" !
Für die user des beta-Moduls: Bitte die GIT Version NICHT MEHR verwenden!
Die GIT version werdet ihr wie folgt los:
update delete https://raw.githubusercontent.com/erw111n/FHEM-KNX/main/controls_KNXevolution.txt
..und zusätzlich im device global attribute exclude_from_update den Eintrag:
fhem.de.*:FHEM/10_KNX.pm
löschen.
Fehler/Fragen u. Wünsche zum Modul bitte in diesem (oder neuem) Thread posten, am besten unter Angabe von <list device> und Log (falls sinnvoll).
l.g. erwin