Modul 10_KNX.pm - support

Begonnen von erwin, 23 August 2021, 08:59:59

Vorheriges Thema - Nächstes Thema

baerm

#60
Danke Erwin für den Hinweis!

Hatte offensichtlich in der Vergangenheit hier ein exclude eingerichtet.
update: skipping FHEM/10_KNX.pm, matches exclude_from_update

Ich habe nur den Eintrag gesehen und dachte damit, dass hier diese Änderung im Update dabei sein sollte.

New entries in the CHANGED file:
- ....
- feature: 10_KNX: KNX_scan Utility function
- ....


Offensichtlich greift das exclude bei dem CHANGED File Inhalt nicht. Suboptimale Implementierung die mich etwas verwirrt hat.

Update hat geklappt trotz dieser Meldung:
2022.01.12 19:46:48 1: UPD FHEM/10_KNX.pm
2022.01.12 19:46:49 1: Got 100402 bytes for FHEM/10_KNX.pm, expected 97111
2022.01.12 19:46:49 1: aborting.


lg,
Matthias

erwin

Hi Matthias,
ZitatUpdate hat geklappt trotz dieser Meldung:
du hast offensichtlich noch Reste vom BETA-Test in deinem System...
Zusätzlich zu dem exclude from update, gibts noch was....
Die Lösung findest du im Ersten Beitrag dieser threads:
ZitatFür die user des beta-Moduls: Bitte die GIT Version NICHT MEHR verwenden!
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,...

dinkel75

Hallo,

ich weiß leider nicht, ob es an der neuen KNX Version liegt - aber wenn ich auf eine dpt14 Adresse per set, 0 schicke, kommt nichts an. Wenn ich 0.0 schicke dann schon.
Leider bekomme ich aber nur eine 0 von meinem Wechselrichter geschickt.
Weiß wer, wie ich das hinbekomme? Wenn ich dpt9 verwende klappt es - gibt es noch eine andere Lösung?

Danke

Amenophis86

Du könntest dir bis zu einer Anpassung durch erwin mit einem User Reading helfen, welches aus 0 ein 0.0 macht und auf das Reading reagieren.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

dinkel75

Aha. Danke. Das schau ich mir mal an.

erwin

Zitatset dpt14tst g1 0.0
...nein, liegt nicht an der neuen Version, das war immer schon falsch!  ;D
Danke für's finden, gefixt. Ab morgen im update!
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,...

rogerknop

Hallo,
bei mir läuft inzwischen die neue Version sehr gut!
Ich habe jedoch noch ein Problem mit Szenen und zwar funktionieren nur einige.
Inzwischen habe ich herausgefunden, dass in ETS die Bit Szenen funktionieren, aber die Byte Szenen nicht.
Allerdings mit der alten KNX Version war das kein Problem. Da konnte ich ohne Probleme set Garten.Aus on senden und es hat funktioniert.
Im Event Monitor kommen dann 2 Einträge set Garten.Aus on und set Garten.aus setG1 on.
Wenn ich den Schalter betätige ist der einzige Unterschied, dass im Event Monitor statt setG1 getG1 gesendet wird.
Im FHEM command habe ich auch schon mal set Garten.Aus getG1 on getestet, aber hier passiert ebenfalls nix.

Hier mal ein List von Garten.Aus, was NICHT funktioniert und mit Byte definiert ist.

