Description for Apple SMC Keys

Is there a reference for SMC keys meaning?

I found this http://www.parhelia.ch/blog/statics/k3_keys.html

but it’s not complete.

I’m expecially interested in keys related to temperature sensors.

For example on a MacMini I get those keys for temperature:

TA0P    TC0P    TCSC    TM0S
TA0p    TC0c    TCSc    TM0p
TA1P    TC0d    TCTD    TMBS
TA1p    TC0p    TCXC    TP0P
TC0C    TC1C    TCXc    TP0p
TC0D    TC1c    TI0P    TPCD
TC0E    TCFC    TI0p    TPCd
TC0F    TCGC    TI1P    TW0P
TC0G    TCGc    TI1p    TW0p
TC0J    TCPG    TM0P    Tp0C

Update:

I now have a framework for accessing the SMC and other useful system information that you should probably use instead of writing the code to access the SMC yourself: SystemInfoKit
.

The old answer is below, in case anyone needs more details.

Here
is my guide on accessing the SMC programmatically which includes this complete list of keys in Objective-C form put together from many sources and my top-secret experimentation:

// All SMC temperature, voltage, current, and power keys

// Set up keys and human-readable names for keys
smcTempKeys = [[NSArray alloc] initWithObjects: @"TCXC", @"TCXc", @"TC0P", @"TC0H", @"TC0D", @"TC0E", @"TC0F", @"TC1C", @"TC2C", @"TC3C", @"TC4C", @"TC5C", @"TC6C", @"TC7C", @"TC8C", @"TCAH", @"TCAD", @"TC1P", @"TC1H", @"TC1D", @"TC1E", @"TC1F", @"TCBH", @"TCBD", @"TCSC", @"TCSc", @"TCSA", @"TCGC", @"TCGc", @"TG0P", @"TG0D", @"TG1D", @"TG0H", @"TG1H", @"Ts0S", @"TM0P", @"TM1P", @"TM8P", @"TM9P", @"TM0S", @"TM1S", @"TM8S", @"TM9S", @"TN0D", @"TN0P", @"TN1P", @"TN0C", @"TN0H", @"TP0D", @"TPCD", @"TP0P", @"TA0P", @"TA1P", @"Th0H", @"Th1H", @"Th2H", @"Tm0P", @"Tp0P", @"Ts0P", @"Tb0P", @"TL0P", @"TW0P", @"TH0P", @"TH1P", @"TH2P", @"TH3P", @"TO0P", @"Tp0P", @"Tp0C", @"TB0T", @"TB1T", @"TB2T", @"TB3T", @"Tp1P", @"Tp1C", @"Tp2P", @"Tp3P", @"Tp4P", @"Tp5P", @"TS0C", @"TA0S", @"TA1S", @"TA2S", @"TA3S", nil];

smcVoltageKeys = [[NSArray alloc] initWithObjects:@"VC0C", @"VC1C", @"VC2C", @"VC3C", @"VC4C", @"VC5C", @"VC6C", @"VC7C", @"VV1R", @"VG0C", @"VM0R", @"VN1R", @"VN0C", @"VD0R", @"VD5R", @"VP0R", @"Vp0C", @"VV2S", @"VR3R", @"VV1S", @"VH05", @"VV9S", @"VD2R", @"VV7S", @"VV3S", @"VV8S", @"VeES", @"VBAT", @"Vb0R", nil];

smcCurrentKeys = [[NSArray alloc] initWithObjects:@"IC0C", @"IC1C", @"IC2C", @"IC0R", @"IC5R", @"IC8R", @"IC0G", @"IC0M", @"IG0C", @"IM0C", @"IM0R", @"IN0C", @"ID0R", @"ID5R", @"IO0R", @"IB0R", @"IPBR", nil];

