Version 3958 - subtype roomSensorControl.05

Begonnen von karpate, 26 September 2013, 13:21:18

Vorheriges Thema - Nächstes Thema

karpate

Hallo klaus

ich versuche die set-Befehle mittels SR04P/F4H12 zu testen.

Die config wurde mit den scale-Attributen ergänzt:
attr eg_bad_Temp manufID 002
attr eg_bad_Temp room 114_Bad_WC
attr eg_bad_Temp subType roomSensorControl.05
attr eg_bad_Temp userReadings set_point {sprintf("%0.1f", ReadingsVal("eg_bad_Temp","setpoint",0)/6.375) }
attr eg_bad_Temp scaleDecimals 1
attr eg_bad_Temp scaleMax 25.0
attr eg_bad_Temp scaleMin 16.0


Führe ich diesen Befehl aus
set eg_bad_Temp setpointScaled 20.0

Eventmonitor
Zitat2013-09-26 13:14:53 EnOcean eg_bad_Temp temperature: 20
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 16.8
2013-09-26 13:14:53 EnOcean eg_bad_Temp setpointScaled: 20.0
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 16.8
2013-09-26 13:14:53 EnOcean eg_bad_Temp setpoint: 113
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 17.7
2013-09-26 13:14:53 EnOcean eg_bad_Temp fanStage: 3
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 17.7
2013-09-26 13:14:53 EnOcean eg_bad_Temp switch: 1
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 17.7
2013-09-26 13:14:53 EnOcean eg_bad_Temp T: 20 SP: 113 F: 3 SW: 1
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 17.7
2013-09-26 13:14:53 EnOcean eg_bad_Temp 20.0
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 17.7

Readings

(siehe Anhang / see attachement)


Plot

(siehe Anhang / see attachement)


Vermutlich mache ich etwas falsch oder etwas funktioniert noch nicht korrekt.
Für Hilfe wäre ich dankbar.

Danke und Gruss
ingo
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

klaus.schauer

Zitat von: karpate schrieb am Do, 26 September 2013 13:21Hallo klaus

ich versuche die set-Befehle mittels SR04P/F4H12 zu testen.

Die config wurde mit den scale-Attributen ergänzt:
attr eg_bad_Temp manufID 002
attr eg_bad_Temp room 114_Bad_WC
attr eg_bad_Temp subType roomSensorControl.05
attr eg_bad_Temp userReadings set_point {sprintf("%0.1f", ReadingsVal("eg_bad_Temp","setpoint",0)/6.375) }
attr eg_bad_Temp scaleDecimals 1
attr eg_bad_Temp scaleMax 25.0
attr eg_bad_Temp scaleMin 16.0


Führe ich diesen Befehl aus
set eg_bad_Temp setpointScaled 20.0

Eventmonitor
Zitat2013-09-26 13:14:53 EnOcean eg_bad_Temp temperature: 20
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 16.8
2013-09-26 13:14:53 EnOcean eg_bad_Temp setpointScaled: 20.0
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 16.8
2013-09-26 13:14:53 EnOcean eg_bad_Temp setpoint: 113
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 17.7
2013-09-26 13:14:53 EnOcean eg_bad_Temp fanStage: 3
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 17.7
2013-09-26 13:14:53 EnOcean eg_bad_Temp switch: 1
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 17.7
2013-09-26 13:14:53 EnOcean eg_bad_Temp T: 20 SP: 113 F: 3 SW: 1
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 17.7
2013-09-26 13:14:53 EnOcean eg_bad_Temp 20.0
2013-09-26 13:14:53 EnOcean eg_bad_Temp set_point: 17.7

Readings

(siehe Anhang / see attachement)


Plot

(siehe Anhang / see attachement)


