So nun funktionierts,
Taster Impulse:
$parentID = IPS_GetParent($_IPS['VARIABLE']);
if($_IPS['SENDER'] == "WebFront")
{
switch($_IPS['VALUE'])
{
case 1:
IPS_SetVariableProfileAssociation("TasterIntPulse", 0, "Aus", "", 0x00FF00);
IPS_SetVariableProfileAssociation("TasterIntPulse", 1, "", "", -1);
ModBus_WriteRegisterInteger ($parentID, 1); //schreibt Modbus INT = 1
IPS_Sleep(1000); // pausiert 1000ms
ModBus_WriteRegisterInteger ($parentID, 0); //schreibt Modbus INT = 0
case 0:
IPS_SetVariableProfileAssociation("TasterIntPulse", 1, "Aus", "", 0x00FF00);
IPS_SetVariableProfileAssociation("TasterIntPulse", 0, "", "", -1);
}
}
Taster:
$parentID = IPS_GetParent($_IPS['VARIABLE']);
if($_IPS['SENDER'] == "WebFront")
{
switch($_IPS['VALUE'])
{
case 1:
IPS_SetVariableProfileAssociation("TasterInt", 0, "Ein", "", 0x00FF00);
IPS_SetVariableProfileAssociation("TasterInt", 1, "", "", -1);
ModBus_WriteRegisterInteger ($parentID, 1);
break;
case 0:
IPS_SetVariableProfileAssociation("TasterInt", 1, "Aus", "", 0x00FF00);
IPS_SetVariableProfileAssociation("TasterInt", 0, "", "", -1);
ModBus_WriteRegisterInteger ($parentID, 0);
break;
}
}
evtl kann ich damit ja jemandem weiterhelfen.
Notiz: Wago hat bei INT 16Bit d.h. mann muss nach dem benutzten INT einen auslassen. Sprich den 1,3,5,7,… benutzen.
Gruss