smcPowerKeys = [[NSArray alloc] initWithObjects:@"PC0C", @"PC1C", @"PC2C", @"PC3C", @"PC4C", @"PC5C", @"PC6C", @"PC7C", @"PCPC", @"PCPG", @"PCPD", @"PCTR", @"PCPL", @"PC1R", @"PC5R", @"PGTR", @"PG0R", @"PM0R", @"PN0C", @"PN1R", @"PC0R", @"PD0R", @"PD5R", @"PH02", @"PH05", @"Pp0R", @"PD2R", @"PO0R", @"PBLC", @"PB0R", @"PDTR", @"PSTR", nil];

NSMutableDictionary *smcKeyHumanReadableNames = [[NSMutableDictionary alloc] init];

[smcKeyHumanReadableNames setValue:@"PECI CPU" forKey:@"TCXC"];
[smcKeyHumanReadableNames setValue:@"PECI CPU" forKey:@"TCXc"];
[smcKeyHumanReadableNames setValue:@"CPU 1 Proximity" forKey:@"TC0P"];
[smcKeyHumanReadableNames setValue:@"CPU 1 Heatsink" forKey:@"TC0H"];
[smcKeyHumanReadableNames setValue:@"CPU 1 Package" forKey:@"TC0D"];
[smcKeyHumanReadableNames setValue:@"CPU 1" forKey:@"TC0E"];
[smcKeyHumanReadableNames setValue:@"CPU 1" forKey:@"TC0F"];
[smcKeyHumanReadableNames setValue:@"CPU Core 1" forKey:@"TC1C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 2" forKey:@"TC2C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 3" forKey:@"TC3C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 4" forKey:@"TC4C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 5" forKey:@"TC5C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 6" forKey:@"TC6C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 7" forKey:@"TC7C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 8" forKey:@"TC8C"];
[smcKeyHumanReadableNames setValue:@"CPU 1 Heatsink Alt." forKey:@"TCAH"];
[smcKeyHumanReadableNames setValue:@"CPU 1 Package Alt." forKey:@"TCAD"];
[smcKeyHumanReadableNames setValue:@"CPU 2 Proximity" forKey:@"TC1P"];
[smcKeyHumanReadableNames setValue:@"CPU 2 Heatsink" forKey:@"TC1H"];
[smcKeyHumanReadableNames setValue:@"CPU 2 Package" forKey:@"TC1D"];
[smcKeyHumanReadableNames setValue:@"CPU 2" forKey:@"TC1E"];
[smcKeyHumanReadableNames setValue:@"CPU 2" forKey:@"TC1F"];
[smcKeyHumanReadableNames setValue:@"CPU 2 Heatsink Alt." forKey:@"TCBH"];
[smcKeyHumanReadableNames setValue:@"CPU 2 Package Alt." forKey:@"TCBD"];

[smcKeyHumanReadableNames setValue:@"PECI SA" forKey:@"TCSC"];
[smcKeyHumanReadableNames setValue:@"PECI SA" forKey:@"TCSc"];
[smcKeyHumanReadableNames setValue:@"PECI SA" forKey:@"TCSA"];

[smcKeyHumanReadableNames setValue:@"PECI GPU" forKey:@"TCGC"];
[smcKeyHumanReadableNames setValue:@"PECI GPU" forKey:@"TCGc"];
[smcKeyHumanReadableNames setValue:@"GPU Proximity" forKey:@"TG0P"];
[smcKeyHumanReadableNames setValue:@"GPU Die" forKey:@"TG0D"];
[smcKeyHumanReadableNames setValue:@"GPU Die" forKey:@"TG1D"];
[smcKeyHumanReadableNames setValue:@"GPU Heatsink" forKey:@"TG0H"];
[smcKeyHumanReadableNames setValue:@"GPU Heatsink" forKey:@"TG1H"];

