Wer kennt es nicht: Man hat eine Ente im Regal stehen und möchte nun den Lagerstand an Enten im WebFront erfassen.
Mit dem original IP-Symcon-Entenzähler ist dies bequem möglich.
Die Einrichtung ist kinderleicht:
1. Man erstellt ein neues Skript, kopiert den folgenden PHP-Code hinein, speichert ab und führt es aus.
<?php
/*
Lagerbestandsverwaltung
Zur Installation das Skript einmal ausführen und nach belieben
Integer-Variablen mit Variablenprofil 'StockManagement' und
diesem Skript als Aktionsskript erstellen.
*/
$ProfileName = 'StockManagement';
if ($IPS_SENDER === 'WebFront')
{
$profile = IPS_GetVariableProfile($ProfileName);
$minValue = (int)$profile['Associations'][0]['Value'];
$maxValue = (int)$profile['Associations'][2]['Value'];
$value = GetValue($IPS_VARIABLE);
if ($IPS_VALUE == $minValue)
{
$value--;
}
else if ($IPS_VALUE == $maxValue)
{
$value++;
}
SetValue($IPS_VARIABLE, max($minValue + 1, min($maxValue - 1, $value)));
}
else
{
IPS_SetHidden($IPS_SELF, true);
if (@IPS_GetVariableProfile($ProfileName) === false && IPS_CreateVariableProfile($ProfileName, 1))
{
if (floatval(IPS_GetKernelVersion()) >= 2.4)
{
IPS_SetVariableProfileAssociation($ProfileName, -1, '<', '', -1);
IPS_SetVariableProfileAssociation($ProfileName, 0, '%d', '', -1);
IPS_SetVariableProfileAssociation($ProfileName, 101, '>', '', -1);
}
else
{
IPS_SetVariableProfileAssociation($ProfileName, -1, '<', '');
IPS_SetVariableProfileAssociation($ProfileName, 0, '%d', '');
IPS_SetVariableProfileAssociation($ProfileName, 101, '>', '');
}
}
}
?>
2. Man erstellt eine Integer-Variable, weist ihr das Variablenprofil ‚StockManagement‘ und das zuvor erstellte Skript als Aktionsskript zu.
3. Man zählt nach Herzenslust Enten im WebFront.
Das beste an diesem Skript: Auch Kühe, Arbeiter und Gurken sind zählbar. Sogar die beliebten 99 Flaschen Bier lassen sich erfassen.
Standardmäßig ist das Profil auf einen Maximalwert von 100 Einheiten eingestellt. Um diesen zu ändern, braucht man nur die Assoziationen im Variablenprofil anzupassen.
Wir wünschen Euch viel Spaß mit diesem nützlichen Skript und verabschieden uns mit einem herzlichen
Ente gut, alles Gut!