FHEM Forum

FHEM => Automatisierung => Thema gestartet von: chris050280 am 21 Juli 2015, 21:24:15

Titel: Nilan KLW und CTS 602 am Modbus
Beitrag von: chris050280 am 21 Juli 2015, 21:24:15
Hallo Leute!

Ich möchte meine Nilan Wohnraumlueftung an FHEM ueber Rs485 anbinden. Hat da schon jemand etwas versucht, oder hat jemand Interesse,  dies gemeinsam zu verfolgen?

LG Christian
Titel: Antw:Nilan KLW und CTS 602 am Modbus
Beitrag von: Spielkind am 16 Januar 2017, 00:09:02
Hattest du hier Erfolg?
Titel: Antw:Nilan KLW und CTS 602 am Modbus
Beitrag von: chris050280 am 16 Januar 2017, 05:19:53
Nein, leider nicht
Titel: Antw:Nilan KLW und CTS 602 am Modbus
Beitrag von: Spielkind am 16 Januar 2017, 09:12:09
- http://www.nilan.dk/Admin/Public/Download.aspx?File=Files%2FFiler%2FDownload%2FFrench%2FDocumentation%2FGuide+de+montage%2FModbus+CTS+602%2FMODBUS_CTS-602_2.16-2.19_Installation-and-user-guide.pdf
- https://www.amazon.de/USB-RS485-Adapter-mit-Gehäuse/dp/B00I9H5J02
- RaspberryPi
- https://wiki.fhem.de/wiki/Modbus
- https://github.com/roggmaeh/nilan-openhab

Da müsste doch was gehen :)
Titel: Antw:Nilan KLW und CTS 602 am Modbus
Beitrag von: chris050280 am 16 Januar 2017, 18:34:13
Ja, ich hab mich auch etwas eingelesen, aber ich gestehe, dass ich mich generell zu wenig auskenne in Sachen Modbus. Habe nur mal einen Befehl abgeschickt und dann war die Anlage mal kurz tot.
Titel: Antw:Nilan KLW und CTS 602 am Modbus
Beitrag von: Spielkind am 18 Januar 2017, 21:03:18
Also mit dem oben verlinktem USB Stick am raspberry pi und modbusattr habe ich mal das zusammengebastelt.
Mehr Werte kann man auch so hinzfügen, Logfiles/DB/Plots fehlen. Schöner wäre es natürlich in einem eigenen Modul.
Werte zu setzen habe ich noch nicht probiert, wir haben aber auch nur eine Be- und Entlüftung (Comfort 250 Top) mit CTS 602 Steuerung.

/etc/udev/rules.d/99-modbus.rules
SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="XXXXXXX", SYMLINK+="modbus"