[smcKeyHumanReadableNames setValue:@"Memory Proximity" forKey:@"Ts0S"];
[smcKeyHumanReadableNames setValue:@"Mem Bank A1" forKey:@"TM0P"];
[smcKeyHumanReadableNames setValue:@"Mem Bank A2" forKey:@"TM1P"];
[smcKeyHumanReadableNames setValue:@"Mem Bank B1" forKey:@"TM8P"];
[smcKeyHumanReadableNames setValue:@"Mem Bank B2" forKey:@"TM9P"];
[smcKeyHumanReadableNames setValue:@"Mem Module A1" forKey:@"TM0S"];
[smcKeyHumanReadableNames setValue:@"Mem Module A2" forKey:@"TM1S"];
[smcKeyHumanReadableNames setValue:@"Mem Module B1" forKey:@"TM8S"];
[smcKeyHumanReadableNames setValue:@"Mem Module B2" forKey:@"TM9S"];

[smcKeyHumanReadableNames setValue:@"Northbridge Die" forKey:@"TN0D"];
[smcKeyHumanReadableNames setValue:@"Northbridge Proximity 1" forKey:@"TN0P"];
[smcKeyHumanReadableNames setValue:@"Northbridge Proximity 2" forKey:@"TN1P"];
[smcKeyHumanReadableNames setValue:@"MCH Die" forKey:@"TN0C"];
[smcKeyHumanReadableNames setValue:@"MCH Heatsink" forKey:@"TN0H"];
[smcKeyHumanReadableNames setValue:@"PCH Die" forKey:@"TP0D"];
[smcKeyHumanReadableNames setValue:@"PCH Die" forKey:@"TPCD"];
[smcKeyHumanReadableNames setValue:@"PCH Proximity" forKey:@"TP0P"];

[smcKeyHumanReadableNames setValue:@"Airflow 1" forKey:@"TA0P"];
[smcKeyHumanReadableNames setValue:@"Airflow 2" forKey:@"TA1P"];
[smcKeyHumanReadableNames setValue:@"Heatpipe 1" forKey:@"Th0H"];
[smcKeyHumanReadableNames setValue:@"Heatpipe 2" forKey:@"Th1H"];
[smcKeyHumanReadableNames setValue:@"Heatpipe 3" forKey:@"Th2H"];

[smcKeyHumanReadableNames setValue:@"Mainboard Proximity" forKey:@"Tm0P"];
[smcKeyHumanReadableNames setValue:@"Powerboard Proximity" forKey:@"Tp0P"];
[smcKeyHumanReadableNames setValue:@"Palm Rest" forKey:@"Ts0P"];
[smcKeyHumanReadableNames setValue:@"BLC Proximity" forKey:@"Tb0P"];

[smcKeyHumanReadableNames setValue:@"LCD Proximity" forKey:@"TL0P"];
[smcKeyHumanReadableNames setValue:@"Airport Proximity" forKey:@"TW0P"];
[smcKeyHumanReadableNames setValue:@"HDD Bay 1" forKey:@"TH0P"];
[smcKeyHumanReadableNames setValue:@"HDD Bay 2" forKey:@"TH1P"];
[smcKeyHumanReadableNames setValue:@"HDD Bay 3" forKey:@"TH2P"];
[smcKeyHumanReadableNames setValue:@"HDD Bay 4" forKey:@"TH3P"];
[smcKeyHumanReadableNames setValue:@"Optical Drive" forKey:@"TO0P"];

[smcKeyHumanReadableNames setValue:@"Battery TS_MAX" forKey:@"TB0T"];
[smcKeyHumanReadableNames setValue:@"Battery 1" forKey:@"TB1T"];
[smcKeyHumanReadableNames setValue:@"Battery 2" forKey:@"TB2T"];
[smcKeyHumanReadableNames setValue:@"Battery" forKey:@"TB3T"];
[smcKeyHumanReadableNames setValue:@"Power Supply 1" forKey:@"Tp0P"];
[smcKeyHumanReadableNames setValue:@"Power Supply 1 Alt." forKey:@"Tp0C"];
[smcKeyHumanReadableNames setValue:@"Power Supply 2" forKey:@"Tp1P"];
[smcKeyHumanReadableNames setValue:@"Power Supply 2 Alt." forKey:@"Tp1C"];
[smcKeyHumanReadableNames setValue:@"Power Supply 3" forKey:@"Tp2P"];
[smcKeyHumanReadableNames setValue:@"Power Supply 4" forKey:@"Tp3P"];
[smcKeyHumanReadableNames setValue:@"Power Supply 5" forKey:@"Tp4P"];
[smcKeyHumanReadableNames setValue:@"Power Supply 6" forKey:@"Tp5P"];