Internals:
   DEF        6/0/5:dpt1
   DEVNAME    Garten.Aus
   FIRSTGADNAME g1
   FUUID      5c7ab74f-f33f-d8f3-52e8-6c608ec172eebd50
   GETSTRING  g1:noArg
   IODev      KNX
   NAME       Garten.Aus
   NR         230
   SETSTRING  on:noArg off:noArg g1:on,off,toggle
   STATE      on
   TYPE       KNX
   model      dpt1
   GADDETAILS:
     g1:
       CODE       06005
       GROUP      6/0/5
       MODEL      dpt1
       NO         1
       OPTION     
       RDNAMEGET  getG1
       RDNAMEPUT  putG1
       RDNAMESET  setG1
       SETLIST    :on,off,toggle
   GADTABLE:
     06005      g1
   READINGS:
     2022-02-07 10:38:30   IODev           KNX
     2022-02-07 10:38:30   getG1           on
     2022-02-07 10:40:08   last-sender     fhem
     2022-02-07 10:40:08   setG1           on
     2022-02-07 10:40:08   state           on
     2022-02-07 10:38:30   switch          on
Attributes:
   IODev      KNX
   devStateIcon on::off off::on
   fhem_widget_channels [{"controlled_attribute":"on","color":"#0000FF","order":100,"alias":"Garten aus","allowed_values":["on"],"locations":["APP","WATCH"]}]
   genericDeviceType switch
   group      Zentral
   homebridgeMapping On:cmdOn=on,Off:CmdOff=off
   room       Widget,hidden
   sortby     400
   webCmd     on:off


Und hier ein List einer Szene, die funktioniert und mit Bit definiert ist:

Internals:
   DEF        6/0/3:dpt1
   DEVNAME    Wohnen.Stehlampen
   FIRSTGADNAME g1
   FUUID      5c7ab74f-f33f-d8f3-9a81-8d3d09f697901a03
   GETSTRING  g1:noArg
   IODev      KNX
   KNX_MSGCNT 1
   KNX_RAWMSG C0111cw0600300
   KNX_TIME   2022-02-06 23:28:45
   LASTInputDev KNX
   MSGCNT     1
   NAME       Wohnen.Stehlampen
   NR         233
   SETSTRING  on:noArg off:noArg g1:on,off,toggle
   STATE      off
   TYPE       KNX
   model      dpt1
   GADDETAILS:
     g1:
       CODE       06003
       GROUP      6/0/3
       MODEL      dpt1
       NO         1
       OPTION     
       RDNAMEGET  getG1
       RDNAMEPUT  putG1
       RDNAMESET  setG1
       SETLIST    :on,off,toggle
   GADTABLE:
     06003      g1
   READINGS:
     2022-02-06 15:29:13   IODev           KNX
     2022-02-06 23:28:45   getG1           off
     2022-02-06 23:28:45   last-sender     1.1.28
     2022-02-06 17:16:47   setG1           on
     2022-02-06 23:28:45   state           off
Attributes:
   IODev      KNX
   alexaName  Stehlampen
   alias      Stehlampen
   devStateIcon on::off off::on
   genericDeviceType switch
   group      Zentral
   homebridgeMapping On:cmdOn=on,Off:CmdOff=off
   room       Haus,Alexa
   sortby     450
   webCmd     on:off


Ich vermute es liegt an dem dpt1. Evtl. müsste es dpt9 sein, aber dann weiss ich nicht, wie ich das mit dem on und off hinbekomme.

Wäre für Hilfe sehr dankbar!

Grüße, Roger

erwin

Hi Roger,

offengestanden werde ich nicht ganz schlau aus deinen Angaben.
Du sprichst von Szenen ?
Um welches KNX-Gerät geht es ?
für szenen kenn ich mehrere dpt's, z.b.
dpt1.022 (1 bit) on/off oder SzeneA/SzeneB
dpt17.001 (1 Byte: 0-63)
bpt18.001 (1 Byte: 1-64)
Der dpt, den du in fhem angibst, muss mit dem im Gerät übereinstimmen sonst kommt Unsinn oder nix raus... ich will sagen: "BYTE" szenen können nicht mit dpt1 funktionieren!
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,...

rogerknop

