FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Guzzi-Charlie am 30 Januar 2020, 14:17:07

Titel: HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen[Gelöst]
Beitrag von: Guzzi-Charlie am 30 Januar 2020, 14:17:07
Hallo,

ich habe ein Problem mit dem Setzen eines bestimmten datapoints.

Kurze Hintergrunderklärung vorab:

Ich hatte bisher noch nie etwas mit Homematic zu tun und kenne mich damit NULL aus.

Ich möchte den Fußbodenheizungsaktor HmIP-FALMOT-C12 zur Steuerung meiner FB-Heizkreise einsetzen. Mein erster Gedanke war diesen einfach mit den in FHEM vorhandenen Temp. Soll- und Ist-Werten zu versorgen. Das ist dann daran gescheitert, daß man offensichtlich diese Werte von "Außen" nicht beschreiben kann, sondern sie zwingend von einem HmIP-Thermostaten (HmIP-STH, HmIP-STHD,HmIP-WHT-2) kommen müssen. Also habe ich mir zum Testen mal je einen HmIP-STH und HmIP-STHD bestellt. Die Idee war die Einstellungen der Thermostate dann durch FHEM vorzunehmen.

Unter Anderen gibt es dafür 2 datapoints (SET_POINT_TEMPERATURE und TEMPERATURE_OFFSET). Mit dem 1. stellt man den Sollwert ein und mit dem 2. kann man den aktuellen Meßwert zumindest beeinflussen, der Meßwert selbst kann leider nicht überschrieben werden).

Nach Einrichten des HMCCU-Moduls und Anlegen der Devices begann ich mit den Tests.

Ich habe zwar immer noch das Eine oder Andere Verständnisproblem im Zusammenspiel zwischen HM und FHEM, aber grundsätzlich klappt der Datenaustausch.

Jetzt zu meinem Problem:


Ich versuche schon seit 2 Tagen die Ursache herauszufinden. Bisher leider erfolglos. In der"HmIP_Device_Documentation.pdf" ist für beide datapoints als Access "read/write" angegeben. Was mache ich falsch?
Titel: Antw:HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen
Beitrag von: zap am 30 Januar 2020, 16:41:42
Machst Du bitte mal ein "get deviceinfo" für das Gerät in FHEM und postest den Output hier?
Ich habe schon eine Vermutung
Titel: Antw:HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen
Beitrag von: Guzzi-Charlie am 30 Januar 2020, 16:47:45
Bitteschön,

Falls Du darin den Datenpunkt suchen willst, dann kann ich Dir jetzt schon sagen: Den gibt es da nicht.

CHN 000E5A49A14059:0 HmIP-STH 000E5A49A14059:0
  DPT {b} HmIP-RF.000E5A49A14059:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.000E5A49A14059:0.DUTY_CYCLE = false [RE]
  DPT {b} HmIP-RF.000E5A49A14059:0.INSTALL_TEST = true [RW]
  DPT {b} HmIP-RF.000E5A49A14059:0.LOW_BAT = false [RE]
  DPT {f} HmIP-RF.000E5A49A14059:0.OPERATING_VOLTAGE = 3.000000 [RE]
  DPT {i} HmIP-RF.000E5A49A14059:0.OPERATING_VOLTAGE_STATUS = 0 [RE]
  DPT {n} HmIP-RF.000E5A49A14059:0.RSSI_DEVICE = 173 [RE]
  DPT {n} HmIP-RF.000E5A49A14059:0.RSSI_PEER = 185 [RE]
  DPT {b} HmIP-RF.000E5A49A14059:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.000E5A49A14059:0.UPDATE_PENDING = false [RE]
