Beta-Test neues KNX-IO Modul

Begonnen von erwin, 27 Oktober 2021, 10:26:06

Vorheriges Thema - Nächstes Thema

GammaTwin

Grüße,

ich habe eine Kleinigkeit, die vielleicht mit dem Update zu tun hat.

Es gibt ein Reading, was ich zufällig entdeckt habe.
SV-g1

Ich kann es durch get <Device> g1 aktualisieren. Es löst keinen Event aus (die drei Ausrufezeichen). Und wird erst als aktualisiert angezeigt, wenn man die Webseite aktualisiert. Dann ist der Zeitstempel zu g1 gleich.

Es betrifft mehrere Devices. Aber nicht alle.

Internals:
   DEF        3/3/122:dpt9:g1:nosuffix
   DEVNAME    KNX_0303122
   FIRSTGADNAME g1
   FVERSION   10_KNX.pm:v5.1.0-s25855/2022-03-18
   GETSTRING  g1:noArg
   IODev      KNX
   KNX_MSGCNT 1
   KNX_TIME   2022-04-01 12:42:57
   LASTInputDev KNX
   MSGCNT     1
   NAME       KNX_0303122
   NR         1379
   SETSTRING  g1:slider,-670760,13415,670760
   STATE      0.00
   TYPE       KNX
   model      dpt9
   GADDETAILS:
     g1:
       CODE       0337a
       GROUP      3/3/122
       MODEL      dpt9
       NO         1
       OPTION     
       RDNAMEGET  g1
       RDNAMEPUT  g1
       RDNAMESET  g1
       SETLIST    :slider,-670760,13415,670760
   GADTABLE:
     0337a      g1
   READINGS:
     2022-04-01 12:40:45   IODev           KNX
     2022-04-01 12:42:57   SV-g1           0.00
     2022-04-01 12:42:57   g1              0.00
     2022-04-01 12:42:57   last-sender     1.0.7
     2022-04-01 12:42:57   state           0.00
Attributes:
   IODev      KNX
   event-on-change-reading .*
   event-on-update-reading (?!last-sender).*
   webCmd     g1
   widgetOverride g1:slider,-3,0.5,3,1

erwin

#61
Hi GammaTwin,
das kann ich nicht nachstellen...
Wo kommt das reading her?
Vermutungen:  8)
1) Es gibt ein notify od. doif, das so ein reading generiert... da das keinen event wirft, könnte es ein setreading <device> SV-g1 ... sein.
2) Du hast den GAD-Namen irgendwann von SV-g1 auf g1 geändert...
3) Es gibt ein weiteres Device im system mit 3/3/122

mach mal bitte ein  {PrintHash($modules{KNX}{defptr},3) }
auf der fhem-cmdline und suche nach 0337a: - gibts da mehr als eine hash(xxxx) entry?

PS: g1 kannst du weglassen auf der definitionszeile.
PS2: Sobald ein reading mal existiert (und im state-file geispeichert ist), gibts nichts was das wieder löscht, auch kein fhem-restart. Was hilft ist (evtl.) ein defmod oder (sicher) ein deletereading !
PS3: event-on-update : ich würde dort einfach state, g1 schreiben (je nachdem was du brauchst)  und event-on-change komplett weglassen - ist billiger/logischer
l.g. erwin
edit: PS1: g1 kannst du weglassen auf der definitionszeile. - IST FALSCH - nosuffix geht sonst nicht!
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

GammaTwin

Zu meinen Hausaufgaben :D

Zitat von: erwin am 02 April 2022, 16:38:41
1) Es gibt ein notify od. doif, das so ein reading generiert... da das keinen event wirft, könnte es ein setreading <device> SV-g1 ... sein.
Oh man, natürlich. Ich habe da ein notify, das feiert demnächst seinen 8. Geburtstag :D
SV steht für Sollwertverschiebung. Ich löse damit das Problem, dass das Widget "Heizungsregler" in der Visu einen Sollwert braucht und der KNX-Aktor eine Sollwertverschiebung. Und gefunden habe ich nicht, weil das notify Wildcards nutzt, um alle Devices zu bedienen. Danke Dir.

Zitat von: erwin am 02 April 2022, 16:38:41
mach mal bitte ein  {PrintHash($modules{KNX}{defptr},3) }
auf der fhem-cmdline und suche nach 0337a: - gibts da mehr als eine hash(xxxx) entry?
Was immer diese Funktion macht  ;D
Es gibt einen Hash, nur einen. Kannst Du kurz sagen, was das ist?

erwin

ZitatKannst Du kurz sagen, was das ist?
das ist eine (interne) liste mit der findet eine KNX-msg, die vom Bus kommt - in welchem Device(hash) die gad vorkommt.
Sprich: ein mapping vom z.b. 3/3/122 auf den hash(dahinter versteckt sich dann der devicename-gadname). - in deinem Beispiel: KNX_0303122 - g1
... 0337a ist die hex-representation von 3/3/122....

Nachdem ein und derselbe  GAD ja in mehreren FHEM-devices vorkommen darf, hat diese liste 1 bis x entries  und die werden in KNX_parse abgearbeitet.
Wenn es KEINEN entry gibt - dann wird der autocreate mechanismus aktiviert....
l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

erwin

Hi KNX Community!
Ich habe eine neue Version hochgeladen,
das wird (vermutlich) die letzte Beta-Version sein,
falls ok, werde ich diese version ins offizielle SVN einchecken.
l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

erwin

Hi KNX Community!

Das Modul ist ab heute im SVN verfügbar - unter 00_KNXIO.pm.
Support gibts hier:
https://forum.fhem.de/index.php/topic,127792.0.html

Danke an alle Beta-Tester!
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_KNXIO.txt

erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...