Skip to content

Commit

Permalink
**Version 2.80:**
Browse files Browse the repository at this point in the history
 - Version setzt IPS 7.0 voraus.
 - Bedingungen können bei Aktionen ausgewählte werden, um Aktionen zu blockieren.
  • Loading branch information
Nall-chan committed Aug 26, 2024
1 parent ea5a204 commit db28501
Show file tree
Hide file tree
Showing 7 changed files with 152 additions and 129 deletions.
10 changes: 10 additions & 0 deletions NoTriggerGroup/form.json
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,16 @@
]
}
},
{
"name": "condition",
"caption": "Condition",
"width": "300px",
"add": "[]",
"edit": {
"type": "SelectCondition",
"multi": true
}
},
{
"name": "action",
"caption": "Action",
Expand Down
21 changes: 4 additions & 17 deletions NoTriggerGroup/module.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* @author Michael Tröger <micha@nall-chan.net>
* @copyright 2022 Michael Tröger
* @license https://creativecommons.org/licenses/by-nc-sa/4.0/ CC BY-NC-SA 4.0
* @version 2.72
* @version 2.80
*
*/
eval('declare(strict_types=1);namespace NoTrigger {?>' . file_get_contents(__DIR__ . '/../libs/helper/SemaphoreHelper.php') . '}');
Expand All @@ -23,7 +23,7 @@
* @copyright 2022 Michael Tröger
* @license https://creativecommons.org/licenses/by-nc-sa/4.0/ CC BY-NC-SA 4.0
*
* @version 2.72
* @version 2.80
*
* @example <b>Ohne</b>
*/
Expand Down Expand Up @@ -65,7 +65,7 @@ public function __construct(int $VarId, bool $Alert)
* @copyright 2022 Michael Tröger
* @license https://creativecommons.org/licenses/by-nc-sa/4.0/ CC BY-NC-SA 4.0
*
* @version 2.72
* @version 2.80
*
* @example <b>Ohne</b>
*/
Expand Down Expand Up @@ -144,7 +144,7 @@ public function IndexOfVarID(int $VarId): false|int
* @copyright 2022 Michael Tröger
* @license https://creativecommons.org/licenses/by-nc-sa/4.0/ CC BY-NC-SA 4.0
*
* @version 2.72
* @version 2.80
*
* @example <b>Ohne</b>
*
Expand All @@ -164,20 +164,10 @@ class NoTriggerGroup extends NoTriggerBase
public function Create(): void
{
parent::Create();

$this->RegisterPropertyBoolean('Active', false);
$this->RegisterPropertyBoolean('MultipleAlert', false);
$this->RegisterPropertyInteger('ScriptID', 1);
$this->RegisterPropertyInteger('Timer', 0);
$this->RegisterPropertyBoolean('HasState', true);
$this->RegisterPropertyInteger('StartUp', 0);
$this->RegisterPropertyInteger('CheckMode', 0);
$this->RegisterPropertyString('Variables', json_encode([]));
$this->RegisterPropertyString('Actions', json_encode([]));
$this->Alerts = 0;
$this->ActiveVarID = 0;
$this->NoTriggerVarList = new TNoTriggerVarList();
$this->RegisterTimer('NoTrigger', 0, 'NT_TimerFire($_IPS["TARGET"]); ');
}

/**
Expand Down Expand Up @@ -287,9 +277,6 @@ public function ApplyChanges(): void
$this->RegisterMessage(0, IPS_KERNELSTARTED);
return;
}
if ($this->ConfigHasUpgraded()) {
return;
}
$this->GetAllTargets();
if ($this->CheckConfig()) {
$this->StartTimer();
Expand Down
10 changes: 10 additions & 0 deletions NoTriggerSingle/form.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,16 @@
]
}
},
{
"name": "condition",
"caption": "Condition",
"width": "300px",
"add": "[]",
"edit": {
"type": "SelectCondition",
"multi": true
}
},
{
"name": "action",
"caption": "Action",
Expand Down
16 changes: 2 additions & 14 deletions NoTriggerSingle/module.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* @author Michael Tröger <micha@nall-chan.net>
* @copyright 2022 Michael Tröger
* @license https://creativecommons.org/licenses/by-nc-sa/4.0/ CC BY-NC-SA 4.0
* @version 2.72
* @version 2.80
*
*/

Expand All @@ -24,7 +24,7 @@
* @copyright 2022 Michael Tröger
* @license https://creativecommons.org/licenses/by-nc-sa/4.0/ CC BY-NC-SA 4.0
*
* @version 2.72
* @version 2.80
*
* @example <b>Ohne</b>
*
Expand All @@ -39,16 +39,7 @@ class NoTriggerSingle extends NoTriggerBase
public function Create(): void
{
parent::Create();
$this->RegisterPropertyBoolean('Active', false);
$this->RegisterPropertyBoolean('MultipleAlert', false);
$this->RegisterPropertyInteger('VarID', 1);
$this->RegisterPropertyInteger('ScriptID', 1);
$this->RegisterPropertyInteger('Timer', 0);
$this->RegisterPropertyBoolean('HasState', true);
$this->RegisterPropertyInteger('StartUp', 0);
$this->RegisterPropertyInteger('CheckMode', 0);
$this->RegisterPropertyString('Actions', json_encode([]));
$this->RegisterTimer('NoTrigger', 0, 'NT_TimerFire($_IPS["TARGET"]); ');
$this->State = false;
$this->VarId = 0;
}
Expand Down Expand Up @@ -110,9 +101,6 @@ public function ApplyChanges(): void
$this->RegisterMessage(0, IPS_KERNELSTARTED);
return;
}
if ($this->ConfigHasUpgraded()) {
return;
}
if ($this->CheckConfig()) {
$this->StartTimer();
} else {
Expand Down
76 changes: 39 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[![SDK](https://img.shields.io/badge/Symcon-PHPModul-red.svg)](https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.72-blue.svg)](https://community.symcon.de/t/modul-notrigger-ueberwachen-von-ips-variablen-auf-ausbleibende-aktualisierung-oder-veraenderung/42474)
[![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.80-blue.svg)](https://community.symcon.de/t/modul-notrigger-ueberwachen-von-ips-variablen-auf-ausbleibende-aktualisierung-oder-veraenderung/42474)
![Version](https://img.shields.io/badge/Symcon%20Version-7.0%20%3E-green.svg)
[![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
[![Check Style](https://github.com/Nall-chan/NoTrigger/workflows/Check%20Style/badge.svg)](https://github.com/Nall-chan/NoTrigger/actions) [![Run Tests](https://github.com/Nall-chan/NoTrigger/workflows/Run%20Tests/badge.svg)](https://github.com/Nall-chan/NoTrigger/actions)
[![Spenden](https://www.paypalobjects.com/de_DE/DE/i/btn/btn_donate_SM.gif)](#5-spenden)
[![Spenden](https://www.paypalobjects.com/de_DE/DE/i/btn/btn_donate_SM.gif)](#5-spenden)[![Wunschliste](https://img.shields.io/badge/Wunschliste-Amazon-ff69fb.svg)](#5-spenden)

# Variablenüberwachung (NoTrigger) <!-- omit in toc -->

Expand Down Expand Up @@ -136,6 +136,7 @@ Nach Ablauf der Intervall-Zeit wird, je nach Konfiguration, eine Statusvariable

Hier werden die gewünschten Aktionen hinterlegt, welche ausgeführt werden sollen.
Bei jeder Aktion kann noch ausgewählt werden ob sie 'Bei Auslösung', 'Bei Rücksetzen' oder 'immer' ausgeführt werden soll.
Zusätzlich können Bedingungen angegeben werden, welche das ausführen einer Aktion erlauben oder verhindern.
Für Aktionen werden entsprechende Parameter übergeben, welche z.B. bei 'Führe Automation aus' in einem PHP-Script zur Verfügung stehen.

## 6. Variablen im PHP-Script bei 'Führe Automation aus'
Expand Down Expand Up @@ -179,69 +180,70 @@ Nach Ablauf der Intervall-Zeit wird, je nach Konfiguration, eine Statusvariable

**Eigenschaften von Variablenüberwachung (Single):**

| Eigenschaft | Typ | Standardwert | Funktion |
| :-----------: | :-----: | :----------: | :-----------------------------------------------------------------------: |
| Active | boolean | false | Aktivieren / Deaktivieren der Überwachung |
| VarID | integer | 0 | Variable welche überwacht werden soll |
| CheckMode | integer | 0 | Überwachung auf Aktualisierung (0) oder Änderung (1) |
| Timer | integer | 0 | Zeit in Sek bis zum Auslösen eines Alarm |
| HasState | boolean | true | Variable 'STATE' anlegen |
| StartUp | integer | 0 | Neustart-Verzögerung 0 = keine, 1 = Intervallzeit, 2 = bis Aktualisierung |
| MultipleAlert | boolean | false | Mehrfachauslösung |
| Actions | string | [] | JSON-String mit Daten der zu startenden Aktionen |
| Eigenschaft | Typ | Standardwert | Funktion |
| :------------ | :-----: | :----------: | :------------------------------------------------------------------------ |
| Active | boolean | false | Aktivieren / Deaktivieren der Überwachung |
| VarID | integer | 0 | Variable welche überwacht werden soll |
| CheckMode | integer | 0 | Überwachung auf Aktualisierung (0) oder Änderung (1) |
| Timer | integer | 0 | Zeit in Sek bis zum Auslösen eines Alarm |
| HasState | boolean | true | Variable 'STATE' anlegen |
| StartUp | integer | 0 | Neustart-Verzögerung 0 = keine, 1 = Intervallzeit, 2 = bis Aktualisierung |
| MultipleAlert | boolean | false | Mehrfachauslösung |
| Actions | string | [] | JSON-String mit Daten der zu startenden Aktionen |

**Eigenschaften von Variablenüberwachung (Group):**

| Eigenschaft | Typ | Standardwert | Funktion |
| :-----------: | :-----: | :----------: | :-----------------------------------------------------------------------: |
| Active | boolean | false | Aktivieren / Deaktivieren der Überwachung |
| Variables | string | [] | JSON-String mit Daten der zu überwachenden Variablen |
| CheckMode | integer | 0 | Überwachung auf Aktualisierung (0) oder Änderung (1) |
| Timer | integer | 0 | Zeit in Sek bis zum Auslösen eines Alarm |
| HasState | boolean | true | Variable 'STATE' anlegen |
| ScriptID | integer | 0 | Ziel-Script |
| StartUp | integer | 0 | Neustart-Verzögerung 0 = keine, 1 = Intervallzeit, 2 = bis Aktualisierung |
| MultipleAlert | boolean | false | Mehrfachauslösung |
| Actions | string | [] | JSON-String mit Daten der zu startenden Aktionen |
| Eigenschaft | Typ | Standardwert | Funktion |
| :------------ | :-----: | :----------: | :------------------------------------------------------------------------ |
| Active | boolean | false | Aktivieren / Deaktivieren der Überwachung |
| Variables | string | [] | JSON-String mit Daten der zu überwachenden Variablen |
| CheckMode | integer | 0 | Überwachung auf Aktualisierung (0) oder Änderung (1) |
| Timer | integer | 0 | Zeit in Sek bis zum Auslösen eines Alarm |
| HasState | boolean | true | Variable 'STATE' anlegen |
| StartUp | integer | 0 | Neustart-Verzögerung 0 = keine, 1 = Intervallzeit, 2 = bis Aktualisierung |
| MultipleAlert | boolean | false | Mehrfachauslösung |
| Actions | string | [] | JSON-String mit Daten der zu startenden Aktionen |

### 4. Changelog

Version 2.72:
- Version für IPS 7.0.
**Version 2.80:**
- Version setzt IPS 7.0 voraus.
- Bedingungen können bei Aktionen ausgewählte werden, um Aktionen zu blockieren.

Version 2.71:
**Version 2.72:**
- Timer wurden nicht zuverlässig angehalten, wenn Instanzen inaktiv geschaltet wurden.
- Timer wurde gestartet, obwohl Instanz inaktiv war.

Version 2.70:
**Version 2.70:**
- IPS 6.1 als Voraussetzung.
- Bei auslösen der Überwachungen können mehrere Aktionen gestartet werden.
- Vorhandenes Alarm-Script wird automatisch in eine Aktion übertragen.
- Gruppenüberwachung von Variablen benutzt jetzt eine Liste und keine Links.
- Bei Gruppenüberwachung werden die Links automatisch in die Variablen-Liste überführt.

Version 2.61:
**Version 2.61:**
- Fehlermeldung beim IPS Shutdown.

Version 2.6:
**Version 2.6:**
- Schreibfehler korrigiert.
- Fehlende Übersetzungen ergänzt.

Version 2.5:
**Version 2.5:**
- Release für IPS 5.1 und den Module-Store

Version 2.2:
**Version 2.2:**
- Fixes für IPS 5.0

Version 2.1:
**Version 2.1:**
- Fix: Timer in Create verschoben

Version 2.0:
**Version 2.0:**
- Erste Version für IPS 4.1

Version 1.1:
**Version 1.1:**
- Erstes öffentliches Release im Forum

Version 1.0.0.7:
**Version 1.0.0.7:**
- Erstes internes Release mit Gruppenüberwachung

### 5. Spenden
Expand All @@ -252,7 +254,7 @@ Version 1.0.0.7:
<a href="https://www.paypal.com/donate?hosted_button_id=G2SLW2MEMQZH2" target="_blank"><img src="https://www.paypalobjects.com/de_DE/DE/i/btn/btn_donate_LG.gif" border="0" /></a>

Wunschliste:
<a href="https://www.amazon.de/hz/wishlist/ls/YU4AI9AQT9F?ref_=wl_share" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/4/4a/Amazon_icon.svg" border="0" width="100"/></a>
[![Wunschliste](https://img.shields.io/badge/Wunschliste-Amazon-ff69fb.svg)](https://www.amazon.de/hz/wishlist/ls/YU4AI9AQT9F?ref_=wl_share)

## 8. Lizenz

Expand Down
6 changes: 3 additions & 3 deletions library.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"compatibility": {
"version": "7.0"
},
"version": "2.72",
"build": 272,
"date": 1685034471
"version": "2.80",
"build": 280,
"date": 1724650878
}
Loading

0 comments on commit db28501

Please sign in to comment.