fhem.cfg
define ModbusRS485 Modbus /dev/modbus@19200,8,E,1
define Nilan ModbusAttr 30 60
attr Nilan userattr IODev dev-h-defPoll dev-h-defShowGet dev-i-defPoll dev-i-defShowGet icon obj-h200-expr obj-h200-reading obj-h201-expr obj-h201-reading obj-h205-expr obj-h205-reading obj-i1200-reading obj-i1201-expr obj-i1201-reading obj-i1201-unpack obj-i1202-expr obj-i1202-reading obj-i1202-unpack obj-i1203-expr obj-i1203-reading obj-i1203-unpack obj-i1204-expr obj-i1204-reading obj-i200-expr obj-i200-reading obj-i200-unpack obj-i203-expr obj-i203-reading obj-i203-unpack obj-i204-expr obj-i204-reading obj-i204-unpack obj-i207-expr obj-i207-reading obj-i207-unpack obj-i208-expr obj-i208-reading obj-i208-unpack obj-i215-expr obj-i215-reading obj-i215-unpack obj-i221-expr obj-i221-reading
attr Nilan IODev ModbusRS485
attr Nilan dev-h-defPoll 1
attr Nilan dev-h-defShowGet 1
attr Nilan dev-i-defPoll 1
attr Nilan dev-i-defShowGet 1
attr Nilan event-on-change-reading .*
attr Nilan icon vent_ventilation
attr Nilan obj-h200-expr $val/100
attr Nilan obj-h200-reading Nilan_Output_ExhaustSpeed
attr Nilan obj-h201-expr $val/100
attr Nilan obj-h201-reading Nilan_Output_InletSpeed
attr Nilan obj-h205-expr $val/100
attr Nilan obj-h205-reading Nilan_Output_EarthSpeed
attr Nilan obj-i1200-reading Nilan_AirTemp_IsSummer
attr Nilan obj-i1201-expr $val/100
attr Nilan obj-i1201-reading Nilan_AirTemp_Tempinlet
attr Nilan obj-i1201-unpack s>
attr Nilan obj-i1202-expr $val/100
attr Nilan obj-i1202-reading Nilan_AirTemp_TempCont
attr Nilan obj-i1202-unpack s>
attr Nilan obj-i1203-expr $val/100
attr Nilan obj-i1203-reading Nilan_AirTemp_TempRoom
attr Nilan obj-i1203-unpack s>
attr Nilan obj-i1204-expr $val/100
attr Nilan obj-i1204-reading Nilan_AirTemp_EffPct
attr Nilan obj-i200-expr $val/100
attr Nilan obj-i200-reading Nilan_Input_T0_Controller
attr Nilan obj-i200-unpack s>
attr Nilan obj-i203-expr $val/100
attr Nilan obj-i203-reading Nilan_Input_T3_Exhaust
attr Nilan obj-i203-unpack s>
attr Nilan obj-i204-expr $val/100
attr Nilan obj-i204-reading Nilan_Input_T4_Outlet
attr Nilan obj-i204-unpack s>
attr Nilan obj-i207-expr $val/100
attr Nilan obj-i207-reading Nilan_Input_T7_Inlet
attr Nilan obj-i207-unpack s>
attr Nilan obj-i208-expr $val/100
attr Nilan obj-i208-reading Nilan_Input_T8_Outdoor
attr Nilan obj-i208-unpack s>
attr Nilan obj-i215-expr $val/100
attr Nilan obj-i215-reading Nilan_Input_T15_Room
attr Nilan obj-i215-unpack s>
attr Nilan obj-i221-expr $val/100
attr Nilan obj-i221-reading Nilan_Input_RH
define FileLog_Nilan FileLog ./log/Nilan-%Y-%m.log Nilan

Titel: Antw:Nilan KLW und CTS 602 am Modbus
Beitrag von: chris050280 am 29 Januar 2017, 09:17:45
Hallo.

