Die Funktion gibt es nicht mehr seit der 5.1. Die Klassen findest du über ZW_GetInformation($id) und dort dann verteilt auf NodeClasses und NodeSecureClasses je nach Gerätetyp.
Beispiel:
var_dump(json_decode(ZW_GetInformation(56940), true));
Ausgabe:
array(63) {
["NodeClasses"]=>
string(46) "[32,37,39,50,89,90,94,112,113,114,115,133,134]"
["NodeControlClasses"]=>
string(2) "[]"
["NodeSecureClasses"]=>
string(2) "[]"
["NodeSecureControlClasses"]=>
string(2) "[]"
["NodeVersions"]=>
string(90) "{"112":1,"113":8,"114":2,"133":2,"134":2,"32":1,"37":1,"39":1,"50":4,"89":1,"90":1,"94":2}"
["NodeFailed"]=>
bool(false)
["NodeFailedCounter"]=>
int(0)
["NodeFailedReason"]=>
string(0) ""
["NodePacketSend"]=>
int(3857)
["NodePacketReceived"]=>
int(44568)
["NodePacketFailed"]=>
int(7)
["ManufacturerID"]=>
string(4) "0258"
["ProductType"]=>
string(4) "0003"
["ProductID"]=>
string(4) "1087"
["SerialNumber"]=>
string(16) "EF78010203040506"
["PseudoRandom"]=>
string(32) "DB34FA3FEC8FCC34B9C5D4C406716053"
["AssociationCount"]=>
int(3)
["AssociationGroups"]=>
string(94) "{"1":{"MaxNodes":5,"Nodes":[1]},"2":{"MaxNodes":5,"Nodes":[1]},"3":{"MaxNodes":5,"Nodes":[1]}}"
["SwitchMultilevelPrimary"]=>
int(0)
["SwitchMultilevelSecondary"]=>
int(0)
["SensorBinarySupported"]=>
string(2) "[]"
["SensorMultilevelSupported"]=>
string(2) "[]"
["SensorMultilevelScales"]=>
string(2) "[]"
["MeterSupportedType"]=>
int(1)
["MeterSupportedRate"]=>
int(1)
["MeterSupportedScale"]=>
int(53)
["MeterSupportsReset"]=>
bool(true)
["ColorCapability"]=>
int(0)
["ThermostatSupportedMode"]=>
int(0)
["ThermostatSupportedSetPoint"]=>
int(0)
["ThermostatSupportedFanMode"]=>
int(0)
["AssociationGroupInfos"]=>
string(168) "{"1":{"Commands":[],"Name":"Lifeline","Profile":-1},"2":{"Commands":[],"Name":"Basic Set Rep.","Profile":-1},"3":{"Commands":[],"Name":"Power Alarm Rep.","Profile":-1}}"
["PlusInfoVersion"]=>
int(1)
["PlusInfoRoleType"]=>
int(5)
["PlusInfoNodeType"]=>
int(0)
["PlusInfoInstallerIconType"]=>
int(1792)
["PlusInfoUserIconType"]=>
int(1792)
["MultiChannelCount"]=>
int(0)
["MultiChannelClasses"]=>
string(2) "[]"
["MultiChannelControlClasses"]=>
string(2) "[]"
["UserCodes"]=>
string(2) "{}"
["ConfigurationList"]=>
string(2) "{}"
["ConfigurationValues"]=>
string(2) "{}"
["NotificationSupportsAlarm"]=>
bool(false)
["NotificationSupported"]=>
string(5) "[0,1]"
["ProtectionTimeout"]=>
bool(false)
["ProtectionExclusive"]=>
bool(false)
["ProtectionSupported"]=>
int(0)
["ProtectionRFSupported"]=>
int(0)
["WakeUpInterval"]=>
int(-1)
["WakeUpIntervalMin"]=>
int(-1)
["WakeUpIntervalMax"]=>
int(-1)
["WakeUpIntervalStep"]=>
int(-1)
["WakeUpIntervalDefault"]=>
int(-1)
["WakeUpNodeID"]=>
int(0)
["VersionLibraryType"]=>
int(3)
["VersionProtocol"]=>
string(3) "4.5"
["VersionApplication"]=>
string(4) "3.93"
["VersionHardware"]=>
int(65)
["VersionFirmware"]=>
string(2) "[]"
["MultiChannelAssociationCount"]=>
int(0)
["MultiChannelAssociationGroups"]=>
string(2) "{}"
["SensorAlarmSupported"]=>
string(2) "[]"
}
Ich habe ebenfalls den Titel korrigiert. Das Problem kann es erst seit der 5.1 geben.
paresy