CHN 000E5A49A14059:1 HmIP-STH 000E5A49A14059:1
  DPT {i} HmIP-RF.000E5A49A14059:1.ACTIVE_PROFILE = 1 [RWE]
  DPT {f} HmIP-RF.000E5A49A14059:1.ACTUAL_TEMPERATURE = 24.200000 [RE]
  DPT {i} HmIP-RF.000E5A49A14059:1.ACTUAL_TEMPERATURE_STATUS = 0 [RE]
  DPT {b} HmIP-RF.000E5A49A14059:1.BOOST_MODE = false [WE]
  DPT {i} HmIP-RF.000E5A49A14059:1.BOOST_TIME = 0 [RE]
  DPT {f} HmIP-RF.000E5A49A14059:1.CONTROL_DIFFERENTIAL_TEMPERATURE =  [W]
  DPT {i} HmIP-RF.000E5A49A14059:1.CONTROL_MODE =  [W]
  DPT {i} HmIP-RF.000E5A49A14059:1.DURATION_UNIT =  [W]
  DPT {i} HmIP-RF.000E5A49A14059:1.DURATION_VALUE =  [W]
  DPT {b} HmIP-RF.000E5A49A14059:1.FROST_PROTECTION = false [RE]
  DPT {i} HmIP-RF.000E5A49A14059:1.HEATING_COOLING = 0 [RWE]
  DPT {i} HmIP-RF.000E5A49A14059:1.HUMIDITY = 30 [RE]
  DPT {i} HmIP-RF.000E5A49A14059:1.HUMIDITY_STATUS = 0 [RE]
  DPT {b} HmIP-RF.000E5A49A14059:1.PARTY_MODE = false [RE]
  DPT {f} HmIP-RF.000E5A49A14059:1.PARTY_SET_POINT_TEMPERATURE = 0.000000 [RE]
  DPT {s} HmIP-RF.000E5A49A14059:1.PARTY_TIME_END =  [RWE]
  DPT {s} HmIP-RF.000E5A49A14059:1.PARTY_TIME_START =  [RWE]
  DPT {i} HmIP-RF.000E5A49A14059:1.QUICK_VETO_TIME = 0 [RE]
  DPT {i} HmIP-RF.000E5A49A14059:1.SET_POINT_MODE = 0 [RWE]
  DPT {f} HmIP-RF.000E5A49A14059:1.SET_POINT_TEMPERATURE = 20.000000 [RWE]
  DPT {b} HmIP-RF.000E5A49A14059:1.SWITCH_POINT_OCCURED = false [RE]
  DPT {i} HmIP-RF.000E5A49A14059:1.WINDOW_STATE = 0 [RWE]
Titel: Antw:HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen
Beitrag von: zap am 30 Januar 2020, 17:39:32
Ja, das ist die Bestätigung für meine Vermutung, daher


set xy config 1 TEMPERATURE_OFFSET=2.5


Bitte beachten: Kein . zwischen 1 und Parameter.

Erklärung: Es gibt Datenpunkte und Konfigurationsparameter. Letztere sind die, die Du in der CCU unter Einstellungen -> Geräteeinstellungen findest, wenn Du bei dem jeweiligen Gerät den Button "Einstellen" drückst.

Datenpunkte setzt Du mit "set datapoint", Parameter mit "set config".

Wichtig zu wissen: Nur Datenpunkte werden von der CCU automatisch aktualisiert. Parameter hingegen nicht. Die muss man mit "get config" explizit auslesen.
Titel: Antw:HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen
Beitrag von: Guzzi-Charlie am 30 Januar 2020, 18:20:12
Hallo,

vielen Dank. Gut, also war "ich doch zu blöd", aber da muß man erstmal drauf kommen.

Es ist mir mit dem richtigen Befehl jetzt gelungen den Wert in der CCU zu schreiben, allerdings:
Kann ich auch Parameter als reading anlegen?

Nochmal zur Syntax:
Muß jetzt also ein set datapoint als "1.xxx" und ein set config als "1 xxx" eingegeben werden?
Titel: Antw:HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen
Beitrag von: zap am 30 Januar 2020, 19:39:26
Kommt die Fehlermeldung beim "set config" Befehl?

Die Servicemeldung ist ok. Die CCU überträgt Konfigurationsparameter u.U. nicht sofort.

Wenn "get config" keine Wirkung zeigt, versuche mal nur

get xy config 1

Falls das auch nichts bringt: wie sieht das Attribut ccureadingfilter aus?

Wie gesagt: Datenpunkte setzen mit set datapoint. Zwischen Datenpunkt und Wert ist ein Leerzeichen.

Parameter setzen mit set config. Zwischen Parameter und Wert ist ein =. Der Kanal (hier 1) wird davor separat angegeben.
Titel: Antw:HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen
Beitrag von: Guzzi-Charlie am 30 Januar 2020, 23:44:23
Hallo,

das "get xy config 1" hat funktioniert.

Die Syntax ist allerdings schon sehr undurchsichtig. Gibt es denn irgendwo eine allgemeine Beschreibung der HM-Syntax?

Das attr ccureadingfilter ist bei mir bisher nicht gesetzt. Ich hatte es so verstanden, daß das zum Einschränken der Anzahl/Typen der readings vorgesehen ist, oder? Da ich aber zum Testen erstmal Alles sehen wollte habe ich das noch nicht genutzt.

Jetz habe ich noch eine kleine andere Frage:
Ich habe meine CCU-Geräte ja mit "get d_pivccu devicelist create ^H[M|m].* t=dev f=%n defattr save room=Homematic" angelegt. Das hat ja auch prinzipiell funktioniert, aber aus irgendeinem Grund legt FHEM den Fußbodenheizungsaktor HmIP-FALMOT-C12 nicht an. Ich bekomme nach Ausführung des Befehls zwar gemeldet "6 Geräte gefunden", es werden aber nur 4 angelegt.

An Geräten sind in der CCU die folgenden vorhanden:

In FHEM angelegt wurden aber nur die Devices 1, 2, 3,4

Woran könnte das liegen? Gerade die Daten vom Fußbodenheizungsaktor HmIP-FALMOT-C12 brauch ich natürlich. Irgendetwas muß ich falsch/anders gemacht haben als bei der ersten Installation. Da war der Aktor nämlich angelegt/verbunden.

