Autor Thema: [gelöst] Datentypen in 10_EIB-pm ergänzt  (Gelesen 17993 mal)

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #45 am: 04 April 2015, 13:31:48 »
Hallo zusammen,

anbei eine Version, in der ich die Änderungen aus diesem Thread eingebaut habe:
http://forum.fhem.de/index.php/topic,32716.msg251330.html#msg251330

Damit sollte jetzt, bei gesetztem Attribut, ein Wert nur geschrieben werden, wenn er sich geändert hat - nicht, wenn er gesendet wurde.

@All: bitte testen - ohne gesetztes Attribut dürfte sich nichts ändern...

Offline MiWe58

  • Full Member
  • ***
  • Beiträge: 172
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #46 am: 04 April 2015, 15:42:10 »
Hallo Andi,

die modifizierte Datei habe ich geladen. Die Attribute stehen damit zur Konfiguration zur Verfügung.
Leider tut es nicht das, was ich möchte. Das kann aber auch an Fehler auf meiner Seite liegen.

Hier ein Beispiel für die Konfiguration eines Devices:
define WP_TempHeissgas EIB 14/0/15
attr WP_TempHeissgas IODev KNX
attr WP_TempHeissgas event-min-interval WP_TempHeissgas.*:300
attr WP_TempHeissgas model dpt14
attr WP_TempHeissgas room 2.50_Heliotherm


Hier das entsprechende Logfile
2015-04-04_15:25:00 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:00 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:00 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:00 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:00 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:00 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:00 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:00 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:00 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:00 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:01 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:01 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:05 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:05 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:05 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:05 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:05 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:05 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:06 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:06 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:06 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:06 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:06 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:06 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:06 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:06 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:06 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:06 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:06 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:07 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:07 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:07 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:07 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:11 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:11 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:11 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:11 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:11 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:11 WP_TempVorlauf 28.2000007629395
2015-04-04_15:25:11 WP_TempHeissgas 30.2000007629395
2015-04-04_15:25:11 WP_TempRuecklauf 28.2999992370605
2015-04-04_15:25:11 WP_TempVorlauf 28.2000007629395

Er schreibt mir dennoch das Logfile voll.

Liegt es an meiner Konfiguration oder ist ein Fehler im Programm?

Gruß
Michael
Devices: RasPi II, HomeMatic, KNX, Heliotherm-Wärmepumpe
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, Alarm, Zugang, Wasser

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #47 am: 04 April 2015, 16:49:55 »
Puh, kann ich grad gar nichts mit anfangen...

Ich schau mal drauf. Dauert aber. Neuland :-)

Offline antonwinden

  • Full Member
  • ***
  • Beiträge: 268
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #48 am: 04 April 2015, 18:17:30 »
Warum ich das NICHT will / von der Funktion nicht begeistert bin:
Bei mir reagiere ich fast auf jedes Kommando - oft auf den Trigger, und nicht den Inhalt. Ich müsste jetzt also überall readings-Gruppen anlegen, um meine Events haben zu können.
In meiner Anlage habe ich mit dem Datenaufkommen kein Problem - weil ich meine Geräte nur senden lasse, wenn sich der Wert ändert, oder ich den Trigger wirklich haben will.
Hallo,
verstehe ich jetzt nicht ganz denn die funktion muß man ja nur setzen wenn man KEINE events kriegen will wenn keine änderung da ist - wenn man alle haben will dann braucht man gar nichts tun.
hab die version runtergeladen und installiert nur gibt es bei mir kein event-on-change-update...
fhem sagt das sei nicht implementiert...
thx anton
KNX, Raspberry, Denon 3313, Philips TV, Xtrend9X00 und viel Optimismus...

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #49 am: 05 April 2015, 12:01:31 »
Hallo Anton,

stimmt. Aber meine Motivation zur (fehlerfreien) Implementierung hält sich in Grenzen, weil von mir nicht benötigt  ;)

Also ich kann die Attribute zumindest setzen. Ohne Fehlermeldung.
Funktionieren tut es aber immer noch nicht. Ich mach mich bei Gelegenheit mal dran...

Frohe Ostern!

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #50 am: 05 April 2015, 20:54:50 »
Abend!

Hat von Euch eigentlich jemand eine Ahnung, wie wir die Änderungen eingecheckt, bzw. veröffentlicht bekommen?

Danke und Grüße, Andreas

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #51 am: 05 April 2015, 22:16:36 »
Hallo Michael,

so, bin einen Schritt weiter. Mit der Datei im Anhang und der folgenden Konfig funktioniert wenigstens mal event-min-interval.

So anzuwenden:

<code>
define eventDebug EIB 5/0/12
attr eventDebug model dpt5
attr eventDebug event-min-interval state:60
define FileLog_debug FileLog ./trace/debug.log eventDebug
</code>

Hoffe, das hilft erstmal. Für event-on-Change hab ich noch keine Idee...

Offline MiWe58

  • Full Member
  • ***
  • Beiträge: 172
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #52 am: 06 April 2015, 14:25:37 »
Hallo Andi,

vielen Dank für den Post.
Funktioniert hervorragend!

Hast Du Dir schon einmal Gedanken darüber gemacht, Daten zu schreiben?

Gruß
Michael
Devices: RasPi II, HomeMatic, KNX, Heliotherm-Wärmepumpe
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, Alarm, Zugang, Wasser

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #53 am: 06 April 2015, 18:31:58 »
Hallo Michael,