Vermutlich mache ich etwas falsch oder etwas funktioniert noch nicht korrekt.
Wahrscheinlich muss die Skalierung auf 0 - 40 °C eingestellt werden. userReadings set_point ist m. E. nicht notwendig. Ich würde es im ersten Schritt mit dem Eltako-Profil versuchen: manufID 00D. Da kann man die Solltemperatur direkt eingeben.
Außerdem wird noch ein Referenztemperaturgeber (Isttemperatur) benötigt. z. B. mit dem Attribut temperatureRefDev <dev mit Istwert>. Geht aber auch, wenn man das Attribut actualTemp <temp> mit dem Istwert füttert.
 

karpate

Hallo klaus

Danke für die Antwort.
Die cfg habe ich jetzt so geändert:


attr eg_bad_Temp manufID 00D
attr eg_bad_Temp room 114_Bad_WC
attr eg_bad_Temp subType roomSensorControl.05
attr eg_bad_Temp userReadings set_point {sprintf("%0.1f", ReadingsVal("eg_bad_Temp","setpoint",0)/6.375) }
attr eg_bad_Temp scaleDecimals 1
attr eg_bad_Temp scaleMax 40.0
attr eg_bad_Temp scaleMin 0.0
attr eg_bad_Temp actualTemp ReadingsVal("eg_bad_Temp","temperature",0)


Mit dem Attribut actualTemp bin ich nicht sicher ob es stimmt. Ein Tipp wäre nett.

Apropos manufID 00D: so wie ich es verstehe gilt das für alle Eltako devices?

Danke und Gruß
ingo
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

klaus.schauer

Zitat von: karpate schrieb am Do, 26 September 2013 16:53Hallo klaus

Danke für die Antwort.
Die cfg habe ich jetzt so geändert:


attr eg_bad_Temp manufID 00D
attr eg_bad_Temp room 114_Bad_WC
attr eg_bad_Temp subType roomSensorControl.05
attr eg_bad_Temp userReadings set_point {sprintf("%0.1f", ReadingsVal("eg_bad_Temp","setpoint",0)/6.375) }
attr eg_bad_Temp scaleDecimals 1
attr eg_bad_Temp scaleMax 40.0
attr eg_bad_Temp scaleMin 0.0
attr eg_bad_Temp actualTemp ReadingsVal("eg_bad_Temp","temperature",0)


Mit dem Attribut actualTemp bin ich nicht sicher ob es stimmt. Ein Tipp wäre nett.

Apropos manufID 00D: so wie ich es verstehe gilt das für alle Eltako devices?
manufID 00D steht für "Eltako"

Ich würde es so machen:



attr eg_bad_Temp manufID 00D
attr eg_bad_Temp room 114_Bad_WC
attr eg_bad_Temp subType roomSensorControl.05
attr eg_bad_Temp temperatureRefDev <Fhem NAME des Temperatursensors im Bad>


So wie es eingerichtet war, wäre ja das Fhem Device "eg_bad_temp" selbst die Temperaturreferenz. Es muss zusätzlich zum Fhem Kontrollgerät "eg_bad_Temp" einen physikalischen Sensor geben, der die Isttemperatur liefert. Das könnte ein Eltako FTF55 oder ein Thermokon SR04 sein.

karpate

also z.B. so

attr eg_bad_Temp temperatureRefDev 00052C75

00052C75 ist die Adresse des SR04P
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

klaus.schauer

Zitat von: karpate schrieb am Do, 26 September 2013 18:01also z.B. so

attr eg_bad_Temp temperatureRefDev 00052C75

00052C75 ist die Adresse des SR04P
Nicht die Fhem DEF (SenderID des SR04) sondern den Fhem NAME.

karpate

ok, habs geändert in
attr eg_bad_Temp temperatureRefDev eg_bad_Temp

nach set eg_bad_Temp setpointTemp 22.0 scheint es erst mal alles richtig geändert zu werden sowie im Plot. Wenn aber das näcshte Datentelegramm vom SR04 empfangen wird, ist setpoint wieder wie vorher
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

klaus.schauer