Vielen Dank für die bisherige Unterstützung
Bernd
Titel: Antw:HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen
Beitrag von: loescher am 05 Februar 2020, 22:23:08
Hi!

Was liefert denn ein
get d_pivccu devicelist dump
?

LG,
Stephan.
Titel: Antw:HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen
Beitrag von: Guzzi-Charlie am 06 Februar 2020, 00:12:55
Hallo Stephan,

mit dem Dump-Befehl werden alle (inzwischen 7) angezeigt, z.B. auch der Fußbodenheizungsaktor:
Device "Regler FB-Hzg.OG" [001B9A49A8B2D8] Type=HmIP-FALMOT-C12
  Channel 0 "Regler FB-Hzg.OG:0" [001B9A49A8B2D8:0]
  Channel 1 "HmIP-FALMOT-C12 001B9A49A8B2D8:1" [001B9A49A8B2D8:1]
  Channel 2 "HmIP-FALMOT-C12 001B9A49A8B2D8:10" [001B9A49A8B2D8:10]
  Channel 3 "HmIP-FALMOT-C12 001B9A49A8B2D8:11" [001B9A49A8B2D8:11]
  Channel 4 "HmIP-FALMOT-C12 001B9A49A8B2D8:12" [001B9A49A8B2D8:12]
  Channel 5 "HmIP-FALMOT-C12 001B9A49A8B2D8:13" [001B9A49A8B2D8:13]
  Channel 6 "HmIP-FALMOT-C12 001B9A49A8B2D8:14" [001B9A49A8B2D8:14]
  Channel 7 "HmIP-FALMOT-C12 001B9A49A8B2D8:15" [001B9A49A8B2D8:15]
  Channel 8 "HmIP-FALMOT-C12 001B9A49A8B2D8:16" [001B9A49A8B2D8:16]
  Channel 9 "HmIP-FALMOT-C12 001B9A49A8B2D8:2" [001B9A49A8B2D8:2]
  Channel 10 "HmIP-FALMOT-C12 001B9A49A8B2D8:3" [001B9A49A8B2D8:3]
  Channel 11 "HmIP-FALMOT-C12 001B9A49A8B2D8:4" [001B9A49A8B2D8:4]
  Channel 12 "HmIP-FALMOT-C12 001B9A49A8B2D8:5" [001B9A49A8B2D8:5]
  Channel 13 "HmIP-FALMOT-C12 001B9A49A8B2D8:6" [001B9A49A8B2D8:6]
  Channel 14 "HmIP-FALMOT-C12 001B9A49A8B2D8:7" [001B9A49A8B2D8:7]
  Channel 15 "HmIP-FALMOT-C12 001B9A49A8B2D8:8" [001B9A49A8B2D8:8]
  Channel 16 "HmIP-FALMOT-C12 001B9A49A8B2D8:9" [001B9A49A8B2D8:9]


Wie kann ich denn dieses Device sichtbar machen?

Danke schonmal für die Info.
Bernd
Titel: Antw:HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen
Beitrag von: zap am 06 Februar 2020, 12:54:44
Der reguläre Ausdruck beim Befehl "get devicelist" bezieht sich auf den Namen in der CCU, nicht den Gerätetyp. Um den FB-Heizungsregler zu erwischen, musst Du also folgendes eingeben:

get d_pivccu devicelist create ^Regler.* t=dev f=%n defattr save room=Homematic"

oder

get d_pivccu devicelist create FB-Hzg.OG t=dev f=%n defattr save room=Homematic"

Du kannst natürlich jederzeit die Devices auch manuell anlegen. get devicelist ist v.a. für große Gerätemengen gedacht, funktioniert aber auch für einzelne Geräte.

Beispiel:

define xy HMCCUDEV "Regler FB-Hzg.OG"

Ich kenne den Regler nicht. Wenn aber über die einzelnen Kanäle verschiedene Heizkreise gesteuert werden, könnte es sinnvoll sein, statt einem HMCCUDEV für jeden dieser Kanäle ein HMCCUCHN anzulegen.
Titel: Antw:HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen
Beitrag von: Guzzi-Charlie am 06 Februar 2020, 13:16:53
Hallo,

Super, das hat jetzt geklappt. Ich glaube daß ich nun auch den Grund für das Verhalten verstanden habe. Ich hatte bisher alle HM-Geräte mit "^Hm.*" angelegt und die dann nachträglich in der CCU umbenannt. Da steht dann jetzt als ID "HmIP-xxxx" und als CCU-Name z.B. "Thermostatxxxx"), aber der FHEM-Name lautet trotzdem noch "HmIP-xxxx". Bei dem Regler habe ich wahrscheinlich den Name in der CCU vor Ausführen des FHEM devicelist geändert und dann konnte er ihn mit "^Hm.*" natürlich nicht mehr finden.

Vielen Dank und Grüße
Bernd