Problem mit set value dpt9.001

Begonnen von ZeitlerW, 04 Mai 2017, 09:16:18

Vorheriges Thema - Nächstes Thema

ZeitlerW

Hallo zusammen,

nachdem ich nun nach langer Zeit von EIB auf KNX migriert habe, tritt nun folgendes Problem  auf.

Ich kann leider dpt9.001 Werte nicht setzen:

Hier meine definition:
define Anbau_Flur_unten_Heizung_Sollw_Visu KNX 4/2/30:dpt9.001
attr Anbau_Flur_unten_Heizung_Sollw_Visu IODev KNXD
attr Anbau_Flur_unten_Heizung_Sollw_Visu group Anbau_Flur_unten_Automatik
attr Anbau_Flur_unten_Heizung_Sollw_Visu room Automatik


Wenn ich den Wert setze will,
set Anbau_Flur_unten_Heizung_Sollw_Visu value 20 kommt die Fehlermeldung:

invalid value: 20



Hier die "alte" definition mit EIB

define Anbau_Flur_unten_Heizung_Sollw_Visu EIB 4/2/30
attr Anbau_Flur_unten_Heizung_Sollw_Visu IODev KNXD
attr Anbau_Flur_unten_Heizung_Sollw_Visu group Anbau_Flur_unten_Automatik
attr Anbau_Flur_unten_Heizung_Sollw_Visu model tempsensor
attr Anbau_Flur_unten_Heizung_Sollw_Visu room Automatik


Damit funktioniert es.

lG
Wolfgang

Andi291

Hallo Wolfgang,

hatten wir schonmal irgendwo diskutiert...

Probier 20.0, damit sollte es gehen. Ich kriegs nicht mehr genau zusammen, wieso. Es hat aber auch irgendwas dagegen gesprochen, die Abfrage zu entschärfen...

Bitte um RM...Danke!

Andi291

Probier mal bitte die Version im Anhang auf Seiteneffekte...

ZeitlerW

Hallo Andi,

vielen Dank!

Funktioniert fast:

1. Problem:

Leider kann man nur 2 und mehrstellige Values setzen:

set bla value 10 -> funktioniert
set bla value 9 -> funktioniert nicht -> invalid vaule
set bla value -1 -> funktioniert nicht -> invalid vaule
set bla value -10 -> funktioniert
set bla value -100 -> funktioniert


was allerdings funktioniert:

set bla value 1.0


-> es müssen also immer 2 oder mehr stellen angegeben werden.


2. Problem:

Scheinbar rechnet der Algorithmus nicht richtig:

set bla value 100.02 -> es wird 100.00 angezeigt
set bla value 10000.99 -> es wird 9999.36 angezeigt
set bla value 670760 -> es wird 670433.28 angezeigt


Vielen Dank für Deine Mühen

Wolfgang


Andi291

Next try...

Das mit den minimalen Abweichungen ist bekannt - krieg ich aber nicht besser hin. Den Algo hab ich kopiert - da fehlt mir die Muße zum Verstehen...

Verbesserungsvorschläge nehm ich gerne an. Hier die Codezeilen:

Encode: Zeile 1130
Decode: Zeile 1436

enrikb

Liegt das mit den Abweichungen nicht im Typ selbst begründet? Die angeführten Werte sind evtl. nicht darstellbar.

Wenn ich es richtig sehe, geht z.B. nur 100 und 100.08. 100 ist damit eine gute Näherung für 100.02

Viele Grüße,
Enrik

ZeitlerW

#6
Hallo Andi,

vielen Dank.

Es funktioniert fast ;)

Nun sind keine negativen Werte mehr möglich. Hier der log - Auszug:
2017.05.07 18:29:10 3: check value: input-value -1 was casted to 1
2017.05.07 18:29:16 3: check value: input-value -1 was casted to 1
2017.05.07 18:29:24 3: check value: input-value -1.0 was casted to 1.0
2017.05.07 18:29:31 3: check value: input-value -10 was casted to 10
2017.05.07 18:29:40 3: check value: input-value -20 was casted to 20


@enrikb,

Da hast Du natürlich recht!

lG
Wolfgang

Andi291

Du regst mich auf :-)

Bitteschön...Bitte um Feedback :-)

ZeitlerW

HalloAndi,

tja, so isses halt mit den Problemsuchern :)

Ich komme erst Ende der Woche zum testen.

Trotzdem vielen lieben Dank!

lG
Wolfgang

ZeitlerW

Hallo Andi,

soweit ich beurteilen kann funktioniert die Änderung.

Vielen Dank und ein schönes Rest - Wochenende
Wolfgang

elektro_rainer

Servus, ich muss das nochmal hervorholen.....
ich habe meine KNX Solltemperatur in FHEM wie folgt definiert:
defmod KNX_7003 KNX 7/0/4:dpt9.001
attr KNX_7003 IODev KNX
attr KNX_7003 alias Speiß Soll
attr KNX_7003 webCmd g1
attr KNX_7003 widgetOverride g1:slider,15,0.1,30

Wenn ich am Temperaturregler die Temperatur ändere werden diese Werte sofort bei FHEM übernommen.
Jedoch,.. wenn ich die Werte im FHEM (FTUI) ändere, werden die nicht auf das KNX device geschrieben.

Was mache ich falsch?

Andi291

Abend!

Was kommt denn am Device an? Was meinst DU mit FTUI?

elektro_rainer

Im Log steht folgendes bei Änderung der Temperatur:
2018-10-23 12:51:18 KNX KNX_7003 setG1: 19.30 °C
2018-10-23 12:51:18 KNX KNX_7003 19.30 °C
2018-10-23 12:51:18 KNX KNX_7003 last-sender: fhem

Ich habe auch FTUI laufen, da habe ich das widget folgendermaßen definiert:
div data-type="spinner"
data-device="KNX_7003"
data-set="value"
data-icon-left-color="blue"
data-icon-right-color="Crimson"
data-icon-right="fa-plus-circle"
data-icon-left="fa-minus-circle"
data-height="40"
data-width="160"
data-step="0.1"
data-min="10"
data-max="30"
data-off="off"
data-shortdelay="50"
data-longdelay="5000"
data-unit="°C"
class="center valueonly bold white"

Egal, ob ich mit dem FHEM Slider die Temperatur ändere oder das Widget im FTUI nutze, am Berker Temperaturregler wird der Wert nicht aktualisiert, anders herum funktioniert's.... In der ETS ist der Wert als Read/Write, daran liegts auch nicht. Ich meine auch bevor die KNX aktualisierung gekommen ist hat es funktioniert.

Alle anderen Schaltaktoren laufen einwandfrei.


   

Andi291

Stell mal bitte log auf level 5 und schick die Antwort.

Was passiert, wenn Du einen Wert in der Geräteseite einstellst? ALso ohne den ganzen grafischen Schnickschnack?
Oder einfach mal probieren mit:

set KNX_7003 19