HmIP-STH / HmIP-STHD datapoint TEMPERATURE_OFFSET läßt sich nicht setzen[Gelöst]

Begonnen von Guzzi-Charlie, 30 Januar 2020, 14:17:07

Vorheriges Thema - Nächstes Thema

Guzzi-Charlie

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:

  • Mit z.B. "set datapoint 1.SET_POINT_TEMPERATURE 19.5" kann ich den Temp.-Sollwert im HmIP-STH bzw. HmIP-STHD ändern. Der Wert wird problemlos vom Thermostat übernommen
  • Der  Befehl "set datapoint 1.TEMPERATURE_OFFSET 2.5" funktioniert allerdings nicht sondern führt in FHEM zur Fehlermeldung "HMCCUDEV: HmIP_STH_xxxxxxxxx Invalid datapoint"


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?
- RasPi 5: Cuno-V2 -2x KS300,JeeLink -13x EC3000
- Stromzähler: 6x SDM120M,9x XTM100A,38x DRS110M,3x eHz
- LAN: IT-GW 34x RMF-R1(Roll-Mot.),- 1x Loxone MSgo
- WLAN: 89x Shelly,12x Gosund SP111,16x D1-Mini,15x Sonoff Basic,85x 1wire T-Sens.
- DECT: 6x DECT200,11x DECT301,-HmIP: 3x FalmotC12,16x WTH2

zap

Machst Du bitte mal ein "get deviceinfo" für das Gerät in FHEM und postest den Output hier?
Ich habe schon eine Vermutung
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Guzzi-Charlie

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]
- RasPi 5: Cuno-V2 -2x KS300,JeeLink -13x EC3000
- Stromzähler: 6x SDM120M,9x XTM100A,38x DRS110M,3x eHz
- LAN: IT-GW 34x RMF-R1(Roll-Mot.),- 1x Loxone MSgo
- WLAN: 89x Shelly,12x Gosund SP111,16x D1-Mini,15x Sonoff Basic,85x 1wire T-Sens.
- DECT: 6x DECT200,11x DECT301,-HmIP: 3x FalmotC12,16x WTH2

zap

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.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Guzzi-Charlie

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:

  • mit der FHEM-Fehlermeldung "HMCCUDEV: HmIP_STH_000E5A49A14059 Execution of CCU script or command failed"
  • bekomme ich in der WebUI dann eine "Servicemeldung" mit dem Hinweis "Konfigurationsdaten stehen zur Übertragung an" die sich aber nicht bestätigen läßt
  • steht das reading "0.CONFIG_PENDING" steht jetzt auf "1"
  • zeigt ein get config 1 TEMPERATURE_OFFSET keine Wirkung
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?
- RasPi 5: Cuno-V2 -2x KS300,JeeLink -13x EC3000
- Stromzähler: 6x SDM120M,9x XTM100A,38x DRS110M,3x eHz
- LAN: IT-GW 34x RMF-R1(Roll-Mot.),- 1x Loxone MSgo
- WLAN: 89x Shelly,12x Gosund SP111,16x D1-Mini,15x Sonoff Basic,85x 1wire T-Sens.
- DECT: 6x DECT200,11x DECT301,-HmIP: 3x FalmotC12,16x WTH2

zap

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.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Guzzi-Charlie

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:

  • HM-RCV-50 (automatisch generiertes virtuelles Device), BidCoS-RF
  • HmIP-RCV-50 (automatisch generiertes virtuelles Device), HmIP-RF
  • HmIP-STH (Raumthermostat), HmIP-RF
  • HmIP-STHD (Raumthermostat), HmIP-RF
  • HmIP-FALMOT-C12 (Fußbodenheizungsaktor), HmIP-RF
  • HM-TC-IT-WM-W-EU (virtueller Raumthermostat), CUxD

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
- RasPi 5: Cuno-V2 -2x KS300,JeeLink -13x EC3000
- Stromzähler: 6x SDM120M,9x XTM100A,38x DRS110M,3x eHz
- LAN: IT-GW 34x RMF-R1(Roll-Mot.),- 1x Loxone MSgo
- WLAN: 89x Shelly,12x Gosund SP111,16x D1-Mini,15x Sonoff Basic,85x 1wire T-Sens.
- DECT: 6x DECT200,11x DECT301,-HmIP: 3x FalmotC12,16x WTH2

loescher


Guzzi-Charlie

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
- RasPi 5: Cuno-V2 -2x KS300,JeeLink -13x EC3000
- Stromzähler: 6x SDM120M,9x XTM100A,38x DRS110M,3x eHz
- LAN: IT-GW 34x RMF-R1(Roll-Mot.),- 1x Loxone MSgo
- WLAN: 89x Shelly,12x Gosund SP111,16x D1-Mini,15x Sonoff Basic,85x 1wire T-Sens.
- DECT: 6x DECT200,11x DECT301,-HmIP: 3x FalmotC12,16x WTH2

zap

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.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Guzzi-Charlie

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
- RasPi 5: Cuno-V2 -2x KS300,JeeLink -13x EC3000
- Stromzähler: 6x SDM120M,9x XTM100A,38x DRS110M,3x eHz
- LAN: IT-GW 34x RMF-R1(Roll-Mot.),- 1x Loxone MSgo
- WLAN: 89x Shelly,12x Gosund SP111,16x D1-Mini,15x Sonoff Basic,85x 1wire T-Sens.
- DECT: 6x DECT200,11x DECT301,-HmIP: 3x FalmotC12,16x WTH2