eins, nach dem anderen :-)

Zwecks der DPT14, meinst Du?

Jetzt quäl ich mich erstmal durch event-on-Change ...

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #54 am: 06 April 2015, 21:25:39 »
Hallo Michael,

so, ich glaube Du schuldest meiner Frau einen Prosecco :-)

Im Anhang eine Testversion mit "sendfähigem" DPT14, und funktionierendem event-on-Change...

HowTo:

define eventDebug2 EIB 5/0/13
attr eventDebug2 IODev tul
attr eventDebug2 model dpt9
attr eventDebug2 event-on-change-reading .*
attr eventDebug2 event-min-interval state:60
define FileLog_debug2 FileLog ./trace/debug.log eventDebug2

Bitte um Feedback...

Grüße, Andreas

Offline aliate

  • Jr. Member
  • **
  • Beiträge: 74
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #55 am: 06 April 2015, 21:42:45 »
...ich werde es morgen testen.
Vielen Dank für Deine Mühe Andres  :)

Schönen Abend noch

Gruß Hermann

Offline MiWe58

  • Full Member
  • ***
  • Beiträge: 172
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #56 am: 11 April 2015, 17:55:35 »
Hallo Andi,

herzlichen Dank für Dein Engagement. Sofern es reicht, Dir mit einem Glas Prosecco den "Rückenfrei zu halten :)" übernehme ich das gerne.

event-on-Change-reading scheint zu funktionieren.  Ich bekomme jetzt nur noch Einträge, sofern sich der Wert tatsächlich geändert hat.

Das Schreiben kann ich offen bar nicht testen. Der Grund liegt nach meiner Einschätzung in der Zuordnung / Unterstützung von Datenformaten. Hierzu hatte ich weiter oben schon einmal einen Beitrag geschrieben.

In meinem KNX-Gateway zu meiner Wärmepumpe kann ich die folgenden Datentypen konfigurieren:

- Boolean
- float
- signed
- unsigned

nicht jeder Wert im Gateway kann für jedes der obigen Formate konfiguriert werden.
Statuswerte zu Temperaturen werden als "float" ausgelesen. Das funktioniert gut als "model dpt14"

Alle zu schreibenden Werte sind als "signed" bzw. "unsigned" konfigurierbar. Nicht jedoch als "float"

Für die Darstellung der "Boolean", "signed" und "unsigned" Werte habe ich noch kein passendes "model" gefunden.

Das benötige ich aber, um das Schreiben testen zu können.

Gruß
Michael
Devices: RasPi II, HomeMatic, KNX, Heliotherm-Wärmepumpe
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, Alarm, Zugang, Wasser

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #57 am: 12 April 2015, 20:57:31 »
Hallo Michael,

jaja, so sind sie, unsere Frauen.

OK - Frage verstanden.

Ich versuche mal ein Mapping (Trefferwahrscheinlichkeit hoch, aber nicht absolut :-P Kenne Deine Steuerung nicht):

Boolean == FS20; Senden und Empfangen implementiert
Float (2Byte) == DPT9; Senden und Empfangen implementiert
Float (4Byte) == DPT14; Senden und Empfangen implementiert
Unigned (1Byte) == DPT5; Senden und Empfangen implementiert
Unsigned (2Byte) == DPT7; Senden und Empfangen implementiert
Unsinged (4Byte) == DPT12; Senden und Empfangen implementiert
Signed-Typen: nicht implementiert

Du schreibst, dass Du die einzelnen Elemente auf Signed oder Unsigned stellen kannst - dann würd ich Dich bitten, es mal mit Unsigned zu versuchen.

Jetzt musst Du eigentlich nur rausfinden, wie lang Deine Telegramme sind (Bytes). Am einfachsten geht dies mit der ETS - das wird da direkt angezeigt. Hierfür reicht im Übrigen auch die ETS-Free - brauchst nicht zwingend eine große Version.
Ansonsten hilft auch das FHEM-Log mit vorher gesetztem Verbose 5. Da kann man auch gut was rauslesen.

Gute Lektüre:
http://www.knx.org/media/docs/KNX-Tutor-files/Summary/KNX-Communication.pdf
ftp://85.214.247.170/Download/Datapoint.pdf


Grüße, Andreas

Offline MiWe58

  • Full Member
  • ***
  • Beiträge: 172
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #58 am: 13 April 2015, 18:39:00 »
Hallo Andreas,

vielen Dank erst einmal.
Ich werde mich da mal einlesen.

Wo definiere ich den Typ FS20? habe ich bei den "models" nicht gefunden.
Schreiben scheint noch nicht zu funktionieren. Ich werde mich melden, sobald ich mehr Zeit investiert habe.

Gruß
Michael
Devices: RasPi II, HomeMatic, KNX, Heliotherm-Wärmepumpe
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, Alarm, Zugang, Wasser

Offline Andi291

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1125
Antw:Datentypen in 10_EIB-pm ergänzt
« Antwort #59 am: 13 April 2015, 21:34:17 »
Hallo Michael,

FS20 ist der "Standard" für 1-Bit-Adressen:

define lueften_verzoegert_status EIB 9/0/10
attr lueften_verzoegert_status IODev tul
attr lueften_verzoegert_status dummy 1
attr lueften_verzoegert_status group Lüftung
attr lueften_verzoegert_status model fs20
attr lueften_verzoegert_status room Dummies
attr lueften_verzoegert_status sortby ke1
attr lueften_verzoegert_status webCmd :