[smcKeyHumanReadableNames setValue:@"Expansion Slots" forKey:@"TS0C"];
[smcKeyHumanReadableNames setValue:@"PCI Slot 1 Pos 1" forKey:@"TA0S"];
[smcKeyHumanReadableNames setValue:@"PCI Slot 1 Pos 2" forKey:@"TA1S"];
[smcKeyHumanReadableNames setValue:@"PCI Slot 2 Pos 1" forKey:@"TA2S"];
[smcKeyHumanReadableNames setValue:@"PCI Slot 2 Pos 2" forKey:@"TA3S"];

[smcKeyHumanReadableNames setValue:@"CPU Core 1" forKey:@"VC0C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 2" forKey:@"VC1C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 3" forKey:@"VC2C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 4" forKey:@"VC3C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 5" forKey:@"VC4C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 6" forKey:@"VC5C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 7" forKey:@"VC6C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 8" forKey:@"VC7C"];
[smcKeyHumanReadableNames setValue:@"CPU VTT" forKey:@"VV1R"];

[smcKeyHumanReadableNames setValue:@"GPU Core" forKey:@"VG0C"];

[smcKeyHumanReadableNames setValue:@"Memory" forKey:@"VM0R"];

[smcKeyHumanReadableNames setValue:@"PCH" forKey:@"VN1R"];
[smcKeyHumanReadableNames setValue:@"MCH" forKey:@"VN0C"];

[smcKeyHumanReadableNames setValue:@"Mainboard S0 Rail" forKey:@"VD0R"];
[smcKeyHumanReadableNames setValue:@"Mainboard S5 Rail" forKey:@"VD5R"];
[smcKeyHumanReadableNames setValue:@"12V Rail" forKey:@"VP0R"];
[smcKeyHumanReadableNames setValue:@"12V Vcc" forKey:@"Vp0C"];
[smcKeyHumanReadableNames setValue:@"Main 3V" forKey:@"VV2S"];
[smcKeyHumanReadableNames setValue:@"Main 3.3V" forKey:@"VR3R"];
[smcKeyHumanReadableNames setValue:@"Main 5V" forKey:@"VV1S"];
[smcKeyHumanReadableNames setValue:@"Main 5V" forKey:@"VH05"];
[smcKeyHumanReadableNames setValue:@"Main 12V" forKey:@"VV9S"];
[smcKeyHumanReadableNames setValue:@"Main 12V" forKey:@"VD2R"];
[smcKeyHumanReadableNames setValue:@"Auxiliary 3V" forKey:@"VV7S"];
[smcKeyHumanReadableNames setValue:@"Standby 3V" forKey:@"VV3S"];
[smcKeyHumanReadableNames setValue:@"Standby 5V" forKey:@"VV8S"];
[smcKeyHumanReadableNames setValue:@"PCIe 12V" forKey:@"VeES"];

[smcKeyHumanReadableNames setValue:@"Battery" forKey:@"VBAT"];
[smcKeyHumanReadableNames setValue:@"CMOS Battery" forKey:@"Vb0R"];

[smcKeyHumanReadableNames setValue:@"CPU Core" forKey:@"IC0C"];
[smcKeyHumanReadableNames setValue:@"CPU VccIO" forKey:@"IC1C"];
[smcKeyHumanReadableNames setValue:@"CPU VccSA" forKey:@"IC2C"];
[smcKeyHumanReadableNames setValue:@"CPU Rail" forKey:@"IC0R"];
[smcKeyHumanReadableNames setValue:@"CPU DRAM" forKey:@"IC5R"];
[smcKeyHumanReadableNames setValue:@"CPU PLL" forKey:@"IC8R"];
[smcKeyHumanReadableNames setValue:@"CPU GFX" forKey:@"IC0G"];
[smcKeyHumanReadableNames setValue:@"CPU Memory" forKey:@"IC0M"];

