417 lines
22 KiB
C
417 lines
22 KiB
C
#pragma once
|
|
|
|
|
|
#define paramDelay(time) (uint32_t)( \
|
|
(time & 0xC000) == 0xC000 ? (time & 0x3FFF) * 100 : \
|
|
(time & 0xC000) == 0x0000 ? (time & 0x3FFF) * 1000 : \
|
|
(time & 0xC000) == 0x4000 ? (time & 0x3FFF) * 60000 : \
|
|
(time & 0xC000) == 0x8000 ? ((time & 0x3FFF) > 1000 ? 3600000 : \
|
|
(time & 0x3FFF) * 3600000 ) : 0 )
|
|
|
|
#define MAIN_FirmwareName "SmartHomeDisplay"
|
|
#define MAIN_OpenKnxId 0xAB
|
|
#define MAIN_ApplicationNumber 206
|
|
#define MAIN_ApplicationVersion 4
|
|
#define MAIN_ApplicationEncoding iso-8859-15
|
|
#define MAIN_ParameterSize 2188
|
|
#define MAIN_MaxKoNumber 9069
|
|
#define MAIN_OrderNumber "IA4313"
|
|
// Parameter with single occurrence
|
|
|
|
|
|
#define SC_Section_Count 0 // uint8_t
|
|
|
|
// Anzahl Bereiche
|
|
#define ParamSC_Section_Count (knx.paramByte(SC_Section_Count))
|
|
|
|
#define SC_ChannelCount 9
|
|
|
|
// Parameter per channel
|
|
#define SC_ParamBlockOffset 1
|
|
#define SC_ParamBlockSize 243
|
|
#define SC_ParamCalcIndex(index) (index + SC_ParamBlockOffset + _channelIndex * SC_ParamBlockSize)
|
|
|
|
#define SC_pChkTemperatur 59 // 1 Bit, Bit 7
|
|
#define SC_pChkTemperaturMask 0x80
|
|
#define SC_pChkTemperaturShift 7
|
|
#define SC_pChkLuftfeuchtigkeit 59 // 1 Bit, Bit 6
|
|
#define SC_pChkLuftfeuchtigkeitMask 0x40
|
|
#define SC_pChkLuftfeuchtigkeitShift 6
|
|
#define SC_pChkPraesenz 59 // 1 Bit, Bit 5
|
|
#define SC_pChkPraesenzMask 0x20
|
|
#define SC_pChkPraesenzShift 5
|
|
#define SC_pChkFensterkontakt 59 // 1 Bit, Bit 4
|
|
#define SC_pChkFensterkontaktMask 0x10
|
|
#define SC_pChkFensterkontaktShift 4
|
|
#define SC_pChkSolltemperatur 59 // 1 Bit, Bit 3
|
|
#define SC_pChkSolltemperaturMask 0x08
|
|
#define SC_pChkSolltemperaturShift 3
|
|
#define SC_pChkHeizungsventil 59 // 1 Bit, Bit 2
|
|
#define SC_pChkHeizungsventilMask 0x04
|
|
#define SC_pChkHeizungsventilShift 2
|
|
#define SC_pChkSteckdose1 59 // 1 Bit, Bit 1
|
|
#define SC_pChkSteckdose1Mask 0x02
|
|
#define SC_pChkSteckdose1Shift 1
|
|
#define SC_pChkSteckdose2 59 // 1 Bit, Bit 0
|
|
#define SC_pChkSteckdose2Mask 0x01
|
|
#define SC_pChkSteckdose2Shift 0
|
|
#define SC_pChkLicht1 60 // 1 Bit, Bit 7
|
|
#define SC_pChkLicht1Mask 0x80
|
|
#define SC_pChkLicht1Shift 7
|
|
#define SC_pChkLicht2 60 // 1 Bit, Bit 6
|
|
#define SC_pChkLicht2Mask 0x40
|
|
#define SC_pChkLicht2Shift 6
|
|
#define SC_pChkDimmen1 60 // 1 Bit, Bit 5
|
|
#define SC_pChkDimmen1Mask 0x20
|
|
#define SC_pChkDimmen1Shift 5
|
|
#define SC_pChkDimmen2 60 // 1 Bit, Bit 4
|
|
#define SC_pChkDimmen2Mask 0x10
|
|
#define SC_pChkDimmen2Shift 4
|
|
#define SC_pChkJalousie1 60 // 1 Bit, Bit 3
|
|
#define SC_pChkJalousie1Mask 0x08
|
|
#define SC_pChkJalousie1Shift 3
|
|
#define SC_pChkJalousie2 60 // 1 Bit, Bit 2
|
|
#define SC_pChkJalousie2Mask 0x04
|
|
#define SC_pChkJalousie2Shift 2
|
|
#define SC_pChkCO2 60 // 1 Bit, Bit 1
|
|
#define SC_pChkCO2Mask 0x02
|
|
#define SC_pChkCO2Shift 1
|
|
#define SC_pChkHelligkeit 60 // 1 Bit, Bit 0
|
|
#define SC_pChkHelligkeitMask 0x01
|
|
#define SC_pChkHelligkeitShift 0
|
|
#define SC_pChkSzene 61 // 1 Bit, Bit 7
|
|
#define SC_pChkSzeneMask 0x80
|
|
#define SC_pChkSzeneShift 7
|
|
#define SC_fAFunctionType 62 // 1 Bit, Bit 7
|
|
#define SC_fAFunctionTypeMask 0x80
|
|
#define SC_fAFunctionTypeShift 7
|
|
#define SC_fAOOnKODpt 63 // 8 Bits, Bit 7-0
|
|
#define SC_fBFunctionType 82 // 1 Bit, Bit 7
|
|
#define SC_fBFunctionTypeMask 0x80
|
|
#define SC_fBFunctionTypeShift 7
|
|
#define SC_fBOOnKODpt 83 // 8 Bits, Bit 7-0
|
|
#define SC_fCFunctionType 102 // 1 Bit, Bit 7
|
|
#define SC_fCFunctionTypeMask 0x80
|
|
#define SC_fCFunctionTypeShift 7
|
|
#define SC_fCOOnKODpt 103 // 8 Bits, Bit 7-0
|
|
#define SC_fDFunctionType 122 // 1 Bit, Bit 7
|
|
#define SC_fDFunctionTypeMask 0x80
|
|
#define SC_fDFunctionTypeShift 7
|
|
#define SC_fDOOnKODpt 123 // 8 Bits, Bit 7-0
|
|
#define SC_fEFunctionType 142 // 1 Bit, Bit 7
|
|
#define SC_fEFunctionTypeMask 0x80
|
|
#define SC_fEFunctionTypeShift 7
|
|
#define SC_fEOOnKODpt 143 // 8 Bits, Bit 7-0
|
|
#define SC_fFFunctionType 162 // 1 Bit, Bit 7
|
|
#define SC_fFFunctionTypeMask 0x80
|
|
#define SC_fFFunctionTypeShift 7
|
|
#define SC_fFOOnKODpt 163 // 8 Bits, Bit 7-0
|
|
#define SC_fGFunctionType 182 // 1 Bit, Bit 7
|
|
#define SC_fGFunctionTypeMask 0x80
|
|
#define SC_fGFunctionTypeShift 7
|
|
#define SC_fGOOnKODpt 183 // 8 Bits, Bit 7-0
|
|
#define SC_fHFunctionType 202 // 1 Bit, Bit 7
|
|
#define SC_fHFunctionTypeMask 0x80
|
|
#define SC_fHFunctionTypeShift 7
|
|
#define SC_fHOOnKODpt 203 // 8 Bits, Bit 7-0
|
|
#define SC_fIFunctionType 222 // 1 Bit, Bit 7
|
|
#define SC_fIFunctionTypeMask 0x80
|
|
#define SC_fIFunctionTypeShift 7
|
|
#define SC_fIOOnKODpt 223 // 8 Bits, Bit 7-0
|
|
#define SC_fJFunctionType 242 // 1 Bit, Bit 7
|
|
#define SC_fJFunctionTypeMask 0x80
|
|
#define SC_fJFunctionTypeShift 7
|
|
#define SC_fJOOnKODpt 243 // 8 Bits, Bit 7-0
|
|
|
|
// Temperatur
|
|
#define ParamSC_pChkTemperatur ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkTemperatur)) & SC_pChkTemperaturMask))
|
|
// Luftfeuchtigkeit
|
|
#define ParamSC_pChkLuftfeuchtigkeit ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkLuftfeuchtigkeit)) & SC_pChkLuftfeuchtigkeitMask))
|
|
// Präsenz
|
|
#define ParamSC_pChkPraesenz ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkPraesenz)) & SC_pChkPraesenzMask))
|
|
// Fensterkontakt
|
|
#define ParamSC_pChkFensterkontakt ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkFensterkontakt)) & SC_pChkFensterkontaktMask))
|
|
// Solltemperatur
|
|
#define ParamSC_pChkSolltemperatur ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkSolltemperatur)) & SC_pChkSolltemperaturMask))
|
|
// Heizungsventil
|
|
#define ParamSC_pChkHeizungsventil ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkHeizungsventil)) & SC_pChkHeizungsventilMask))
|
|
// Steckdose 1
|
|
#define ParamSC_pChkSteckdose1 ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkSteckdose1)) & SC_pChkSteckdose1Mask))
|
|
// Steckdose 2
|
|
#define ParamSC_pChkSteckdose2 ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkSteckdose2)) & SC_pChkSteckdose2Mask))
|
|
// Licht 1
|
|
#define ParamSC_pChkLicht1 ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkLicht1)) & SC_pChkLicht1Mask))
|
|
// Licht 2
|
|
#define ParamSC_pChkLicht2 ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkLicht2)) & SC_pChkLicht2Mask))
|
|
// Dimmen 1
|
|
#define ParamSC_pChkDimmen1 ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkDimmen1)) & SC_pChkDimmen1Mask))
|
|
// Dimmen 2
|
|
#define ParamSC_pChkDimmen2 ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkDimmen2)) & SC_pChkDimmen2Mask))
|
|
// Jalousie 1
|
|
#define ParamSC_pChkJalousie1 ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkJalousie1)) & SC_pChkJalousie1Mask))
|
|
// Jalousie 2
|
|
#define ParamSC_pChkJalousie2 ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkJalousie2)) & SC_pChkJalousie2Mask))
|
|
// CO2
|
|
#define ParamSC_pChkCO2 ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkCO2)) & SC_pChkCO2Mask))
|
|
// Helligkeit
|
|
#define ParamSC_pChkHelligkeit ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkHelligkeit)) & SC_pChkHelligkeitMask))
|
|
// Szene
|
|
#define ParamSC_pChkSzene ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_pChkSzene)) & SC_pChkSzeneMask))
|
|
// Funktionstyp
|
|
#define ParamSC_fAFunctionType ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_fAFunctionType)) & SC_fAFunctionTypeMask))
|
|
// DPT des Kommunikationsobjekts
|
|
#define ParamSC_fAOOnKODpt (knx.paramByte(SC_ParamCalcIndex(SC_fAOOnKODpt)))
|
|
// Funktionstyp
|
|
#define ParamSC_fBFunctionType ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_fBFunctionType)) & SC_fBFunctionTypeMask))
|
|
// DPT des Kommunikationsobjekts
|
|
#define ParamSC_fBOOnKODpt (knx.paramByte(SC_ParamCalcIndex(SC_fBOOnKODpt)))
|
|
// Funktionstyp
|
|
#define ParamSC_fCFunctionType ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_fCFunctionType)) & SC_fCFunctionTypeMask))
|
|
// DPT des Kommunikationsobjekts
|
|
#define ParamSC_fCOOnKODpt (knx.paramByte(SC_ParamCalcIndex(SC_fCOOnKODpt)))
|
|
// Funktionstyp
|
|
#define ParamSC_fDFunctionType ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_fDFunctionType)) & SC_fDFunctionTypeMask))
|
|
// DPT des Kommunikationsobjekts
|
|
#define ParamSC_fDOOnKODpt (knx.paramByte(SC_ParamCalcIndex(SC_fDOOnKODpt)))
|
|
// Funktionstyp
|
|
#define ParamSC_fEFunctionType ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_fEFunctionType)) & SC_fEFunctionTypeMask))
|
|
// DPT des Kommunikationsobjekts
|
|
#define ParamSC_fEOOnKODpt (knx.paramByte(SC_ParamCalcIndex(SC_fEOOnKODpt)))
|
|
// Funktionstyp
|
|
#define ParamSC_fFFunctionType ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_fFFunctionType)) & SC_fFFunctionTypeMask))
|
|
// DPT des Kommunikationsobjekts
|
|
#define ParamSC_fFOOnKODpt (knx.paramByte(SC_ParamCalcIndex(SC_fFOOnKODpt)))
|
|
// Funktionstyp
|
|
#define ParamSC_fGFunctionType ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_fGFunctionType)) & SC_fGFunctionTypeMask))
|
|
// DPT des Kommunikationsobjekts
|
|
#define ParamSC_fGOOnKODpt (knx.paramByte(SC_ParamCalcIndex(SC_fGOOnKODpt)))
|
|
// Funktionstyp
|
|
#define ParamSC_fHFunctionType ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_fHFunctionType)) & SC_fHFunctionTypeMask))
|
|
// DPT des Kommunikationsobjekts
|
|
#define ParamSC_fHOOnKODpt (knx.paramByte(SC_ParamCalcIndex(SC_fHOOnKODpt)))
|
|
// Funktionstyp
|
|
#define ParamSC_fIFunctionType ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_fIFunctionType)) & SC_fIFunctionTypeMask))
|
|
// DPT des Kommunikationsobjekts
|
|
#define ParamSC_fIOOnKODpt (knx.paramByte(SC_ParamCalcIndex(SC_fIOOnKODpt)))
|
|
// Funktionstyp
|
|
#define ParamSC_fJFunctionType ((bool)(knx.paramByte(SC_ParamCalcIndex(SC_fJFunctionType)) & SC_fJFunctionTypeMask))
|
|
// DPT des Kommunikationsobjekts
|
|
#define ParamSC_fJOOnKODpt (knx.paramByte(SC_ParamCalcIndex(SC_fJOOnKODpt)))
|
|
|
|
// deprecated
|
|
#define SC_KoOffset 10
|
|
|
|
// Communication objects per channel (multiple occurrence)
|
|
#define SC_KoBlockOffset 10
|
|
#define SC_KoBlockSize 59
|
|
|
|
#define SC_KoCalcNumber(index) (index + SC_KoBlockOffset + _channelIndex * SC_KoBlockSize)
|
|
#define SC_KoCalcIndex(number) ((number >= SC_KoCalcNumber(0) && number < SC_KoCalcNumber(SC_KoBlockSize)) ? (number - SC_KoBlockOffset) % SC_KoBlockSize : -1)
|
|
#define SC_KoCalcChannel(number) ((number >= SC_KoBlockOffset && number < SC_KoBlockOffset + SC_ChannelCount * SC_KoBlockSize) ? (number - SC_KoBlockOffset) / SC_KoBlockSize : -1)
|
|
|
|
#define SC_KoKoS%CC%000 %CCC%0
|
|
#define SC_KoKoS%CC%001 %CCC%1
|
|
#define SC_KoKoS%CC%002 %CCC%2
|
|
#define SC_KoKoS%CC%003 %CCC%3
|
|
#define SC_KoKoS%CC%004 %CCC%4
|
|
#define SC_KoKoS%CC%005 %CCC%5
|
|
#define SC_KoKoS%CC%006 %CCC%6
|
|
#define SC_KoKoS%CC%007 %CCC%7
|
|
#define SC_KoKoS%CC%008 %CCC%8
|
|
#define SC_KoKoS%CC%009 %CCC%9
|
|
#define SC_KoKoS%CC%010 %CCC%10
|
|
#define SC_KoKoS%CC%011 %CCC%11
|
|
#define SC_KoKoS%CC%012 %CCC%12
|
|
#define SC_KoKoS%CC%013 %CCC%13
|
|
#define SC_KoKoS%CC%014 %CCC%14
|
|
#define SC_KoKoS%CC%015 %CCC%15
|
|
#define SC_KoKoS%CC%016 %CCC%16
|
|
#define SC_KoKoS%CC%017 %CCC%17
|
|
#define SC_KoKoS%CC%018 %CCC%18
|
|
#define SC_KoKoS%CC%019 %CCC%19
|
|
#define SC_KoKoS%CC%020 %CCC%20
|
|
#define SC_KoKoS%CC%021 %CCC%21
|
|
#define SC_KoKoS%CC%022 %CCC%22
|
|
#define SC_KoKoS%CC%023 %CCC%23
|
|
#define SC_KoKoS%CC%024 %CCC%24
|
|
#define SC_KoKoS%CC%025 %CCC%25
|
|
#define SC_KoKoS%CC%026 %CCC%26
|
|
#define SC_KoKoS%CC%027 %CCC%27
|
|
#define SC_KoKoS%CC%028 %CCC%28
|
|
#define SC_KoKoS%CC%029 %CCC%29
|
|
#define SC_KoKoS%CC%030 %CCC%30
|
|
#define SC_KoKoS%CC%031 %CCC%31
|
|
#define SC_KoKoS%CC%032 %CCC%32
|
|
#define SC_KoKoS%CC%033 %CCC%33
|
|
#define SC_KoKoS%CC%034 %CCC%34
|
|
#define SC_KoKoS%CC%035 %CCC%35
|
|
#define SC_KoKoS%CC%036 %CCC%36
|
|
#define SC_KoKoS%CC%037 %CCC%37
|
|
#define SC_KoKoS%CC%038 %CCC%38
|
|
#define SC_KoKOf-%TT%%CC%100__ %C%050
|
|
#define SC_KoKOf-%TT%%CC%101__ %C%051
|
|
#define SC_KoKOf-%TT%%CC%200__ %C%052
|
|
#define SC_KoKOf-%TT%%CC%201__ %C%053
|
|
#define SC_KoKOf-%TT%%CC%300__ %C%054
|
|
#define SC_KoKOf-%TT%%CC%301__ %C%055
|
|
#define SC_KoKOf-%TT%%CC%400__ %C%056
|
|
#define SC_KoKOf-%TT%%CC%401__ %C%057
|
|
#define SC_KoKOf-%TT%%CC%500__ %C%058
|
|
#define SC_KoKOf-%TT%%CC%501__ %C%059
|
|
#define SC_KoKOf-%TT%%CC%600__ %C%060
|
|
#define SC_KoKOf-%TT%%CC%601__ %C%061
|
|
#define SC_KoKOf-%TT%%CC%700__ %C%062
|
|
#define SC_KoKOf-%TT%%CC%701__ %C%063
|
|
#define SC_KoKOf-%TT%%CC%800__ %C%064
|
|
#define SC_KoKOf-%TT%%CC%801__ %C%065
|
|
#define SC_KoKOf-%TT%%CC%900__ %C%066
|
|
#define SC_KoKOf-%TT%%CC%901__ %C%067
|
|
#define SC_KoKOf-%TT%%CC%1000__ %C%068
|
|
#define SC_KoKOf-%TT%%CC%1001__ %C%069
|
|
|
|
// Temperatur
|
|
#define KoSC_KoS%CC%000 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%000)))
|
|
// Luftfeuchtigkeit
|
|
#define KoSC_KoS%CC%001 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%001)))
|
|
// Präsenz
|
|
#define KoSC_KoS%CC%002 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%002)))
|
|
// Fensterkontakt
|
|
#define KoSC_KoS%CC%003 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%003)))
|
|
// Solltemperatur
|
|
#define KoSC_KoS%CC%004 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%004)))
|
|
// Heizungsventil
|
|
#define KoSC_KoS%CC%005 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%005)))
|
|
// Steckdose 1 Schalten
|
|
#define KoSC_KoS%CC%006 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%006)))
|
|
// Steckdose 1 Status
|
|
#define KoSC_KoS%CC%007 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%007)))
|
|
// Steckdose 2 Schalten
|
|
#define KoSC_KoS%CC%008 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%008)))
|
|
// Steckdose 2 Status
|
|
#define KoSC_KoS%CC%009 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%009)))
|
|
// Licht 1 Schalten
|
|
#define KoSC_KoS%CC%010 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%010)))
|
|
// Licht 1 Status
|
|
#define KoSC_KoS%CC%011 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%011)))
|
|
// Licht 2 Schalten
|
|
#define KoSC_KoS%CC%012 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%012)))
|
|
// Licht 2 Status
|
|
#define KoSC_KoS%CC%013 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%013)))
|
|
// Dimmen 1 Schalten
|
|
#define KoSC_KoS%CC%014 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%014)))
|
|
// Dimmen 1 Wert
|
|
#define KoSC_KoS%CC%015 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%015)))
|
|
// Dimmen 1 Status
|
|
#define KoSC_KoS%CC%016 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%016)))
|
|
// Dimmen 2 Schalten
|
|
#define KoSC_KoS%CC%017 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%017)))
|
|
// Dimmen 2 Wert
|
|
#define KoSC_KoS%CC%018 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%018)))
|
|
// Dimmen 2 Status
|
|
#define KoSC_KoS%CC%019 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%019)))
|
|
// Jalousie 1 Auf/Ab
|
|
#define KoSC_KoS%CC%020 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%020)))
|
|
// Jalousie 1 Position
|
|
#define KoSC_KoS%CC%021 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%021)))
|
|
// Jalousie 1 Pos. Status
|
|
#define KoSC_KoS%CC%022 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%022)))
|
|
// Jalousie 2 Auf/Ab
|
|
#define KoSC_KoS%CC%023 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%023)))
|
|
// Jalousie 2 Position
|
|
#define KoSC_KoS%CC%024 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%024)))
|
|
// Jalousie 2 Pos. Status
|
|
#define KoSC_KoS%CC%025 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%025)))
|
|
// CO2
|
|
#define KoSC_KoS%CC%026 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%026)))
|
|
// Helligkeit
|
|
#define KoSC_KoS%CC%027 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%027)))
|
|
// Szene
|
|
#define KoSC_KoS%CC%028 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%028)))
|
|
// Temperatur Ausgang
|
|
#define KoSC_KoS%CC%029 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%029)))
|
|
// Luftfeuchtigkeit Ausgang
|
|
#define KoSC_KoS%CC%030 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%030)))
|
|
// Heizungsventil Ausgang
|
|
#define KoSC_KoS%CC%031 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%031)))
|
|
// CO2 Ausgang
|
|
#define KoSC_KoS%CC%032 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%032)))
|
|
// Helligkeit Ausgang
|
|
#define KoSC_KoS%CC%033 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%033)))
|
|
// Solltemperatur Ausgang
|
|
#define KoSC_KoS%CC%034 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%034)))
|
|
// Dimmen 1 Ausgang
|
|
#define KoSC_KoS%CC%035 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%035)))
|
|
// Dimmen 2 Ausgang
|
|
#define KoSC_KoS%CC%036 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%036)))
|
|
// Jalousie 1 Ausgang
|
|
#define KoSC_KoS%CC%037 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%037)))
|
|
// Jalousie 2 Ausgang
|
|
#define KoSC_KoS%CC%038 (knx.getGroupObject(SC_KoCalcNumber(SC_KoKoS%CC%038)))
|
|
// Eingang %CC%050
|
|
#define KoSC_KOf-%TT%%CC%100__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%100__)))
|
|
// Ausgang %CC%051
|
|
#define KoSC_KOf-%TT%%CC%101__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%101__)))
|
|
// Eingang %CC%052
|
|
#define KoSC_KOf-%TT%%CC%200__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%200__)))
|
|
// Ausgang %CC%053
|
|
#define KoSC_KOf-%TT%%CC%201__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%201__)))
|
|
// Eingang %CC%054
|
|
#define KoSC_KOf-%TT%%CC%300__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%300__)))
|
|
// Ausgang %CC%055
|
|
#define KoSC_KOf-%TT%%CC%301__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%301__)))
|
|
// Eingang %CC%056
|
|
#define KoSC_KOf-%TT%%CC%400__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%400__)))
|
|
// Ausgang %CC%057
|
|
#define KoSC_KOf-%TT%%CC%401__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%401__)))
|
|
// Eingang %CC%058
|
|
#define KoSC_KOf-%TT%%CC%500__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%500__)))
|
|
// Ausgang %CC%059
|
|
#define KoSC_KOf-%TT%%CC%501__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%501__)))
|
|
// Eingang %CC%060
|
|
#define KoSC_KOf-%TT%%CC%600__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%600__)))
|
|
// Ausgang %CC%061
|
|
#define KoSC_KOf-%TT%%CC%601__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%601__)))
|
|
// Eingang %CC%062
|
|
#define KoSC_KOf-%TT%%CC%700__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%700__)))
|
|
// Ausgang %CC%063
|
|
#define KoSC_KOf-%TT%%CC%701__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%701__)))
|
|
// Eingang %CC%064
|
|
#define KoSC_KOf-%TT%%CC%800__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%800__)))
|
|
// Ausgang %CC%065
|
|
#define KoSC_KOf-%TT%%CC%801__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%801__)))
|
|
// Eingang %CC%066
|
|
#define KoSC_KOf-%TT%%CC%900__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%900__)))
|
|
// Ausgang %CC%067
|
|
#define KoSC_KOf-%TT%%CC%901__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%901__)))
|
|
// Eingang %CC%068
|
|
#define KoSC_KOf-%TT%%CC%1000__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%1000__)))
|
|
// Ausgang %CC%069
|
|
#define KoSC_KOf-%TT%%CC%1001__ (knx.getGroupObject(SC_KoCalcNumber(SC_KoKOf-%TT%%CC%1001__)))
|
|
|
|
|
|
|
|
#define BASE_KoTime 1
|
|
#define BASE_KoDate 2
|
|
#define BASE_KoDateTime 3
|
|
#define BASE_KoNight/Day 4
|
|
|
|
// Uhrzeit
|
|
#define KoBASE_Time (knx.getGroupObject(BASE_KoTime))
|
|
// Datum
|
|
#define KoBASE_Date (knx.getGroupObject(BASE_KoDate))
|
|
// Uhrzeit/Datum
|
|
#define KoBASE_DateTime (knx.getGroupObject(BASE_KoDateTime))
|
|
// Nacht/Tag
|
|
#define KoBASE_Night/Day (knx.getGroupObject(BASE_KoNight/Day))
|
|
|
|
#ifdef MAIN_FirmwareRevision
|
|
#ifndef FIRMWARE_REVISION
|
|
#define FIRMWARE_REVISION MAIN_FirmwareRevision
|
|
#endif
|
|
#endif
|
|
#ifdef MAIN_FirmwareName
|
|
#ifndef FIRMWARE_NAME
|
|
#define FIRMWARE_NAME MAIN_FirmwareName
|
|
#endif
|
|
#endif
|