Bin leider erst jetzt wieder mit Zeit ausgestattet  :(. Schaut ja schon mal recht ordentlich aus. DH du empfängst bereits Werte von der Steuerung?

Lg Christian
Titel: Antw:Nilan KLW und CTS 602 am Modbus
Beitrag von: Spielkind am 29 Januar 2017, 11:03:10
Jupp, Werte kommen an, und werden derzeit via DBLog geschrieben.
Die einzelnen Inputs/Holdings sind ja recht gut dokumentiert, bei negativen Werten (z.B. Frischlufttemperatur) muss man mit signed/unsigned integer aufpassen.

Mit dem python Script von openhab: https://github.com/roggmaeh/nilan-openhab/blob/master/readNilan.py liesen sich die Werte auch ohne FHEM testweise recht gut abfragen.
Das h.request habe ich dazu rausgenommen.

Nilan_Bus_Version: 8
Nilan_App_VersionMajor: 2.
Nilan_App_VersionMinor: 31
Nilan_App_VersionRelease: .d
Nilan_Input_UserFunc: 0
Nilan_Input_AirFilter: 1
Nilan_Input_DoorOpen: 0
Nilan_Input_Smoke: 0
Nilan_Input_MotorThermo: 0
Nilan_Input_Frost_Overht: 1
Nilan_Input_AirFlow: 0
Nilan_Input_P_HI: 0
Nilan_Input_P_LO: 0
Nilan_Input_Boil: 0
Nilan_Input_3WayPos: 0
Nilan_Input_DefrostHG: 0
Nilan_Input_Defrost: 0
Nilan_Input_UserFunc_2: 0
Nilan_Input_T0_Controller: 18.58 C
Nilan_Input_T1_Intake: 0.0 C
Nilan_Input_T2_Inlet: 0.0 C
Nilan_Input_T3_Exhaust: 20.95 C
Nilan_Input_T4_Outlet: 8.47 C
Nilan_Input_T5_Cond: 0.0 C
Nilan_Input_T6_Evap: 0.0 C
Nilan_Input_T7_Inlet: 12.06 C
Nilan_Input_T8_Outdoor: -1.59 C
Nilan_Input_T9_Heater: -40.0 C
Nilan_Input_T10_Extem: -40.0 C
Nilan_Input_T11_Top: 0.0 C
Nilan_Input_T12_Bottom: 0.0 C
Nilan_Input_T13_Retum: 0.0 C
Nilan_Input_T14_Supply: 0.0 C
Nilan_Input_T15_Room: 19.02 C
Nilan_Input_T16: 0.0 C
Nilan_Input_RH: 41.65 %
Nilan_Input_0O2: 0
Nilan_Alarm_Status: 0
Nilan_Alarm_List_1_ID: 0
Nilan_Alarm_List_1_Date: 0
Nilan_Alarm_List_1_Time: 0
Nilan_Alarm_List_2_ID: 0
Nilan_Alarm_List_2_Date: 0
Nilan_Alarm_List_2_Time: 0
Nilan_Alarm_List_3_ID: 0
Nilan_Alarm_List_3_Date: 0
Nilan_Alarm_List_3_Time: 0
Nilan_Control_RunAct: 1
Nilan_Control_ModeAct: 3
Nilan_Control_State: 7
Nilan_Control_SeclnState: 11118
Nilan_AirTemp_IsSummer: 0
Nilan_AirTemp_Tempinlet: 17.43 C
Nilan_AirTemp_TempCont: 20.96 C
Nilan_AirTemp_TempRoom: 19.01 C
Nilan_AirTemp_EffPct: 66.27 %
Nilan_AirTemp_CapSet: 0.0 %
Nilan_AirTemp_CapAct: 0.0 %
Nilan_Display_LED_1: 0
Nilan_Display_LED_2: 0
Nilan_Display_Text_1_2: FR
Nilan_Display_Text_3_4: IS
Nilan_Display_Text_5_6: CH
Nilan_Display_Text_7_8: L.
Nilan_Display_Attr_1_8: 0
Nilan_Display_Text_9_10: T8
Nilan_Display_Text_11_12:  -
Nilan_Display_Text_13_14:  2
Nilan_Display_Text_15_16: ßC
Nilan_Display_Attr_9_16: 0
Nilan_Bus_Address: 30
Nilan_Output_AirFlap: 1
Nilan_Output_SmokeFlap: 1
Nilan_Output_BypassOpen: 0
Nilan_Output_BypassClose: 0
Nilan_Output_AirCircPump: 0
Nilan_Output_AirHeatAllo: 1
Nilan_Output_AirHeat_1: 0
Nilan_Output_AirHeat_2: 0
Nilan_Output_AirHeat_3: 0
Nilan_Output_Compressor: 0
Nilan_Output_Compressor2: 0
Nilan_Output_4WayCool: 0
Nilan_Output_HotgasHeat: 0
Nilan_Output_HotgasCool: 0
Nilan_Output_CondOpen: 0
Nilan_Output_CondClose: 0
Nilan_Output_WaterHeat: 0
Nilan_Output_3WayValve: 0
Nilan_Output_CenCircPump: 0
Nilan_Output_CenHeat_1: 0
Nilan_Output_CenHeat_2: 0
Nilan_Output_CenHeat_3: 0
Nilan_Output_CenHeatExt: 1
Nilan_Output_UserFunc: 0
Nilan_Output_UserFunc_2: 0
Nilan_Output_Defrosting: 0
Nilan_Output_ExhaustSpeed: 70.0 %
Nilan_Output_InletSpeed: 65.0 %
Nilan_Output_AirHeatCap: 0.0 %
Nilan_Output_CenHeatCap: 0.0 %
Nilan_Output_CprCap: 0.0 %
Nilan_Output_EarthSpeed: 0.0 %
Nilan_Time_Second: 9
Nilan_Time_Minute: 0
Nilan_Time_Hour: 16
Nilan_Time_Day: 18
Nilan_Time_Month: 1
Nilan_Time_Year: 2017
Nilan_Alarm_Reset: 0
Nilan_Program_Select: 0
Nilan_Program_UserFuncAct: 0
Nilan_Program_UserFuncSet: 1
Nilan_Program_UserTimeSet: 0
Nilan_Program_UserVentSet: 4
Nilan_Program_UserTempSet: 23 C
Nilan_Program_UserOffsSet: 0 C
Nilan_Program_User2FuncAct: 0
Nilan_Program_User2FuncSet: 0
Nilan_Program_User2TimeSet: 0
Nilan_Program_User2VentSet: 4
Nilan_Program_User2TempSet: 23 C
Nilan_Program_User2OffsSet: 0 C
Nilan_Control_Type: 13
Nilan_Control_RunSet: 1
Nilan_Control_ModeSet: 3
Nilan_Control_VentSet: 3
Nilan_Control_TempSet: 22.0 C
Nilan_Control_ServiceMode: 0
Nilan_Control_ServicePct: 50.0 %
Nilan_Control_Preset: 0
Nilan_AirFlow_AirExchMode: 1
Nilan_AirFlow_CoolVent: 0
Nilan_AirTemp_CoolSet: 0 C
Nilan_AirTemp_TempMinSum: 14.0 C
Nilan_AirTemp_TempMinWin: 16.0 C
Nilan_AirTemp_TempMax: 22.0 C
Nilan_AirTemp_TempMaxWin: 25.0 C
Nilan_AirTemp_TempSummer: 12.0 C
Nilan_HotWater_TempSet_T11: 0 C
Nilan_HotWater_TempSet_T12: 0 C
Nilan_CentralHeat_HeatExtern: -1.0 C
Nilan_AirQual_RH_VentLo: 2
Nilan_AirQual_RH_VentHi: 4
Nilan_AirQual_RH_LimLo: 30.0 %
Nilan_AirQual_RH_TimeOut: 0
Nilan_AirQual_CO2_VentHi: 3
Nilan_AirQual_CO2_LimLo: 600
Nilan_AirQual_0O2_LimHi: 800
Nilan_Display_KeyCode: 0


Im Moment schau ich noch bei welchen Werten es Sinn macht sie abzufragen und zu loggen. Ans steuern via FHEM hab ich mich auch noch nicht gewagt, die Lüftung läuft bei uns auch auf Stufe "3 Auto" 24x7 -- habt ihr da andere Einstellungen?
Titel: Antw:Nilan KLW und CTS 602 am Modbus
Beitrag von: chris050280 am 29 Januar 2017, 11:36:05
Nein, läuft auch dauernd (aber auf Stufe 4) bei mir. Ich glaub, ich muss anfangen, da weiterzubasteln, um wenigstens die Werte ins FHEM zu bekommen.
Titel: Antw:Nilan KLW und CTS 602 am Modbus
Beitrag von: Lars am 08 April 2017, 10:30:12
Moin! Wie habt ihr die Dip-Schalter gestellt?
Mein 7 EUR USB adapter arbeitet nicht korrekt, jetzt ist der hier verlinkte Adapter unterwegs.

Update: Adapter ist da, alle Schalter auf Off funktioniert.

Gruß
Lars
Titel: Antw:Nilan KLW und CTS 602 am Modbus
Beitrag von: Spielkind am 12 April 2017, 13:16:44
Zitat von: Lars am 08 April 2017, 10:30:12
Moin! Wie habt ihr die Dip-Schalter gestellt?
Mein 7 EUR USB adapter arbeitet nicht korrekt, jetzt ist der hier verlinkte Adapter unterwegs.

Update: Adapter ist da, alle Schalter auf Off funktioniert.

Gruß
Lars

Sorry, war etwas langsam. :) - Habe bis jetzt auch noch nicht mehr gemacht