Hallo Erwin,
in ETS ist die Szene als Byte definiert, aber sie schaltet trotzdem nur ein oder aus.
Im FHEM konnte ich die Szene mit on und off steuern, aber nun geht das nicht mehr.
Wie Du schreibst passt das mit DPT1 nicht zusammen.
Also wenn ich das Device in FHEM jetzt umdefiniere in: dpt17.001
Kann ich dann trotzdem noch on und off verwenden?
Grüße, Roger

erwin

Hi,
dpt17.001: gültige Werte sind 0-63.
(Man könnte mittels eventmap ja von usr=on/off auf 0/? mappen.....)
Szenen schalten grundsätzlich nix, bevor sie nicht in den  Aktoren definiert sind...
z.b.: Szene 5 schaltet Ausgang 2 im Aktor 1 auf off UND Ausgang 1 im Aktor 3 auf on, usw.... Das muss alles per ETS vorab programmiert sein.

Vorschlag: definiere mal das device um auf dpt17.001, und dann schicke mal 0, und danach 1 ,...  evtl. im ETS Monitor mitschauen, was passiert...
Um welche Gerät geht es?
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,...

rogerknop

Hallo Erwin,
SUPER das wars!
dpt17.001 und eventMap 1:on 0:off
Danke & Grüße,
Roger

appi

Hallo Kollegen
sehr gut das das KNX Modul weiterlebt und auch erweitert wurde z.B um den dpt20.102 HVAC mode, danke.
Nun genau zu diesem DPT ein kleines Problem: Ich habe einen MDT Heizungsaktor der den  HVAC Staus z.B. für den Komfortbetrieb  den  Wert 21 (20 für Heizen + 1für den Komfortbetrieb) sendet.
Der Hexwert 21 kommt in Fhem auch an, wird aber nicht richtig ausgewertet.
#######
KNX_Parse -process: IO-name: KNX_EIBD, device-name: OG_Essen_Lesen_Klima, rd-name: g6, gadCode: 03708, cmd: w
KNX_decodeByDpt -enter: model: dpt20.102, code: dpt20, value: 21, length-value: 2
KNX_decodeByDpt -exit: model: dpt20.102, code: dpt20, value: 21, state: reserved
#######

Mache ich etwas falsch? Bin um Tipps dankbar.

Danke und Gruss
Remo

erwin

Hi Remo,

du machst nichts falsch, ausser du verwendest  den dpt20.102  und in der MDT dokumentation steht ein anderer dpt!
ich werte dzt. für diesen dpt nur die Werte 0-4 aus -> Auto Comfort Standby Economy Protection, so ist im KNX-standard definiert.....(siehe screenshot)
Alle Werte > 4 werden mit reserved übersetzt!
Die Frage ist:
hast du eine Doku, wo das genau beschrieben ist?

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,...

appi

Hallo Erwin
danke für deine schnelle Antwort. In der Dokumentation des MDT Heizungsaktors steht:

erwin

Ok, nachdem ich jetzt weiß um welchen KNX-Aktor es geht, wird es einfacher:
ZitatIn der Dokumentation des MDT Heizungsaktors steht:
... unter anderem auch,
daß das Status Object entweder nach KNX-Standard dpt20.102 oder proprietär ausgegeben werden kann.
Diese Einstellung kann mit einem ETS-Parameter geändert werden.

Es ergeben sich somit 3 Möglichkeiten:
1) Du änderst die ETS-Einstellung
2) Ich ändere das decoding, damit Werte größer 16 ausgeblendet werden -> das würde bei einem 0x21 (bei dir) dann "Comfort" als reading-value ergeben - und wäre standardkonform.
3) Ich kombiniere den Status. Das würde bei einem 0x21 (bei dir) dann "Comfort_Heating" als reading-value ergeben - und wäre NICHT standardkonform. ich müsste dan konsequenterweise bei einem 0x01 dann "Comfort_Cooling" als reading-value ausgeben und dass wäre für jene Aktoren die sich an den Standard halten FALSCH!

ich tendiere zu Variante 1 oder 2.
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,...