Zitat von: karpate schrieb am Do, 26 September 2013 21:40ok, habs geändert in
attr eg_bad_Temp temperatureRefDev eg_bad_Temp

nach set eg_bad_Temp setpointTemp 22.0 scheint es erst mal alles richtig geändert zu werden sowie im Plot. Wenn aber das näcshte Datentelegramm vom SR04 empfangen wird, ist setpoint wieder wie vorher
Ich glaube das Problem liegt an anderer Stelle. In Fhem muss ein neues Device "Temperaturregler" mit einer Fhem SenderID angelegt werden. Dieses neue Device muss in die Eltako Steuerungen eingelernt werden. Damit wird der bisherige SR04 Temperaturregler automatisch ausgelernt. Der SR04 dient dann nur noch als Temperaturreferenz für den neuen Fhem Temperaturregler.

karpate

Hallo klaus,

Danke für den Hinweis.
Habe jetzt einen neuen Regler definiert in der cfg:

# Regler Temperatur
define eg_bad_Temp_Regler EnOcean FF822DD2
attr eg_bad_Temp_Regler icon icoTempHausReg
attr eg_bad_Temp_Regler manufID 00D
attr eg_bad_Temp_Regler room 114_Bad_WC
attr eg_bad_Temp_Regler scaleDecimals 1
attr eg_bad_Temp_Regler scaleMax 40.0
attr eg_bad_Temp_Regler scaleMin 0.0
attr eg_bad_Temp_Regler subType roomSensorControl.05
attr eg_bad_Temp_Regler temperatureRefDev eg_bad_Temp <--SR04P als Referenz
define FileLog_eg_bad_Temp_Regler FileLog ./log/eg_bad_Temp_Regler-%Y.log eg_bad_Temp_Regler
attr FileLog_eg_bad_Temp_Regler icon icoHISTORIE.png
attr FileLog_eg_bad_Temp_Regler logtype text
attr FileLog_eg_bad_Temp_Regler room EnOcean


Bisher ist er noch nicht eingelernt. Da hänge ich gerade: Die Eltako-Anleitung für den F4H12 beschreibt, das 4 Kanäle pro F4H12 zu Verfügung stehen. Die Anleitung verstehe ich so, wenn ich jetzt eg_bad_Temp_Regler auf den Kanal des Hardware SR04P einlerne, wird dieser aus dem F4H12 gelöscht. Ist das korrekt?

Danke und Gruß ingo
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

klaus.schauer

Zitat von: karpate schrieb am Do, 03 Oktober 2013 13:49Hallo klaus,

Danke für den Hinweis.
Habe jetzt einen neuen Regler definiert in der cfg:

# Regler Temperatur
define eg_bad_Temp_Regler EnOcean FF822DD2
attr eg_bad_Temp_Regler icon icoTempHausReg
attr eg_bad_Temp_Regler manufID 00D
attr eg_bad_Temp_Regler room 114_Bad_WC
attr eg_bad_Temp_Regler scaleDecimals 1
attr eg_bad_Temp_Regler scaleMax 40.0
attr eg_bad_Temp_Regler scaleMin 0.0
attr eg_bad_Temp_Regler subType roomSensorControl.05
attr eg_bad_Temp_Regler temperatureRefDev eg_bad_Temp <--SR04P als Referenz
define FileLog_eg_bad_Temp_Regler FileLog ./log/eg_bad_Temp_Regler-%Y.log eg_bad_Temp_Regler
attr FileLog_eg_bad_Temp_Regler icon icoHISTORIE.png
attr FileLog_eg_bad_Temp_Regler logtype text
attr FileLog_eg_bad_Temp_Regler room EnOcean


Bisher ist er noch nicht eingelernt. Da hänge ich gerade: Die Eltako-Anleitung für den F4H12 beschreibt, das 4 Kanäle pro F4H12 zu Verfügung stehen. Die Anleitung verstehe ich so, wenn ich jetzt eg_bad_Temp_Regler auf den Kanal des Hardware SR04P einlerne, wird dieser aus dem F4H12 gelöscht. Ist das korrekt?
Das sollte so gehen.