[smcKeyHumanReadableNames setValue:@"GPU Rail" forKey:@"IG0C"];

[smcKeyHumanReadableNames setValue:@"Memory Controller" forKey:@"IM0C"];
[smcKeyHumanReadableNames setValue:@"Memory Rail" forKey:@"IM0R"];

[smcKeyHumanReadableNames setValue:@"MCH" forKey:@"IN0C"];

[smcKeyHumanReadableNames setValue:@"Mainboard S0 Rail" forKey:@"ID0R"];
[smcKeyHumanReadableNames setValue:@"Mainboard S5 Rail" forKey:@"ID5R"];
[smcKeyHumanReadableNames setValue:@"Misc. Rail" forKey:@"IO0R"];

[smcKeyHumanReadableNames setValue:@"Battery Rail" forKey:@"IB0R"];
[smcKeyHumanReadableNames setValue:@"Charger BMON" forKey:@"IPBR"];

[smcKeyHumanReadableNames setValue:@"CPU Core 1" forKey:@"PC0C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 2" forKey:@"PC1C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 3" forKey:@"PC2C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 4" forKey:@"PC3C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 5" forKey:@"PC4C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 6" forKey:@"PC5C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 7" forKey:@"PC6C"];
[smcKeyHumanReadableNames setValue:@"CPU Core 8" forKey:@"PC7C"];
[smcKeyHumanReadableNames setValue:@"CPU Cores" forKey:@"PCPC"];
[smcKeyHumanReadableNames setValue:@"CPU GFX" forKey:@"PCPG"];
[smcKeyHumanReadableNames setValue:@"CPU DRAM" forKey:@"PCPD"];
[smcKeyHumanReadableNames setValue:@"CPU Total" forKey:@"PCTR"];
[smcKeyHumanReadableNames setValue:@"CPU Total" forKey:@"PCPL"];
[smcKeyHumanReadableNames setValue:@"CPU Rail" forKey:@"PC1R"];
[smcKeyHumanReadableNames setValue:@"CPU S0 Rail" forKey:@"PC5R"];

[smcKeyHumanReadableNames setValue:@"GPU Total" forKey:@"PGTR"];
[smcKeyHumanReadableNames setValue:@"GPU Rail" forKey:@"PG0R"];

[smcKeyHumanReadableNames setValue:@"Memory Rail" forKey:@"PM0R"];

[smcKeyHumanReadableNames setValue:@"MCH" forKey:@"PN0C"];
[smcKeyHumanReadableNames setValue:@"PCH Rail" forKey:@"PN1R"];

[smcKeyHumanReadableNames setValue:@"Mainboard S0 Rail" forKey:@"PC0R"];
[smcKeyHumanReadableNames setValue:@"Mainboard S0 Rail" forKey:@"PD0R"];
[smcKeyHumanReadableNames setValue:@"Mainboard S5 Rail" forKey:@"PD5R"];
[smcKeyHumanReadableNames setValue:@"Main 3.3V Rail" forKey:@"PH02"];
[smcKeyHumanReadableNames setValue:@"Main 5V Rail" forKey:@"PH05"];
[smcKeyHumanReadableNames setValue:@"12V Rail" forKey:@"Pp0R"];
[smcKeyHumanReadableNames setValue:@"Main 12V Rail" forKey:@"PD2R"];
[smcKeyHumanReadableNames setValue:@"Misc. Rail" forKey:@"PO0R"];
[smcKeyHumanReadableNames setValue:@"Battery Rail" forKey:@"PBLC"];
[smcKeyHumanReadableNames setValue:@"Battery Rail" forKey:@"PB0R"];

[smcKeyHumanReadableNames setValue:@"DC In Total" forKey:@"PDTR"];
[smcKeyHumanReadableNames setValue:@"System Total" forKey:@"PSTR"];
Hello, buddy!稿源:Hello, buddy! (源链) | 关于 | 阅读提示

本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 移动开发 » Description for Apple SMC Keys

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录