Skip to content

Commit

Permalink
no message
Browse files Browse the repository at this point in the history
  • Loading branch information
Nall-chan committed Jan 9, 2024
1 parent 04f974c commit 8e849c7
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 9 deletions.
6 changes: 3 additions & 3 deletions KLF200Node/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ Entsprechend sind auch der Name und das Profil beim anlegen der Instanz je nach
| letzte Aktivierung | integer | LastActivation | Quelle der letzte Ansteuerung des Gerätes |
| zuletzt gesehen | integer | LastSeen | UnixTimestamp der letzten Meldung |
| letzter Fehler | string | ErrorState | Letzter Fehlerstatus |
| Laufstatus | boolean | RunStatus | Arbeitet der Node gerade |

**Statusvariable MAIN:**

Expand Down Expand Up @@ -119,9 +120,8 @@ Entsprechend sind auch der Name und das Profil beim anlegen der Instanz je nach

| Name | Typ | verwendet von Statusvariablen (Ident) |
| :-------------------------- | :------ | :------------------------------------- |
| KLF200.StatusOwner | integer | STATUS |
| KLF200.Light.Reversed | boolean | MAIN |
| KLF200.Lock | boolean | MAIN |
| KLF200.RunStatus | boolean | RunStatus |
| KLF200.StatusOwner | integer | LastActivation |
| KLF200.Blind | integer | MAIN |
| KLF200.RollerShutter | integer | MAIN, FP1, FP2 |
| KLF200.Window | integer | MAIN |
Expand Down
3 changes: 3 additions & 0 deletions KLF200Node/locale.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
"Request device state": "Lese Gerätestatus",
"Request device information": "Lese Geräte-Informationen",
"last error": "letzter Fehler",
"run status": "Laufstatus",
"stopped": "gestoppt",
"running": "läuft",
"last seen": "zuletzt gesehen",
"last activation": "letzte Aktivierung",
"local activation": "Lokale Bedienung",
Expand Down
18 changes: 14 additions & 4 deletions KLF200Node/module.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
* @method void RegisterProfileIntegerEx(string $Name, string $Icon, string $Prefix, string $Suffix, array $Associations, int $MaxValue = -1, int $StepSize = 0)
* @method void RegisterProfileInteger(string $Name, string $Icon, string $Prefix, string $Suffix, int $MinValue, int $MaxValue, int $StepSize)
* @method void RegisterProfileBoolean(string $Name, string $Icon, string $Prefix, string $Suffix)
* @method void RegisterProfileBooleanEx($Name, $Icon, $Prefix, $Suffix, $Associations)
* @method void UnregisterProfile(string $Name)
*
* @property char $NodeId
* @property int $SessionId
Expand Down Expand Up @@ -106,11 +108,17 @@ public function ApplyChanges()
$this->RegisterProfileInteger('KLF200.Heating.Reversed', 'Temperature', '', ' %', 0, 0xC800, 1);
$this->RegisterProfileInteger('KLF200.Garage', 'Garage', '', ' %', 0, 0xC800, 1);
$this->RegisterProfileInteger('KLF200.Light.51200.Reversed', 'Light', '', ' %', 0, 0xC800, 1);
$this->RegisterProfileBoolean('KLF200.Light.Reversed', 'Light', '', '');
$this->RegisterProfileBoolean('KLF200.Lock', 'Lock', '', '');
$this->UnregisterProfile('KLF200.Light.Reversed');
$this->UnregisterProfile('KLF200.Lock');
$this->RegisterProfileBooleanEx('KLF200.RunStatus', 'Gear', '', '', [
[false, 'stopped', '', -1],
[true, 'running', '', 0x0000ff],

]);
$this->RegisterVariableInteger('LastSeen', $this->Translate('last seen'), '~UnixTimestamp', 0);
$this->RegisterVariableInteger('LastActivation', $this->Translate('last activation'), 'KLF200.StatusOwner', 0);
$this->RegisterVariableString('ErrorState', $this->Translate('last error'), '', 0);
$this->RegisterVariableBoolean('RunStatus', $this->Translate('run status'), 'KLF200.RunStatus', 0);
if (IPS_GetKernelRunlevel() == KR_READY) {
$this->RequestNodeInformation();
}
Expand Down Expand Up @@ -480,7 +488,7 @@ private function RegisterNodeVariables(int $NodeTypeSubType)
$this->UnregisterVariable('FP3');
break;
case 0x01BA: //Light only supporting on/off
$this->RegisterVariableBoolean('MAIN', $this->Translate('State'), 'KLF200.Light.Reversed', 0);
$this->RegisterVariableBoolean('MAIN', $this->Translate('State'), '~Switch', 0);
$this->UnregisterVariable('FP1');
$this->UnregisterVariable('FP2');
$this->UnregisterVariable('FP3');
Expand All @@ -494,7 +502,7 @@ private function RegisterNodeVariables(int $NodeTypeSubType)
break;
case 0x0240: //Door lock
case 0x0241: //Window lock
$this->RegisterVariableBoolean('MAIN', $this->Translate('Lock'), 'KLF200.Lock', 0);
$this->RegisterVariableBoolean('MAIN', $this->Translate('Lock'), '~Lock', 0);
$this->UnregisterVariable('FP1');
$this->UnregisterVariable('FP2');
$this->UnregisterVariable('FP3');
Expand Down Expand Up @@ -757,6 +765,7 @@ private function ReceiveEvent(\KLF200\APIData $APIData)
$this->SendDebug('ParameterValue', sprintf('%04X', $ParameterValue), 0);
$RunStatus = ord($APIData->Data[7]);
$this->SendDebug('RunStatus', \KLF200\RunStatus::ToString($RunStatus), 0);
$this->SetValue('RunStatus', $RunStatus == \KLF200\RunStatus::EXECUTION_ACTIVE);
$StatusReply = ord($APIData->Data[8]);
$this->SendDebug('StatusReply', \KLF200\StatusReply::ToString($StatusReply), 0);
$this->SetValue('ErrorState', $this->Translate(\KLF200\StatusReply::ToString($StatusReply)));
Expand Down Expand Up @@ -804,6 +813,7 @@ private function ReceiveEvent(\KLF200\APIData $APIData)
$this->SendDebug('NodeIndex', $NodeIndex, 0);
$RunStatus = ord($APIData->Data[4]);
$this->SendDebug('RunStatus', \KLF200\RunStatus::ToString($RunStatus), 0);
$this->SetValue('RunStatus', $RunStatus == \KLF200\RunStatus::EXECUTION_ACTIVE);
$StatusReply = ord($APIData->Data[5]);
$this->SendDebug('StatusReply', \KLF200\StatusReply::ToString($StatusReply), 0);
$this->SetValue('ErrorState', $this->Translate(\KLF200\StatusReply::ToString($StatusReply)));
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ Es wird empfohlen die Einrichtung mit der Discovery-Instanz zu starten ([KLF200
- Internen Datenaustausch überarbeitet, da einige Events nicht in den Node Instanzen verarbeitet wurden.
- Node Instanzen können automatisch den Namen aus dem KLF200 übernehmen.
- Node Instanz hat bool Werte invertiert abgebildet.
- Node Instanz zeigt an ob ein Node arbeitet oder nicht.
- Node Instanz führt den aktuellen Status nach, wenn sich die Gateway Instanz verbindet.
- Node Instanz schreibt den Grund der letzten Aktivierung in eine Statusvariable. (**Wind & Regensensor**)
- Node Instanz kann jetzt auch auf dem Zustand vom Gerät warten.
Expand Down
4 changes: 2 additions & 2 deletions library.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
"version": "6.0"
},
"version": "1.00",
"build": 100,
"date": 1704494174
"build": 101,
"date": 1704824261
}

0 comments on commit 8e849c7

Please sign in to comment.