Die Eintragungen

attr eg_bad_Temp_Regler scaleDecimals 1
attr eg_bad_Temp_Regler scaleMax 40.0
attr eg_bad_Temp_Regler scaleMin 0.0

sind bei dem Eltako-Profil unwirksam, könnten also entfallen.

Viel Erfolg!

karpate

Hallo klaus,

nochmal zum Einlernen des FHEM-Reglers. Zizat aus der Anleitung des F4H12-Aktors:
http://www.eltako.com/fileadmin/downloads/de/_bedienung/F4H12-12V_DC_30400132-1_dt.pdf

ZitatDieses Heizrelais wertet über ein
Funk-Antennen-modul FAM12-12 V DC je Kanal die Informationen
von je einem Funk-Temperaturregler aus.
Eventuell ergänzt um je einen Fenster-Tür-
Kontakte FTK oder Hoppe-Fenstergriff.
Alternativ zu einem Funk-Temperaturregler kann
die Temperaturinformation über Soll- und
Istwerte auch von der FVS-Software bezogen
werden

weiter steht in der Anleitung:
ZitatSensoren einlernen
1. Mit dem unteren Drehschalter den
gewünschten Kanal 1 bis 4 wählen.
Pro Kanal kann nur ein FTR55D eingelernt
werden, beim Einlernen wird ein vorher
eingelernter Sensor automatisch gelöscht.
Jedem FTR55D kann nur ein Kanal
zugeordnet werden

Für mich bedeutet dies, entweder kann ich am Aktor den Hardware SR0P-Sensor einlernen (ist momentan eingelernt) oder einen "FHEM-Regler".
Ich hoffe du kannst hier Licht ins Dunkle bringen.

Danke und Gruß ingo
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

klaus.schauer

Zitat von: karpate schrieb am Fr, 04 Oktober 2013 07:54Hallo klaus,

nochmal zum Einlernen des FHEM-Reglers. Zizat aus der Anleitung des F4H12-Aktors:
http://www.eltako.com/fileadmin/downloads/de/_bedienung/F4H12-12V_DC_30400132-1_dt.pdf

ZitatDieses Heizrelais wertet über ein
Funk-Antennen-modul FAM12-12 V DC je Kanal die Informationen
von je einem Funk-Temperaturregler aus.
Eventuell ergänzt um je einen Fenster-Tür-
Kontakte FTK oder Hoppe-Fenstergriff.
Alternativ zu einem Funk-Temperaturregler kann
die Temperaturinformation über Soll- und
Istwerte auch von der FVS-Software bezogen
werden

weiter steht in der Anleitung:
ZitatSensoren einlernen
1. Mit dem unteren Drehschalter den
gewünschten Kanal 1 bis 4 wählen.
Pro Kanal kann nur ein FTR55D eingelernt
werden, beim Einlernen wird ein vorher
eingelernter Sensor automatisch gelöscht.
Jedem FTR55D kann nur ein Kanal
zugeordnet werden

Für mich bedeutet dies, entweder kann ich am Aktor den Hardware SR0P-Sensor einlernen (ist momentan eingelernt) oder einen "FHEM-Regler".
Einem Temperaturregler kann immer nur ein Steuerungsgerät zugeordnet werden, eigentlich auch logisch. Falls Fhem angelernt ist, muss zusätzlich Fhem noch ein Temperaturreferenz erhalten, z. B. das bisher genutzte Wandgerät Thermokon SR04. Der Sollwertsteller des SR04 könnte dabei indirekt nutzbar gemacht werden, z. B. durch ein notify in Fhem.

karpate

Hallo klaus,

verstanden.
Bevor ich den Regler anlerne, habe ich ein notify geschrieben, um den Sollwert vom Hardware-Thermostat an den FEHM-Regler zu übergeben.
Passt das so bzw. muß per notify noch mehr übergeben werden?

