NEWS
Test Adapter AlarmControl V0.1.x
-
@web4wasch
Dies ist die Warnfunktion, wenn ein Eingang die eingestellte Zeit überschreitet!
Wenn Du einen Eingang definiert hast, darf der Eingang bis zur eingestellten Zeit geöffnet bleiben.
-
@sigi234
hier ist der Code dafür:async StartLevelThree(SendModeState) { const Adapter = this; if (Math.floor((Date.now() - startLevelThreeTimer) / 1000) < 10) { //**********************Very important for the loop / AlarmIsActivThree = true;********************************* Adapter.log.error("Time is less than 10 seconds, execution cannot be repeated! => " + Math.floor((Date.now() - startLevelThreeTimer) / 1000) + " seconds"); AlarmIsActivThree = true; return; } else { startLevelThreeTimer = Date.now(); } Adapterarray = []; var GetChangeObjectJson = await Adapter.getStateAsync('Change'); Adapter.log.info("The alarm system is set to 3, switch off " + GetChangeObjectJson); if (GetChangeObjectJson !== undefined) { Adapterarray.push(JSON.parse(GetChangeObjectJson.val)); var TimeDelaySpeak = 0; var WarnToSendString = '🚨 ' + Thealarmsystemissettolevel[Mylanguage] + '\n'; for (let ArrayDev in Adapterarray[0]) { //**************************************Start loop switch off*********************************************** if (Adapterarray[0][ArrayDev].DeviceType == "Switch") { //**************************************Subscribe all switch******************************************** Adapter.unsubscribeForeignStates(Adapterarray[0][ArrayDev].OnObject); Adapter.unsubscribeForeignStates(Adapterarray[0][ArrayDev].OffObject); setTimeout(function() { Adapter.subscribeForeignStates(Adapterarray[0][ArrayDev].OnObject); Adapter.subscribeForeignStates(Adapterarray[0][ArrayDev].OffObject); }, 1000); //================Check State if (Adapterarray[0][ArrayDev].activate) { TimeDelaySpeak += 1; setTimeout(function() { var ObjectToCommandoff = Adapterarray[0][ArrayDev].OffObject; var StringToCommandoff = Adapterarray[0][ArrayDev].OffObjectString; if (CommandSPTG.AlarmVoice) { if (Adapterarray[0][ArrayDev].SpeachString) { Adapter.setForeignStateAsync(CommandSPTG.SpeakObject, Adapterarray[0][ArrayDev].SpeachString); } } var WarnToSendState = ''; if (StringToCommandoff) { WarnToSendState = switchedon[Mylanguage]; } else { WarnToSendState = switchedoff[Mylanguage]; } WarnToSendString += "✔️ " + Adapterarray[0][ArrayDev].DeviceIDName + ' ➢ ' + statechanged[Mylanguage] + ' ➢ ' + WarnToSendState + '\n'; Adapter.log.warn("The alarm system is set to 3, switch off " + Adapterarray[0][ArrayDev].DeviceIDName + " with: " + StringToCommandoff); if (/^#[0-9A-F]{6}$/i.test(StringToCommandoff)) { //Color Adapter.setForeignStateAsync(ObjectToCommandoff, StringToCommandoff); } else if ((/\d+/g.test(StringToCommandoff)) || (/true/g.test(StringToCommandoff)) || (/false/g.test(StringToCommandoff))) { // State Adapter.setForeignStateAsync(ObjectToCommandoff, eval(StringToCommandoff)); } else { // Other Adapter.setForeignStateAsync(ObjectToCommandoff, StringToCommandoff); } }, TimeDelaySpeak * 1000); } } } AlarmIsActivThree = true; if (Math.floor((Date.now() - SubsLevelThreeTimer) / 1000) < 5) { if (CommandSPTG.SendAlarmChanges) { if (SendModeState) { Adapter.setForeignStateAsync(CommandSPTG.TelegramObject, WarnToSendString); } else { return WarnToSendString; } } } else { SubsLevelThreeTimer = Date.now(); } } }
Der Variable "WarnToSendString" wird nur von "CommandSPTG.TelegramObject" benutzt.
Ich verstehe nicht, warum das Polizeilicht woanders erscheint! -
-
Beim deaktivieren des Adapters verliert er die Config.
Ist das so gewollt?host.Medion(Test) 2020-09-17 11:32:58.967 error instance system.adapter.alarmcontrol.0 terminated with code 3 (NO_ADAPTER_CONFIG_FOUND) alarmcontrol.0 2020-09-17 11:32:58.430 warn (4820) Terminated (NO_ADAPTER_CONFIG_FOUND): Without reason alarmcontrol.0 2020-09-17 11:32:58.364 error (4820) adapter disabled
-
@web4wasch sagte in Test Adapter AlarmControl V0.1.x:
mit welchen Mitteln (Script, Adapter etc.) setzt du deine Alarmanlage um?
Das ist eine fest verbaute Alarmanlage vom Hersteller Jablotron .
Die Abfrage erfolgt über KNX und wird in ioBroker Visualisiert. -
@wawyo kann doch einfach den datenpunk für rfid Präsens nehmen oder nicht? Baue mir ein Script wenn ich da bin das er ein Objekt auf True setzt und wenn ich wieder dran halte fals, sollte ja so funktionieren oder?
-
@wawyo sagte in Test Adapter AlarmControl V0.1.x:
@web4wasch
Bitte installiere moment.js
npm install moment --save-prodFrage ... warum soll er es über " npm " nachinstallieren !?
Er hat doch kein Fehler mehr !??? -
@wawyo Ist die Durchsage dann einmalig nach der eingestellten Zeit? Oder wird die zyklisch wiederholt?
Danke. Ok
-
@sigi234 hast du das schon raus gefunden?
-
@web4wasch sagte in Test Adapter AlarmControl V0.1.x:
@sigi234 hast du das schon raus gefunden?
Was?
-
@sigi234 said in Test Adapter AlarmControl V0.1.x:
@web4wasch sagte in Test Adapter AlarmControl V0.1.x:
@sigi234 hast du das schon raus gefunden?
Was?
Die Sprachsteuerung der Alarmlevel Schaltung?
-
@web4wasch sagte in Test Adapter AlarmControl V0.1.x:
@sigi234 said in Test Adapter AlarmControl V0.1.x:
@web4wasch sagte in Test Adapter AlarmControl V0.1.x:
@sigi234 hast du das schon raus gefunden?
Was?
Die Sprachsteuerung der Alarmlevel Schaltung?
Nein
-
@sigi234 said in Test Adapter AlarmControl V0.1.x:
Und wie genau geht das ?
Beispiel:
-
Unter die Einstellungen (Sprachbefehl zum Ändern der Alarmstufe) du hast "alarm auf stufe" eingestellt
(Achtung! Bitte schaust Du in der Historie nach, ob die Eingabe mit dem gesprochenen Satz übereinstimmt).
=> wenn du sagst "Alexa, Alarm auf stufe drei", wechselt der Alarm auf Stufe drei -
Unter die Einstellungen (Sprachbefehl zum Ausschalten des Alarms) du hast "ich bin hier" eingestellt.
=> wenn du sagst "Alexa, Ich bin hier", wechselt der Alarm auf Stufe zwei.
@Glasfaser said in Test Adapter AlarmControl V0.1.x:
@wawyo sagte in Test Adapter AlarmControl V0.1.x:
@web4wasch
Bitte installiere moment.js
npm install moment --save-prodFrage ... warum soll er es über " npm " nachinstallieren !?
Er hat doch kein Fehler mehr !???dann ist alles in Ordnung
@canim said in Test Adapter AlarmControl V0.1.x:
@wawyo kann doch einfach den datenpunk für rfid Präsens nehmen oder nicht? Baue mir ein Script wenn ich da bin das er ein Objekt auf True setzt und wenn ich wieder dran halte fals, sollte ja so funktionieren oder?
Die nächste Version unterstützt RFID:
@web4wasch said in Test Adapter AlarmControl V0.1.x:
@wawyo Ist die Durchsage dann einmalig nach der eingestellten Zeit? Oder wird die zyklisch wiederholt?
Danke. Ok
Die Durchsage wird zyklisch wiederholt (10 Sek.)
Wenn die Durchsage dich stört, du kannst die Zeit Höhe anpassen -
-
@wawyo geil
-
@wawyo sagte in Test Adapter AlarmControl V0.1.x:
Beispiel:
Unter die Einstellungen (Sprachbefehl zum Ändern der Alarmstufe) du hast "alarm auf stufe" eingestellt (Achtung! Bitte schaust Du in der Historie nach, ob die Eingabe mit dem gesprochenen Satz übereinstimmt).
=> wenn du sagst "Alexa, Alarm auf stufe drei", wechselt der Alarm auf Stufe dreiUnter die Einstellungen (Sprachbefehl zum Ausschalten des Alarms) du hast "ich bin hier" eingestellt.
=> wenn du sagst "Alexa, Ich bin hier", wechselt der Alarm auf Stufe zwei.Das geht nicht , ein manuels ändern der DP auch nicht:
alarmcontrol.0 2020-09-20 00:40:13.125 info (27156) Terminated (NO_ERROR): Without reason alarmcontrol.0 2020-09-20 00:40:13.124 info (27156) terminating alarmcontrol.0 2020-09-20 00:40:13.120 error at processImmediate (internal/timers.js:456:21) alarmcontrol.0 2020-09-20 00:40:13.120 error at Immediate.<anonymous> (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:5388:34) alarmcontrol.0 2020-09-20 00:40:13.120 error at alarmcontrol.emit (events.js:315:20) alarmcontrol.0 2020-09-20 00:40:13.120 error at alarmcontrol.onStateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.alarmcontrol\main.js:2533:37) alarmcontrol.0 2020-09-20 00:40:13.120 error at alarmcontrol.setForeignStateAsync (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\tools.js:1584:16) alarmcontrol.0 2020-09-20 00:40:13.120 error at new Promise (<anonymous>) alarmcontrol.0 2020-09-20 00:40:13.120 error at C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\tools.js:1585:16 alarmcontrol.0 2020-09-20 00:40:13.120 error at alarmcontrol.setForeignState (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:5988:17) alarmcontrol.0 2020-09-20 00:40:13.120 error at validateId (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:482:19) alarmcontrol.0 2020-09-20 00:40:13.120 error (27156) Error: The id is empty! Please provide a valid id. alarmcontrol.0 2020-09-20 00:40:13.120 error (27156) unhandled promise rejection: The id is empty! Please provide a valid id. alarmcontrol.0 2020-09-20 00:40:13.119 info (27156) cleaned everything up... alarmcontrol.0 2020-09-20 00:40:13.119 error at processImmediate (internal/timers.js:456:21) alarmcontrol.0 2020-09-20 00:40:13.119 error at Immediate.<anonymous> (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:5388:34) alarmcontrol.0 2020-09-20 00:40:13.119 error at alarmcontrol.emit (events.js:315:20) alarmcontrol.0 2020-09-20 00:40:13.119 error at alarmcontrol.onStateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.alarmcontrol\main.js:2530:37) alarmcontrol.0 2020-09-20 00:40:13.119 error at alarmcontrol.setForeignStateAsync (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\tools.js:1584:16) alarmcontrol.0 2020-09-20 00:40:13.119 error at new Promise (<anonymous>) alarmcontrol.0 2020-09-20 00:40:13.119 error at C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\tools.js:1585:16 alarmcontrol.0 2020-09-20 00:40:13.119 error at alarmcontrol.setForeignState (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:5988:17) alarmcontrol.0 2020-09-20 00:40:13.119 error at validateId (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:482:19) alarmcontrol.0 2020-09-20 00:40:13.119 error (27156) Error: The id is empty! Please provide a valid id. alarmcontrol.0 2020-09-20 00:40:13.117 error (27156) unhandled promise rejection: The id is empty! Please provide a valid id. alarmcontrol.0 2020-09-20 00:40:13.115 warn (27156) Alarm wurde geändert von Stufe 2 zu 3
-
Hallo,
ich würde den Adapter gerne testen aber ich bekomme dise fehler meldungen:Caught by controller[0]: }
Caught by controller[0]: requireStack: [ '/opt/iobroker/node_modules/iobroker.alarmcontrol/main.js' ]
Caught by controller[0]: code: 'MODULE_NOT_FOUND',
Caught by controller[0]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) {
Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:878:14)
Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:985:32)
Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1137:30)
Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.alarmcontrol/main.js:5:17)
Caught by controller[0]: at require (internal/modules/cjs/helpers.js:72:18)
Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:1025:19)
Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:841:27)
Caught by controller[0]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.alarmcontrol/main.js
Caught by controller[0]: Require stack:
Caught by controller[0]: Error: Cannot find module 'suncalc'
Caught by controller[0]: ^
Caught by controller[0]: throw err;
Caught by controller[0]: internal/modules/cjs/loader.js:968~~~~Wobei ich das paket "moment.js package " eingebaut habe und die Instance nicht startet.
Hat jemand eine Idee?
Danke -
-
@leika241265 ich habe heute vormittag auch den Adapter testen wollen und auch bei mir wurde erst moment-duration-format und dann suncalc moniert obwohl beide im Adapter der JavaScriptEngine als zusätzliche Module ei gebunden sind.
Mir hat nurcd /opt/iobroker npm install moment-duration-format npm install suncalc
geholfen
-
@CKMartens sagte in Test Adapter AlarmControl V0.1.x:
npm install suncalc
Hi, hatte ich eigentlich schon gemacht aber ich habe die pakete noch einmal gelöscht und neu installiert. Nun klappt es.
Danke
-
Hallo zusammen, ich habe heute nach lange Zeit mich beschäftigt mit dem Code
Version 0.2.0 ist Online.
Changelog:
Energieüberwachung hinzugefügt
RFID hinzufügt
Mehrere Bugs fixes.Viel Spaß
PS:
Die Energie Benachrichtigung kann gesendet oder gesprochen werden mit dem Verbrauch.
Beispiel: "Die Waschmaschine ist fertig, die Kosten belaufen sich auf %1 Cent, die Waschmaschine hat %2 Kilowatt Stunden verbraucht."
=> %1 ist die Kosten und %2 ist der VerbrauchBitte, nehmt es mir nicht Übel wenn ich nicht die Fragen nicht sofort beantworten kann..
-
@wawyo sagte in Test Adapter AlarmControl V0.1.x:
Hallo zusammen, ich habe heute nach lange Zeit mich beschäftigt mit dem Code
Version 0.2.0 ist Online.
Changelog:
Energieüberwachung hinzugefügt
RFID hinzufügt
Mehrere Bugs fixes.Viel Spaß
PS:
Die Energie Benachrichtigung kann gesendet oder gesprochen werden mit dem Verbrauch.
Beispiel: "Die Waschmaschine ist fertig, die Kosten belaufen sich auf %1 Cent, die Waschmaschine hat %2 Kilowatt Stunden verbraucht."
=> %1 ist die Kosten und %2 ist der VerbrauchBitte, nehmt es mir nicht Übel wenn ich nicht die Fragen nicht sofort beantworten kann..
Das ich seit Wochen genau dafür einen Adapter am entwickeln bin, ist dir nicht aufgefallen? Soll am Wochenende ins latest
https://forum.iobroker.net/topic/37915/test-adapter-device-reminder-v0-xUnd kurze Frage nebenbei: Was hat sowas mit einer Alarmanlage zu tun?