# Nilan Belüftung
define ModbusRS485 Modbus /dev/modbus@19200,8,E,1
define Nilan ModbusAttr 30 60
attr Nilan userattr IODev dev-h-defPoll dev-h-defShowGet dev-i-defPoll dev-i-defShowGet event-on-change-reading icon obj-h200-expr obj-h200-reading obj-h201-expr obj-h201-reading obj-i1201-expr obj-i1201-reading obj-i1201-unpack obj-i1202
-expr obj-i1202-reading obj-i1202-unpack obj-i1203-expr obj-i1203-reading obj-i1203-unpack obj-i1204-expr obj-i1204-reading obj-i200-expr obj-i200-reading obj-i200-unpack obj-i203-expr obj-i203-reading obj-i203-unpack obj-i204-expr obj-i2
04-reading obj-i204-unpack obj-i207-expr obj-i207-reading obj-i207-unpack obj-i208-expr obj-i208-reading obj-i208-unpack obj-i215-expr obj-i215-reading obj-i215-unpack obj-i221-expr obj-i221-reading
attr Nilan IODev ModbusRS485
attr Nilan dev-h-defPoll 1
attr Nilan dev-h-defShowGet 1
attr Nilan dev-i-defPoll 1
attr Nilan dev-i-defShowGet 1
attr Nilan event-on-change-reading .*
attr Nilan icon vent_ventilation
attr Nilan obj-h200-expr $val/100
attr Nilan obj-h200-reading Output_ExhaustSpeed
attr Nilan obj-h201-expr $val/100
attr Nilan obj-h201-reading Output_InletSpeed
attr Nilan obj-i1201-expr $val/100
attr Nilan obj-i1201-reading AirTemp_TempInlet
attr Nilan obj-i1201-unpack s>
attr Nilan obj-i1202-expr $val/100
attr Nilan obj-i1202-reading AirTemp_TempCont
attr Nilan obj-i1202-unpack s>
attr Nilan obj-i1203-expr $val/100
attr Nilan obj-i1203-reading AirTemp_TempRoom
attr Nilan obj-i1203-unpack s>
attr Nilan obj-i1204-expr $val/100
attr Nilan obj-i1204-reading AirTemp_EffPct
attr Nilan obj-i200-expr $val/100
attr Nilan obj-i200-reading Input_T0_Controller
attr Nilan obj-i200-unpack s>
attr Nilan obj-i203-expr $val/100
attr Nilan obj-i203-reading Input_T3_Exhaust
attr Nilan obj-i203-unpack s>
attr Nilan obj-i204-expr $val/100
attr Nilan obj-i204-reading Input_T4_Outlet
attr Nilan obj-i204-unpack s>
attr Nilan obj-i207-expr $val/100
attr Nilan obj-i207-reading Input_T7_Inlet
attr Nilan obj-i207-unpack s>
attr Nilan obj-i208-expr $val/100
attr Nilan obj-i208-reading Input_T8_Outdoor
attr Nilan obj-i208-unpack s>
attr Nilan obj-i215-expr $val/100
attr Nilan obj-i215-reading Input_T15_Room
attr Nilan obj-i215-unpack s>
attr Nilan obj-i221-expr $val/100
attr Nilan obj-i221-reading Input_RH
attr Nilan room MyHome
define DbLog_Nilan DbLog db.conf Nilan
attr DbLog_Nilan DbLogType Current/History
define SVG_DbLog_Nilan_1 SVG DbLog_Nilan:SVG_DbLog_Nilan_1:HISTORY
attr SVG_DbLog_Nilan_1 label "Raumtemperatur (HWR): $data{currval1} °C / Luftfeuchtigkeit (Belüftung): $data{currval2} %"
attr SVG_DbLog_Nilan_1 room Charts
define SVG_DbLog_Nilan_2 SVG DbLog_Nilan:SVG_DbLog_Nilan_2:HISTORY
attr SVG_DbLog_Nilan_2 label "Wärmetauschereffizienz: $data{currval1} %"
attr SVG_DbLog_Nilan_2 room Charts
define SVG_DbLog_Nilan_3 SVG DbLog_Nilan:SVG_DbLog_Nilan_3:HISTORY
attr SVG_DbLog_Nilan_3 label "Lüftergeschwindigkeit (Abluft): $data{currval1} % / Lüftergeschwindigkeit (Zuluft): $data{currval2} %"
attr SVG_DbLog_Nilan_3 room Charts


Gute Ideen immer her. :)
Titel: Antw:Nilan KLW und CTS 602 am Modbus
Beitrag von: Lars am 12 April 2017, 21:58:55
Ich bastel gerade noch an meinem Modul, derzeit ist die Kommunikation noch nicht fehlerfrei. Siehe https://forum.fhem.de/index.php/topic,70294.0.html (https://forum.fhem.de/index.php/topic,70294.0.html)
Welche Typen habt ihr denn im Einsatz? Zur Wahl stünden VPM, VPL, VP, VGU und COMF.