# Thermostat SR04P
define eg_bad_Temp EnOcean 00052C75
attr eg_bad_Temp manufID 00D
attr eg_bad_Temp room 114_Bad_WC
attr eg_bad_Temp subType roomSensorControl.05

# FHEM-Regler Temperatur
define eg_bad_Temp_Regler EnOcean FF822DD2
attr eg_bad_Temp_Regler manufID 00D
attr eg_bad_Temp_Regler room 114_Bad_WC
attr eg_bad_Temp_Regler subType roomSensorControl.05
attr eg_bad_Temp_Regler temperatureRefDev eg_bad_Temp

# Übernahme Sollwert SR04P --> FHEM-Regler Temperatur
define notify_eg_bad_Temp notify eg_bad_Temp_Regler {\
 if (ReadingsVal("eg_bad_Temp","setpointTemp",0) <> ReadingsVal("eg_bad_Temp_Regler","setpointTemp",0)) {\
 fhem("set eg_bad_Temp_Regler setpointTemp ReadingsVal("eg_bad_Temp","setpointTemp",0)")}\
 }
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

klaus.schauer

Zitat von: karpate schrieb am So, 06 Oktober 2013 08:04Hallo klaus,

verstanden.
Bevor ich den Regler anlerne, habe ich ein notify geschrieben, um den Sollwert vom Hardware-Thermostat an den FEHM-Regler zu übergeben.
Passt das so bzw. muß per notify noch mehr übergeben werden?

# Thermostat SR04P
define eg_bad_Temp EnOcean 00052C75
attr eg_bad_Temp manufID 00D
attr eg_bad_Temp room 114_Bad_WC
attr eg_bad_Temp subType roomSensorControl.05

# FHEM-Regler Temperatur
define eg_bad_Temp_Regler EnOcean FF822DD2
attr eg_bad_Temp_Regler manufID 00D
attr eg_bad_Temp_Regler room 114_Bad_WC
attr eg_bad_Temp_Regler subType roomSensorControl.05
attr eg_bad_Temp_Regler temperatureRefDev eg_bad_Temp

# Übernahme Sollwert SR04P --> FHEM-Regler Temperatur
define notify_eg_bad_Temp notify eg_bad_Temp_Regler {\
 if (ReadingsVal("eg_bad_Temp","setpointTemp",0) <> ReadingsVal("eg_bad_Temp_Regler","setpointTemp",0)) {\
 fhem("set eg_bad_Temp_Regler setpointTemp ReadingsVal("eg_bad_Temp","setpointTemp",0)")}\
 }
Falls das Wandgerät ein SR04 ist, sollte die Definition in Fhem auch dem entsprechen. Außerdem ist gar nicht nötig den aktuellen Sollwert des Fhem Reglers abzufragen. Falls der Wandregler den führenden Sollwert liefern soll, reicht es einfach den Wert zu setzen. Bitte danach den Sendebefehl an Heizungsregler nicht vergessen. Die erwarten ca. alle 15 min ein Telegramm, sonst gehen die in Notbetrieb.

Aber: Eigentlich kann ich den Sinn der ganzen Konstruktion nicht erkennen. Wenn der Wandregler sowieso den führenden Sollwert liefert, warum dann der Umweg über ein zusätzliches Fhem-Device.

Ich würde die Funktion des Fhem-Devices ohnehin erst einmal ohne zusätzliche Konstruktionen testen.

karpate

Hallo klaus

1. ja, das Wandgerät ist ein SR04P. Was fehlt noch bei der Definition?
2. Mein Ziel ist es, den Sollwert sowohl per Wandschalter einstellen zu können, als auch per FHEM-Regler.
3. Wenn der FHEM-Regler eingelernt wird, wie muss das mit dem Sendetelegramm alle 15min an den Aktor gelöst werden?

Gruß ingo
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr