Skip to content

Commit

Permalink
chore: release v0.4.1
Browse files Browse the repository at this point in the history
bugfix: falscher Status wurde angezeigt, wenn Programmabbruch erkannt wurde
  • Loading branch information
Xenon-s committed Nov 12, 2020
1 parent e91f4a8 commit 5d1f4b5
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 25 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,9 @@ Zur Funktion einfach bei "**default devices**" hier drüber lesen.
### __WORK IN PROGRESS__
-->

### 0.4.1 (2020-11-12)
* (xenon-s) bugfix: falscher Status wurde angezeigt, wenn Programmabbruch erkannt wurde

### 0.4.0 (2020-11-11)
* (xenon-s) config Seite überarbeitet, damit die Eingabe von Geräten deutlich vereinfacht wird
* (xenon-s) einen Abbruch eingefügt, damit erkannt wird, wenn ein Gerät vorzeitig am Geräteschalter ausgeschaltet wird
Expand Down
14 changes: 13 additions & 1 deletion io-package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
{
"common": {
"name": "device-reminder",
"version": "0.4.0",
"version": "0.4.1",
"news": {
"0.4.1": {
"en": "bugfix: falscher Status wurde angezeigt, wenn Programmabbruch erkannt wurde",
"de": "Bugfix: falscher Status wurde festgestellt, wenn Programmabbruch erkannt wurde",
"ru": "исправление: falscher Status wurde angezeigt, wenn Programmabbruch erkannt wurde",
"pt": "correção de bug: falscher Status wurde angezeigt, wenn Programmabbruch erkannt wurde",
"nl": "bugfix: falscher Status wurde angezeigt, wenn Programmabbruch erkannt wurde",
"fr": "correction de bogue: falscher Status wurde angezeigt, wenn Programmabbruch erkannt wurde",
"it": "bugfix: falscher Status wurde angezeigt, wenn Programmabbruch erkannt wurde",
"es": "corrección de errores: estado de falscher wurde angezeigt, wenn Programmabbruch erkannt wurde",
"pl": "poprawka: falscher Status wurde angezeigt, wenn Programmabbruch erkannt wurde",
"zh-cn": "错误修正:falscher Status wurde angezeigt,wenn Programmabbruch erkannt wurde"
},
"0.4.0": {
"en": "config Seite überarbeitet, damit die Eingabe von Geräten deutlich vereinfacht wird\neinen Abbruch eingefügt, damit erkannt wird, wenn ein Gerät vorzeitig am Geräteschalter ausgeschaltet wird\nbugfix: telegram User werden nicht immer richtig erkannt und falsch angezeigt\neinstellbare Werte bei \"Type\" eingefügt\nreadme erweitert und angepasst",
"de": "config Seite gehört, damit die von von sichtbaren vereinfacht wird\nein Abbruch eingezogen wird, damit erkannt wird, wenn ein Gerät vorzeitig am Geräteschalter wird\nBugfix: Telegramm Benutzer werden nicht immer richtig erkannt und falsch gesehen\neinstellbare Werte bei \"Type\" eingezogen\nreadme entfernen und entfernen",
Expand Down
48 changes: 26 additions & 22 deletions main.js
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,7 @@ class Template extends utils.Adapter {
startCount: null,
endCount: null
};

for (const i in devCusType) {
if (devCusType[i].name == obj.type) {
objVal.startVal = devCusType[i].startVal
Expand Down Expand Up @@ -434,16 +434,17 @@ class Template extends utils.Adapter {
if (obj.timeout != null) {
clearTimeout(obj.timeout);
obj.timeout = null;
this.log.debug(`timeout autoOff gelöscht`);
};
await this.setStatus(obj, status = 1);
await this.time(obj);
} else if (obj.resultEnd < obj.endValue && obj.resultEnd != null && obj.started && obj.arrEnd.length >= (obj.endCount / 2)) { // geraet muss mind. 1x ueber startValue gewesen sein, arrEnd muss voll sein und ergebis aus arrEnd unter endValue
obj.started = false; // vorgang beendet
this.log.debug("Vorgang beendet, Gerät fertig");
this.log.debug(`${obj.autoOff},${obj.timeoutInMS},${obj.timer} `);
await this.setStatus(obj, status = 2);

await this.autoOff(obj);

obj.endZeit = Date.now(); // ende Zeit loggen
obj.arrStart = []; // array wieder leeren
obj.arrEnd = []; // array wieder leeren
Expand All @@ -465,41 +466,40 @@ class Template extends utils.Adapter {

async monitoringConsumption(obj) {
const val = 20;
this.log.debug("ermittlung standby")
await this.calcStart(obj, "standby", val);
this.log.debug(`ergebnis standby: ${obj.resultStandby}, Länge array standby: ${obj.arrStandby.length}`);
this.log.debug(`ERGEBNIS standby: ${obj.resultStandby}, Länge array standby: ${obj.arrStandby.length}`);
if (obj.resultStandby < 0.2 && obj.arrStandby.length >= val) { // verbrauch kleiner Vorgabe, Gerät wurde von Hand ausgeschaltet
this.log.debug(`Gerät wurde von Hand ausgeschaltet`);
this.log.debug(`auto off == true?`);
await this.setStatus(obj, status = 0);
if (obj.autoOff) { // auto Off aktiviert?
this.log.debug(`standby < 0.2, autoOff true`);
await this.autoOff(obj);
} else { // auto Off == false
this.log.debug(`standby < 0.2, autoOff false`);
await this.setStatus(obj, status = 0);
};
obj.started = false;
obj.endMessageSent = false;
obj.startMessageSent = false;
// clear all arrays
obj.arrStandby = [];
obj.arrStart = [];
obj.arrEnd = [];
} else if (obj.resultStandby >= 0.2 && obj.arrStandby.length >= val && !obj.started) {
this.log.debug(`standby Berechnung abgebrochen`)
obj.arrStandby = [];
await this.setStatus(obj, status = 2);
};
};

async autoOff(obj) {
/* auto off*/
if (obj.autoOff) { // auto Off aktiv, timeout aktiv
await this.setStatus(obj, status = 2);
this.log.debug(`autoOff == true, timeout > 0ms, timer == true, timeout startet`);
if (obj.timeout == null) { // timeout <> null?
if (obj.timeout != null) {
clearTimeout(obj.timeout);
obj.timeout = null;
};
obj.timeout = setTimeout(async () => { //timeout starten
await this.setStatus(obj, status = 0);
await this.setStatus(obj, status = 3);
if (obj.timeout != null) {
clearTimeout(obj.timeout);
obj.timeout = null;
this.log.debug(`autoOff fertig, timeout clear`);
};
}, obj.timeoutInMS);
};
} else {
Expand All @@ -511,13 +511,6 @@ class Template extends utils.Adapter {
this.log.debug(`value status: ${status}`);
switch (status) {
case 0: {
if (obj.autoOff && obj.switchPower != null) {
let result = await this.getForeignStateAsync(obj.switchPower);
result = result.val;
if (result) {
await this.setForeignStateAsync(obj.switchPower, false); // Geraet ausschalten, falls angewaehlt
};
};
await this.setStateAsync(obj.pathStatus, `ausgeschaltet`, true); // Status in DP schreiben;
break;
};
Expand All @@ -529,6 +522,17 @@ class Template extends utils.Adapter {
await this.setStateAsync(obj.pathStatus, `Standby`, true); // Status in DP schreiben
break;
};
case 3: {
if (obj.autoOff && obj.switchPower != null) {
let result = await this.getForeignStateAsync(obj.switchPower);
result = result.val;
if (result) {
await this.setForeignStateAsync(obj.switchPower, false); // Geraet ausschalten, falls angewaehlt
};
};
await this.setStatus(obj, status = 0);
break;
}
default:
await this.setStateAsync(obj.pathStatus, `Initialisiere`, true); // Status in DP schreiben
break;
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "iobroker.device-reminder",
"version": "0.4.0",
"version": "0.4.1",
"description": "device-reminder",
"author": {
"name": "xenon-s",
Expand Down

0 comments on commit 5d1f4b5

Please sign in to comment.